SOA Gateway Service Creation

Service definitions, and related mapping files (DataViews, XSDs) are created, in a semi-automatic to automatic process (also known as Service Discovery), from meta-data describing the characteristics of resources to be exposed as a Service through SOA Gateway, for example from an Adabas FDT, SQL Table description, Natural sources or even other Web Services.


Initiating Service creation

  1. Administration Perspective

    The Service creation process can be started by selecting the appropriate driver, right-clicking and selecting either Discover Service(s) or Add Service:

    graphics/ccdisc_serv_cr1s.png

    Discover Service(s) will start the discovery wizard and request the specific parameters required for the selected driver type.

    Add Service will ask you to name the service and you can then manually set the various parameters as per your particular system.

  2. Legacy Perspective

    • The Service creation process can either be started from the server's context menu by selecting 'Create new Services':

      graphics/ccdisc01.png

    • or by clicking the 'Create new Services' action button in the title area of the Configuration View:

      graphics/ccdisc02.png

    • The next step is to select the driver to be used as the source.

      There will be a list of defined drivers available, plus a number of special entries, for example <SYSOBJH>, which can be used to create Service(s) from a SYSOBJH unload file containing DDMs, or <3GL> to create a DataView and XSD from a C- or COBOL program or copybook.

      When a driver is chosen select Use Driver to display the Service creation (discovery) dialog.

It may be required to provide login credentials, for example when accessing a SQL database system, this can be done from the server's context menu as well:

graphics/ccdisc04.png

Specify the credentials - User ID and Password - in the SOAP Security section, click Set

Status and error information can be retrieved later on from the SOA Gateway Action Log

Creating Service(s) from Adabas

  • Specify the Database Id (range 1 - 255 on OpenSystems, 1 - 65535 on Mainframe platforms), plus 'File range from' and 'to' file numbers (1 - 5000) to limit the discovery to the selected range. Click the 'Discover' button:

    graphics/ccdisc_serv_cr_adabas.png

    Note:
    Discovering the full range of possible file numbers (1 - 5000) may take substantial time and adversely affect performance of both the SOA Gateway server as well as the Adabas target database. Break the discovery process down to smaller range(s) of files.

  • Select the file(s) to be turned into Services, click the 'Generate >' button:

    graphics/ccdisc_serv_cr_adabas2.png

    Optionally, the Service name can be modified.

  • The Status pane reports on the discovery process:

  • The requested Services and Service definition files (DataView(s) and XSD(s)) have been added to your server configuration or, if not, a suitable error message will indicate the cause of failure.

    Choose Exit to finish or Discover to generate more web services

Assigning a different DataView to existing service

Sometimes it is required to create a web service using the Discovery Wizard, and then assign a different DataView to this service. For example, an Adabas web service discovered with "short names" in the DataView, and a pre-created DataView with "long names" available.

Assumptions:

  • The pre-created (Business)DataView has been imported into the local workspace, and is available in the Navigator View.

    Notes:

    1. The Adabas "long names" DataViews are available on the SOA Gateway Server where Adabas is licensed.
    2. These can be imported using the Legacy Perspective here
    3. These can be imported using the SOA Gateway Administration Perspective here.
  • OR the pre-created (Business)DataView is available on the server already

  • The web service you wish to modify has already been created.

If the above assumptions are OK, follow these steps:

  1. Drag the XRD and XSD (if available) files from the Navigator View.

    graphics/context006s.png

  2. In either perspective, drop the files onto the service you wish to modify

    graphics/context009.png

    OR

    graphics/context007.png

    In the SOA Gateway Perspective a new (Business)DataView can be assigned by dragging it from the respective Views section and drop it onto the service.

  3. Right-click the serverice and select the Refresh function

  4. The WSDL should now reflect the DataView.

Creating Services from a SYSOBJH extract file

  • Start Discovery by right-clicking the Services element on the server you want the DataView(s) to be created

    Select <SYSOBJH> from the 'Select the Source' list and then select the ' Use Driver' button.

  • A step-by-step guide on how to create a SYSOBJH extract file can be found here.

  • Click the 'Generate' button to start the process

  • Select the SYSOBJH file to be used as the input to the creation process, specify if XSD(s) are to be created for the generated Service(s) as well, in addition to the DataView(s).

    graphics/strimp02.png

    A number of options can be specified here

    • defaults to be used when generating Service(s) and DataView(s) based on Adabas files

      • Database Id used when the DDM is defined with a DbId of 0 (zero)

      • Default number of occurrences for MU(ltiple value) fields and PE(riodic) groups

      • Default size of large object (LOB) fields

    • if you wish dashes ('-') in file and element names to be translated to underscores ('_'). This may be desirable where the target programming language used to access SOA Gateway Resources do not accept dashes in field names, an example being PHP.

  • Click the Discover button

  • Select the DDM(s) to be turned into Services, click the 'Generate >' button:

    graphics/strimp03s.png

  • For each DDM selected, which contains MU and or PE fields, a dialog will request you to specify the maximum number of occurrences expected.

    Important:
    The "MaxOcc" accepted by this dialog is 32767, depending on the ADABAS version the actual limit accepted by the database system may be lower (191).

    graphics/strimp04s.png

  • The status pane indicates what has been generated, you can now start the process again or exit the wizard.

    graphics/strimp05s.png

  • The requested Services and Service definition files (DataView(s) and XSD(s)) have been added to your server configuration

  • The Wizard is still active and ready for further discovery, click 'Discover' to start the process again, or 'Exit' to dismiss the wizard.

Creating Service(s) from 3rd party web services

  • Under Services select the Web Services Driver previously added. Right-click and select Discover Service(s).

  • Specify the Web Service URI and click the 'Discover' button:

    graphics/ccdscweb2.png

  • The Status section will display the progress of each stage of the web service discovery and the Service discovery section will display the following information retrieved from the service description:

    graphics/ccdscweb3.png

    Use Select all to choose all operations or select on an individual basis. When chosen click the Generate > button.

  • The Status section will be updated with the progress of the generation process, listing the operations selected and the results for each one. For clarity we have chosen the TopGoalScorers operation.

    graphics/ccdscweb4.png

  • The Wizard is still active and ready for further discovery, click Discover to start the process again, or Exit to dismiss the wizard.

  • The generated web service(s) will be listed under WS Driver.