WebSphere Lombardi Edition 7.2 > Modeling processes > Advanced modeling tasks


Build services

In Lombardi, you can use services to implement the activities in a business process definition (BPD). When a BPD starts and the steps (activities) are invoked, services can perform the required functions. The type of service that you choose to create depends upon the requirements of the activity. For example, If an activity requires integration with an external system, such as a database, you can create an Integration service. If an activity requires that call center personnel enter data about customer requests, you can create a Human service with a Coach.

The following table describes the types of services available in Lombardi:

Service type Description See...
Rule service Use a Rule service when you want a condition to determine the implementation invoked. For example, when a certain condition evaluates to true, Lombardi implements the JavaScript expression that you provide. Rule services cannot include Java or Web Service integrations directly. You can call a Rule service from any other type of service and a Rule service can call other nested services. Build a Rule service
Human service Use a Human service when you want to create an interactive service. A Human service is the only type of service that can contain Coaches and postpones. Human services generate tasks in Lombardi Process Portal.

A Human service is the only type of service that should reside in a non-system lane. And, a Human service is the only type of service that can call other nested Human services.

Build a Human service
Ajax service Use an Ajax service when you want to include a control in a Coach to implement dynamic data selection such as automatically populating drop-down lists and automatically completing edit boxes. An Ajax service can pull data dynamically from a connected data source, such as a database. You cannot call an Ajax service from other types of services, but an Ajax service can call other nested services. Build an Ajax service
Integration service Use an Integration service when you want to integrate with an external system. An Integration service is the only type of service that can contain a Java or Web Service integration. You can call an Integration service from any other type of service and an Integration service can call other nested services. Build an Integration service
General System service Use a General System service when you need to coordinate other nested services or you need to manipulate variable data. For example, if implement data transformations or generate HTML for a coach, you can use a General System service. General System services cannot include Java or Web Service integrations directly. You can call a General System service from any other type of service and a General System service can call other nested services. Build a General System service
See: Advanced modeling tasks


Understand service components

Developers and analysts can build services in the Designer in Lombardi Authoring Environment.

When developing a service diagram in the Designer in Lombardi Authoring Environment, the following tools and components are available from the palette. Not all components are available for each type of service.

Component icon Available with... Description
All service types Enables you to select and move components on the diagram.
All service types Enables you to connect service components to establish the order in which the steps in the service occur.
Integration service only Use to execute an external Web service. This component enables you to supply a WSDL URI and then use any of the available services.
Integration service only Use to call methods from a Java class. You can use the methods to complete tasks like reading or writing files or sending SMTP mail.
Human service only Use to create the interfaces for your Human services. Coaches enable you to easily add the fields, buttons, and other controls to enable end users to participate in a business process. See Build Coaches for more information.
All service types Use when you want to write JavaScript to execute on the Process Server in the service context. The Server Script component is useful for parsing through variables and executing programmatic commands.
Rule service only Use to build conditions for your Rule services.
Rule service only Use to include decision services available on an ILOG JRules Rule Execution Server.
All service types Use to bind blocks of formatted text (for example, HTML, XML, or XSLT) directly to a service variable. This eliminates the need to store large blocks of text in default values for variables.
Human service only Use to change the priority, due date, status, or other aspects of a task. For example, if you want the status of a task to change to Closed each time a user completes a task, you can use this component to properly set the status and move the task into each user's Closed folder in Lombardi Process Portal.
Human service only Use to halt processing without changing the status of a task.
All service types Use to model a point in the process execution where only one of several paths can be followed, depending on a condition.
All service types Use to end service execution. For services that contain multiple paths, each path requires its own end event.

An end event is automatically included each time you create a service.

All service types Use to add information about the overall service or each step in the service to the diagram. Adding notes helps other developers understand your design.
All service types Use to purposely throw an error and end processing. You might, for example, use a Throw Exception component if you return too many rows from a database (over a limit that is normal and would bog down the server).
All service types Use to invoke an Undercover Agent (UCA) from your service.
All service types Use to listen for exceptions from the service component to which it is attached.
All service types Use to indicate a point in a service at which you want Lombardi to capture the run-time data for reporting purposes.

See:

  1. Create a basic custom report
  2. Create a more advanced custom report.
All service types Use to incorporate other services in your current service. Nested services are generally defined to perform specific, repeatable functions such as exception handling routines, integration with outside systems, or data manipulation. Nested services are often used in multiple process applications and likely reside in a toolkit.

Human and Ajax services cannot be nested.

All service types Use to send task-related alerts to Lombardi Process Portal.


Create a service

To create services, you must have access to a process application or toolkit in the Process Center repository. Access to process applications and toolkits is controlled by users who have administrative rights to the repository.

  1. Start Lombardi Authoring Environment
  2. In the Designer view, select the options as instructed in the following table according to the type of service you want:

    Service type Select the plus sign next to... And then select this component from the list...
    Human service User Interface Human Service
    Ajax service User Interface Ajax Service
    Rule service Rules Rule Service
    Integration service Implementation Integration Service
    General System service Implementation General System Service

  3. In the New Service dialog, enter a name for the service and click Finish.

  4. Lombardi Designer displays the diagram of the service with the default Start Event and End Event components.

  5. Continue to build your service as explained in the following topics:

    Service type See...
    Human service Build a Human service
    Ajax service Build an Ajax service
    Rule service Build a Rule service
    Integration service Build an Integration service
    General system service Build a General System service

    You can also use Human services to customize Lombardi consoles and fulfill other requirements


Exposing a Human service

In addition to implementing the activities in a BPD, the Human services that you create in the Designer in Lombardi Authoring Environment can also be used to customize the Process Admin Console or to create a custom project page for Lombardi Process Portal. The exposure settings for a service determine its purpose

  1. In the Designer in Lombardi Authoring Environment, open the Human service that you want to expose.

  2. Click the Overview tab.

  3. In the Exposing section, click the Select button next to the Exposed to field to choose the participant group whose members can view and use the exposed service.

    To create a new participant group to use for this exposure setting, click the New button

    To remove an assigned participant group, click the X icon next to the Expose to field.

  4. In the Exposing section, click the drop-down list next to the Exposed as field and select one of the available options:

    Not Exposed This is the default option and is the setting that you should use for services that implement the activities within a BPD. When this option is selected, the Exposed to setting is not used.
    Administration Service Makes the service available (to members of the selected participant group) as a separate page in the Process Admin Console in the Server Admin capabilities. A new category is added to the menu and that category has the same name as the process application that contains the service. The name of the individual page in the new category matches the service name.
    Startable Service Enables members of the selected participant group to start the service using the New option in the Process Portal Inbox. See Start a new process in Lombardi Process Portal User Guide or online help for more information.
    Project Page Makes the service available (to members of the selected participant group) in Lombardi Process Portal as a custom project page under the My Projects category. The custom project page has the same name as the service that you expose.
    URL Makes the service available from a URL. For example, if you expose a service named MyService, you can access it from the following URL (using the name of the host on which Lombardi Process Center Server or Process Server is installed and the port designated for the server during Lombardi installation; as well as the acronym for the process application in which the service resides):

    http://[host_name]:[port]/teamworks/executeServiceByName

    ?processApp=[acronym]&serviceName=MyService

    If you expose a Human service as an Administration Service, Startable Service, or Project Page, it is also exposed as a URL to members of the selected participant group.

  5. Save your changes.

  6. Exposed services from the current working version (tip) are always available in Lombardi portals and consoles. However, If you want exposed services from a particular snapshot to be available in Lombardi portals and consoles while under development on the Process Center Server, you need to activate the snapshot (version) that you want. Anyone with administrative access to the process application can activate snapshots. For instructions, see Activating snapshots in the Process Center Console. When you install snapshots of process applications on Process Servers in other environments, such as test and production environments, those snapshots are active by default. You can deactivate installed snapshots, change participant group members, and perform other configuration tasks.

  7. Start the appropriate interface to ensure the service is exposed as expected.

Parent topic: Advanced modeling tasks

+

Search Tips   |   Advanced Search