Architecture of Natural Business Services

Using Natural Business Services, you can create all the components of a business service, including Natural object subprograms that perform maintenance and browse functions and GUI dialogs or web pages that communicate with the object subprograms. Communication between server and client components of an application is performed by a combination of EntireX and Natural RPC (or EntireX configured to use TCP/IP), as well as Natural Business Services middleware components. The middleware components encapsulate calls to EntireX on the client and server. The following diagram shows the architecture of character-based Natural applications and business service components:

graphics/nbs-architecture.png

This section describes these components according to the platforms on which the components run.


Server Components

This section describes the server components for Natural Business Services. The following topics are covered:

Required for Development

The following table lists the components required for development purposes:

Component Description
Natural subprograms Subprograms written in Natural that do not contain user interface code (for example, WRITE, DISPLAY, PRINT, INPUT, and REINPUT statements) or navigation code (for example, PF-key processing). They can be existing Natural subprograms or they can be wizard-generated in NaturalONE. Existing subprograms can be wrapped together so one server subprogram accesses more than one subprogram. The Business Service wizard can wrap the subprograms it generates, as well as use Natural Construct models internally to generate subprograms that perform maintenance and browse functions on the server. The wizard chooses the appropriate model based on criteria the user has selected. These models are: Object-Browse-Subp, Object-Maint-Subp, Object-Browse-Select-Subp, and Object-Generic-Subp.

Notes:

  1. The Object-Browse-Select-Subp model has the same type of functionality as the Browse-Select model, but is designed for a client/server environment where only n rows are processed at a time.
  2. The Object-Generic-Subp generates a business service that uses more than one pre-existing subprogram.

The same set of business objects can be accessed from character-based Natural applications, client/server applications, and web applications. This ensures that the integrity of business data is preserved, independent of the presentation layer, and existing code can be preserved.

Character user interface (optional; only used at sites that access the business service from a 3270 client) Non-distributed Natural applications created with Natural Construct accessing subprograms directly (for example, subprograms generated by the Object-Maint-Dialog model).

Required at Runtime

The following table lists the components required for runtime purposes:

Component Description
Business Service Administration subsystem Server subsystem that allows system administrators, application administrators, and developers to set up and manage system and application environments.

Note:
Although this subsystem also provides access to the Business Service repository, we recommend that you use NaturalONE to access the repository. Only system environment options will be discussed from the server perspective.

EntireX Runtime component that transfers messages between Windows or the web server and the Natural environment. EntireX can be configured to use either native TCP/IP or Entire Net-Work as the transport layer.

EntireX performs the following runtime functions:

  • Encrypt and decrypt data (set in the Broker attribute file)

  • Compress and decompress data (set in the Broker attribute file)

  • Translate data (handled automatically and has defaults you can customize)

Note:
As this component is separate, it can be used without Natural Business Services and may already be installed. It is a required component for the Natural Business Services system environment.

Natural RPC server Server that provides a common interface and EntireX services for Natural subprograms in the application. The main functions of the Natural RPC server are to:
  • Receive requests from the client through EntireX

  • Optionally decompress and/or decrypt and translate the request message from the client's character set (ASCII) to the server's character set (either ASCII or EBCDIC)

  • Check security to ensure that the client is permitted to issue the request

  • Optionally compress and/or encrypt the message to be returned

Business Service repository Directory structure containing the business service metadata, such as domains, descriptions, methods, method descriptions, as well as security access to these services and methods.

Client Components

You can create business services with NaturalONE's Service Development plug-in. The plug-in links to Natural Business Services from NaturalONE. Using the plug-in, you can configure the business service connections, search for business services, and invoke the wizards.

Component Description
Business Services menu Menu used to perform tasks such as the following:
  • Create new business services, domains and steplibs

  • Add metadata to Centrasite

Natural Server view Tree view of the business repository. You can perform tasks such as the following:
  • View current business services, domains and steplibs

  • Add (download) definitions to an existing NaturalONE project in the workspace

Preferences You can define preferences such as:
  • Define generation, upload and download settings

  • Set up Centrasite connections

  • Define UI interactions depending on product installations

Business Service wizard Creates new business service definitions in the local workspace.
Domain and Steplib wizards Creates domain and steplib definitions in the local workspace.
Java wizard Creates Java classes to access your business service from the client.
Web Service wizard Creates Java classes and Web services definitions.
Security view Used to inspect and update NBS security definitions.