Page tree
Skip to end of metadata
Go to start of metadata

The following sections are ordered according the steps needed to create a component diagram and describe each creation step in detail.

  1. Assigning the Diagram Name
  2. Defining the Composite
  3. Defining the Frontend Service
  4. Defining the SOAP Service Interface
  5. Defining Backend Aliases
  6. Finishing the Components Wizard

Assigning the Diagram Name

After starting the Components Wizard, the first dialog opens and you are prompted to enter the name of the component diagram.

You may use the suggested default name or enter a descriptive name. Changing the name will change the name of the top most tree node (marked in blue) in the navigation panel.

Click Next to proceed or Cancel to abort.

The Components Wizard can be canceled any time.

After clicking cancel, the Components Wizard prompts for confirmation.

Defining the Composite

In the next step, you will define the service composite. The service composite represents the repository of the Web service and will contain all necessary configuration information.

Clicking Next after assigning the diagram name will bring you directly to the following dialog. Create the service composite here.

Assign a name to the composite. In the field Control Port, enter an unused port number (the value needs to be between 20'000 and 29'999).

Special characters and blanks are not allowed for composite names.

In case the Cancel button was accidentally pressed, the Create new Composite window can be re-opened by clicking the New button.

The Create New Composite dialog contains four more tabs.

On the Advanced tab of this dialog you can

  • configure the compiler as to create a WSDL per service
  • define the WSDL namespace
  • assign a category to the xUML service
  • select whether you want the compiler to resolve class inheritances when generating the WSDL file
    Bridge 7 Using this option is deprecated.
  • Bridge 7 specify a service version
    This service version will be visible in service context on the E2E Bridge.
  • select the SOAP version of the service
  • specify a startup shutdown trace port

For more information on these tagged values refer to Frontend Components .

Specify the test settings here.

  • generateTestService

    Enables or disables testing.

    If true, a test SOAP service will be generated for all <<E2ETestable>> classes.

  • Test Service Name: Defines the name of the generated test service.
  • Test Port: Defines the number of the test service port.
  • Test Encoding:

    Defines the encoding of the test SOAP operations. rpc/soap is recommended, because this matches well with the semantics of UML operations.

    If this value is set and other services of the composite have different encodings, the tag wsdlPerService must be set to true.

  • Test Proxy Host: Specifies the deployment host.
  • Test Proxy Port: Specifies the proxy port the test service is listening to.
  • Test Proxy Protocol: Specifies the used protocol.
  • Test Proxy Path:

    Specifies the part of the overall URL that is mapped to the actual host name and port.

    If this tagged value is used, the modeler must ensure, that this value is unique within the proxy.

  • External Test Proxy Host: Specifies the host name as seen by the client. If a server certificate is used, it must be issued for this name.If this value is not set, the name of the node hosting the proxy is being used.

For more information on testing in general refer to xUML Service Model Debugging, Testing and Quality Assurance (QA) Concepts.

Using Persistent State features in the xUML service, you can make corresponding adjustments on the Persistent State tab configuring the persistent state engine.

  • Workers defines the maximum number of parallel threads used to process pending events. The default setting is 5, which is used if none or 0 workers are configured. The implications of more or less workers are discussed in Performance Considerations of Persistent State.

    Each active worker requires one license slot (concurrent connection) to process activities. For more information on licensing and concurrent connections, refer to License for Running xUML Services.

  • Storage Medium defines where the persisted data and additional information like pending events and current states are kept. See section Data Storage for a discussion of the options.
    When using a database instance as storage medium, make sure to configure components and deployment of the SQL adapter as described in section SQL Adapter.
  • If you are using an external storage medium, you can specify the DB alias in External State DB Alias.
  • Owner specifies the owner of the persistent state objects. Default owner (used when no divergent owner is specified) is the xUML service name, which is unique on each node instance.
  • This flag enables the automatic fail over mechanism for clustered persistent state databases. If the persistent state database becomes inoperative, the E2E xUML Runtime will try to open a connection to compensatory database of the cluster. See also option Switch Over Retry Timeout.

    This option is available for clustered Oracle databases only.

  • During fail over, the E2E xUML Runtime will try to create a new database connection to a compensatory database (see Switch Over Enabled). If this fails, the xUML Runtime will try to open a new connection every second until the timeout (in seconds) is reached. Default is 600 seconds.

For more information Persistent State Components.

Using Java services in the xUML service, you can specify the JVM options here.

  • JVM Options: Java Virtual Machine options. The option strings has one of the following formats: "-D=...", "-X...", "_...", The system properties java.class.path and java.library.path are set by the model compiler and can not be overridden in the model.
  • killJVMThreadsOnShutdown: If threads are still running on shutdown they are killed.
  • Parallel JVM Operations: Number of parallel open JavaVM threads within the runtime. Default: 100. If the limit is reached, the runtime tries for 60 seconds to obtain a free JVM thread. If it does not succeed, an error (JAVAADLM/19) is thrown.

For more information on Java Components refer to Modeling the Java Components.

Click OK to proceed.

Up to this point, you have defined the xUML service component EducationLesson3.

In the customization panel, you will find the new xUML service component (e.g. EducationLesson3) in the list of added composites on the right side.

The left side of the customization panel contains available components, classes, or interfaces. The right side always contains the used components.

Click Next to proceed.

Defining the Frontend Service

In the next step, you define the frontend service that will be part of the xUML service.

Clicking Next after having defined the composite will bring you directly to the following dialog. Add a frontend service here.

Select a service type from the list.

In other cases, e.g. if you want to add additional services, you can open the above dialog by clicking New on Services level of the tree.

All possible frontend service stereotypes are listed:

  • E2EEventObserverService
  • E2EHTTPService
  • E2EJavaService
  • E2ESAPRFCService
  • E2ESchedulerService
  • E2ESOAPService
  • E2ETimerService
  • several ActiveMQ versions
  • GlassFishMQ-4.4
  • Weblogic-10.3
  • WebshpereMQ-6-NoJNDI
  • WebshpereMQ-7
  • XSLTProcessor
  • ApacheFOP
  • Saxon6 and 8
  • Xalan2
  • XalanTrax2
  • UIRepository

This example shows how to define a Web service. Select the service stereotype E2ESOAPService.

Proceed with OK.

Now, customize the service artifact.

  • Assign a Name.
  • Assign a Port, to which the SOAP service is listening (the value needs to be between 10'000 and 19'999).
  • Select an encoding. See Encoding of SOAP Operations for more information on SOAP encoding and the E2E Bridge.
  • Timezone: Time zone string as specified in the time zone appendix. timezone is used to print DateTime expressions.
  • Date Format String: Date formatting code as listed in Date and Time Formatting. If nothing is defined, the XSD standard is used.

The Create New SOAP Service dialog contains two more tabs.

On the Advanced tab, you can specify the following settings:

  • Wsdl Namespace: Specifies the target namespace of the generated WSDL file. This is relevant only, if wsdlPerService in the xUML composite is true (see Frontend Components).
  • Authentication Mode:

    Defines the authentication mode to be used with this SOAP service.

    • If HTTPBasicAuth is used, you define that the service composite authenticates the user. User name and password must then be given in the tagged value user.
      For more details see Basic Authentication with the E2E Bridge.
    • If HTTPRemoteAuth is used, a revers proxy needs to authenticate the user and pass it to the service. The service then expects a set REMOTE-USER HTTP header.
      Typically the Apache reverse proxy is used for that.

    Independent of the authentication mode, the user is found in the principal object if the authentication succeeded.

  • User: Specifies user and password for the use of HTTP Basic authentication.

For detailed information on these tagged values refer to SOAP Service Components.

On the Proxy tab, you can specify the proxy details.

  • Proxy Host: Specifies the host for the proxy deployment. If localhost is used, the proxy will be created on the same host the service is deployed to. Use a dedicated host, if you want to run your proxy on a different host of the same Bridge domain.
    See also externalProxyHost.
  • Proxy Path:

    Specifies the part of the overall URL that is mapped to the actual host name and port.

    If proxyPath is used, the modeler must ensure that this value is unique within the proxy.

  • Proxy Protocol: Specifies the used proxy protocol.
  • Proxy Port: Specifies the port the proxy is listening to.
  • External Proxy Host:

    Specifies the host name as seen by the client.

    • If a server certificate is used, the certificate must be issued for this name.
    • If this tagged value is not set, the name of the node hosting the proxy is being used.

For detailed information on these tagged values refer to SOAP Service Components.

Proceed with OK.

Now, in the component diagram the service component is placed within the service composite component.

In the customization panel on the right, you will find the new service (e.g. QueryProductsService).

Click Next to proceed.

Defining the SOAP Service Interface

In the next step, you will define the interface of the SOAP service. Through this interface, the Web service is accessible from the outside world.

The Components Wizard lists all port type classes on the left. Select a port type and click the button  >  to add the port type to the composite.

In the following dialog, assign a name to the port type or use the default name suggested.

Special characters and blanks are not allowed for component names.

  • Provide a Namespace if necessary.
  • Provide a path, if you want to make this component independent of the package structure. Without a given path, port types are identified by port type name and package URL.

Proceed with OK.

 

In the artifact part oft the customization panel, you will find the added port type QueryProductsPortType.

As an interface can only be used once in a composite, the port type QueryProductsPortType is not displayed anymore in the SOAP Port Types list on the left.

Each port type class (representing the interface of the SOAP service) can only be used once in a composite.

Click Next to proceed.

 

In the Customized Artifacts part of the tree panel, the xUML service is selected again, to give you the option to define further frontend services (see Defining the Frontend Service).

If you do not need any further elements, click Skip.

For definition of Backend Services (Aliases/Resources) see below (Defining Backend Aliases).

For Finishing the Components Wizard see Finishing the Components Wizard.

Defining Backend Aliases

In this step, backend aliases are defined. The Components Wizard provides predefined Backend Components.

Click New to create a new backend alias ...

...or select an existing alias and click > to add it to the component diagram.

For adding a new alias, choose one of the following possible backend service stereotypes:

Backend Aliases
  • FileSystemAlias
  • JMSAlias
  • POP3Alias
  • SAPAlias
  • SMTPAlias
  • SOAPAlias
  • SQLAlias
  • URLAlias

Choose a backend alias stereotype from the list of available stereotypes, e.g. FileSystemAlias and click OK.

Assign a name to the alias or leave the default name suggested.

Specify File Name and Path, or, if you wanted to read data from an imported resource, select the resource from the Resource drop-down box instead.

Click OK.

In right part oft the customization panel, you will find the new file system alias (e.g. ProductCatalog).

Click Next.

Finishing the Components Wizard

This is the final step of the Components Wizard. You need to confirm to draw the component diagram. If the definitions are not complete yet, you may select an element node in the tree panel and add further UML elements to the diagram.

The Components Wizard generates the component diagram. If no errors occurred, it is necessary to save the model. On saving, the deployment data of the E2E Model Compiler gets refreshed and you can proceed with e.g. compiling the model.

  • No labels