© Copyright IBM Corporation 2006
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Deploying to
WebSphere Process Server and
WebSphere Enterprise Service Bus
Unit objectives
After completing this unit, you should be able to:
● Describe the runtime architecture of WebSphere Process Server and WebSphere ESB
● Explain how WebSphere Process Server and WebSphere ESB support high availability and workload management configurations ● Identify the key differences between WebSphere Process Server,
WebSphere ESB runtime environments, and their administration ● Perform basic administration functions
● Deploy and enterprise application (with a business process model) to WebSphere Process Server
● Deploy mediation services to WebSphere Process Server ● Describe the role of BPC Explorer in the administration of
business processes
Runtime overview
After completing this topic, you should be able to:
●Describe the WebSphere Process Server and WebSphere ESB architecture
●List the runtime services and resources in WebSphere Process Server and WebSphere ESB
WebSphere Process Server and WebSphere ESB
architecture review
WebSphere Application Server (J2EE runtime)
SOA Core Service Component
Architecture Business Objects Common Event Infrastructure Interface Maps Business Object Maps Relation-ships Supporting
Services Mediation FlowsMediation Flows
Human Tasks Human Tasks Business State Machines Business State Machines Business Rules Business Rules Business Processes Business Processes Service Components Selectors Adapters
WebSphere Process Server runtime environment
overview
REPOSITORY
RELATIONSHIP
WebSphere Application Server V6 (J2EE1.4)
WebSphere Process Server V6 (WPS)
Human Tasks Human Tasks Business State Machines Business State Machines Business Rules Business Rules Business Processes Business Processes Service Component Architecture Business Objects Common Event Infrastructure Interface Maps BO Maps Relation-ships Mediation Flows Mediation Flows WPS DB BPE DB SCA.<nodeName>.Bus SCA.SYSTEM.Bus ProcessChoreographer.Bus CommonEventInfrastruc ture_Bus ME ME ME ME Administration WAS Core Administrative functions BPE Web Client Business Rule Manager CEI Event Viewer Relationship Manager WBI Failed Event Manager Tivoli Performance Viewer Admin Console Administration Core Command Line Ant JMX
*Each SIBus has its own SDO repository (which is not listed here)
*Schema which is used for WPS DB and repository DB is same (WPSDB is for DB2 and REPOSITORY for cloudscape) EVENT
WebSphere Process Server runtime environment
resources
●The Service Integration Bus (or SIBus) defines the messaging resources provided by WebSphere Application Server V6
– Default messaging provider
– Provides messaging infrastructure for messaging and service-oriented
applications
– A fully JMS 1.1 compliant JMS provider
• Reliable message transport
• Can also support intermediary logic to adapt message flow in the network
– Supports the attachment of web services requestors and providers, as
well as integration with WebSphere MQ
– Capitalizes on WebSphere Application Server services
• Security
• Administration
• Performance monitoring
Topic summary
Having completed this topic, you should be able to:
●Describe the WebSphere Process Server and WebSphere ESB architecture
●List the runtime services and resources in WebSphere Process Server and WebSphere ESB
Configuring for high availability
After completing this topic, you should be able to: ●Describe the topology options for high availability
●List WebSphere Process Server runtime facilities for high availability
Sample production topology
ESB server
IHS LDAP
WAS
serverWAS serverESB
serverWAS server Administer/Observe Web projects WPS DMGR WPS server WPS server WPS serverWPS server WPS serverWPS server Workflow Human Task CEI WPRCSDB CEI DB BPEDB ME DB WPS serverWPS serverWPS server Services Messaging WAS server WAS server ESB DB Mediation ESB server
WebSphere Process Server runtime environment
●WebSphere Process Server V6.0 is built on top of WebSphere Application Server ND 6.0.1
– The clustering capability is available, but installation and configuration of a cluster will also involve one or more WebSphere Process Server specific components
• Scheduler
• Business Process Engine (optional)
• Business Rule Manager (optional)
• CEI Server (optional)
• Enabling SCA capabilities (optional)
• Set WPS specific WAS variables.
●With WebSphere Process Server V6.0.1 on top of WebSphere Application Server ND 6.0.2
– When creating a new cluster, additional panels are provided in the admin console, to create the WebSphere Process Server specific components.
• Component specific databases are not created.
Advanced configuration wizard
There are many possible topologies, given the collection of WebSphere Process Server components and their associated databases and the Messaging Engines:
●Vertical or horizontal scaling
●Databases – remote or local
Creating and configuring clusters
●The strategy is to create and configure a server cluster with one cluster member, and then grow the cluster by adding additional servers.
●When creating a cluster, there are three default templates to chose from:
– Default – WebSphere Application Server (can be used for Message
Engine clusters).
– defaultESBServer – WebSphere ESB server.
– defaultProcessServer – WebSphere Process Server (can be used with
application clusters).
●Configuring the cluster will depend on the kind of cluster
– Messaging Engine cluster (a messaging server).
– Application cluster (a messaging client).
WebSphere Process Server administrative
interfaces
●WebSphere Administration console
– Browser based web application
– Used to monitor, update, stop and start applications, services and resources
●Business Process Choreographer (BPC) Explorer
– Browser based web application that provides a basic set of administrative functions for managing business process and human tasks
– View process templates and process instances
– Repair and restart failed activities
– Manage work items
– Delete completed process and task instances
●Scripting (wsadmin)
– Non-graphical command interpreter environment
– Supports the same tasks as the administration console
– Intended for production environments and unattended operations
●Command-line tools
– WebSphere Process Server adds the serviceDeploy command
• Processes .jar, .ear, .war and .rar files exported from WID, preparing them for installation in WPS
●Administrative programs
– JMX classes and methods for administering Service Component Architecture (SCA) and business objects
Topic summary
Having completed this topic, you should be able to: ●Describe the topology options for high availability
●List WebSphere Process Server runtime facilities for high availability
Business Process Configuration
After completing this topic, you should be able to:
●Describe Business Process Choreographer configuration ●Describe the Business Flow Manager
●Describe the Human Task Manager
●Configure staff plug-ins and business process containers ●Identify the role of the business process container (BPC)
Business Process Choreographer configuration
●The Business Process Choreographer is made up of two components.
– Business Flow Manager
– Human Task Manager
●BPC is compliant with
– WS-BPEL 2.0
– Service Component Architecture SCA and business objects (SDO)
●Extended staff support through the Human Task Manager. ●Enhanced BPC Explorer based on JavaServer Faces (JSF)
components
●Monitoring enhancements to support end-to-end monitoring across all WebSphere Process Server components
Business Flow Manager
●Provides runtime container for running interruptible and non-interruptible BPEL processes.
●Persists state of interruptible processes and supports resuming a waiting process.
●Allows business processes to be created, suspended, resumed and additional messages sent into existing process instances. ●Provides a set of public APIs for interacting with business
processes.
●Supports business process called as SCA components or through APIs.
Human Task Manager
●Provides a runtime container for managing human tasks and work items with different permissions.
●Allows human tasks to be created, completed, claimed, transferred, escalated, suspended and resumed.
●Provides a set of public APIs for interacting with human tasks. ●Supports human tasks called as SCA components or through
Human Task Manager configuration
● A human task container provides services to run human tasks within an application server
– In the admin console, click Servers Æ Application Servers Æ server_name
ÆHuman Task Container
● Human Task Container installation wizard
– Used to install and configure the human task container
– Once the container is configured, only logging options can be changed
– For other changes, remove the existing human task configuration and create a new one
Staff plug-in configuration
● A staff plug-in is responsible for retrieving user information
– Used by BPC to determine who can start a process or claim an activity or a task
Business process container configuration
●A business process container provides services to run business processes within an application server
– In the admin console, click Servers ÆApplication Servers Æ
server_name Æ Business Process
Container
●Business process container installation wizard
– Used to install and configure the business process container
– Once the container is configured, only logging options can be changed – For other changes, remove the
existing BPC configuration and create a new one
Business process container (BPC) Explorer
●The business process container (BPC) Explorer can be used to start and work with business processes and human tasks.
– View installed process templates.
– View, Start, Terminate, Delete, Compensate and Retry process instances. – Launched with http://hostname:9080/bpc.
●Constructed from reusable JavaServer Faces (JSF) components
Topic summary
Having completed this topic, you should be able to:
●Describe Business Process Choreographer configuration ●Describe the Business Flow Manager
●Describe the Human Task Manager
●Configure staff plug-ins and business process containers ●Identify the role of the BPC Explorer
Deploying business applications and mediation services After completing this topic, you should be able to:
●List the steps involved in deploying business applications and mediation services
●List the steps for uninstalling business applications and human tasks
●Understand the usage of the serviceDeploy command
●Compare WebSphere Process Server and WebSphere ESB runtime and administration differences
● For business modules and mediation modules exported as EAR files
1. Open the WebSphere Administrative console.
2. Select Applications > Install New Application.
3. Specify the location of the exported EAR file in the local file system.
4. Click Next.
5. Accept the default settings for bindings and select Next.
6. Verify the settings for the enterprise application and proceed to the summary step.
7. Click Finish to install the enterprise application.
Deploying business modules using serviceDeploy
● The serviceDeploy command prepares an EAR file from a JAR or ZIP that contains service components
– You can also use the Integration Module wizard to generate an
installable EAR rather than following this intermediate step.
● The example below performs the following tasks:
– Take service components from a project interchange file or
command-line deployment file named Widget.zip
– Generate an installable EAR file named Widget.ear
– Keep the temporary files generated during deployment.
– Defer enterprise application deployment to the application server.
Uninstall business processes and human tasks (1 of 3) 1. Stop all process and task templates in the application.
a. From the WebSphere Administrative console, select Applications >
Enterprise Applications
b. Select the enterprise application representing the business integration module
c. Under Related Items, select
EJB Modules.
d. Select the EJB module in the enterprise application
e. Select the business processes link and stop all process templates.
f. Select the human tasks link and stop all human task templates.
Uninstall business processes and human tasks (1 of 3) 1. Stop all process and task templates in the application.
a. From the WebSphere Administrative console, select Applications >
Enterprise Applications
b. Select the enterprise application representing the business integration module
c. Under Related Items, select
EJB Modules.
d. Select the EJB module in the enterprise application
e. Select the business processes link and stop all process templates.
f. Select the human tasks link and stop all human task templates.
Uninstall business processes and human tasks (2 of 3)
2. Remove all business processes instances and human task instances before uninstalling the business process template or task template.
a. To list all business process instances, select the process template from the BPC Explorer and select Instances.
b. To list all task instances, log into the BPC Explorer as an administrator and select Administered By Me under Task Instances.
Uninstall business processes and human tasks (3 of 3)
3. Stop the business module with the business process or human task.
a. From the WebSphere
administrative console, select Applications >
Enterprise Applications.
b. Select the enterprise application representing the business
integration module.
c. Select Stop. If this step fails, verify that all process and task instances have been deleted before retrying this step.
d. Make sure that the business module status reports stopped.
WebSphere Process Server and WebSphere ESB runtime and administration differences
●Business processes can only be deployed to WebSphere Process Server.
●Mediation services can be deployed to both WebSphere Process Server and WebSphere ESB.
●Some administrative console views are only available in WebSphere Process Server.
– Business process contain settings.
Topic summary
Having completed this topic, you should be able to:
●List the steps involved in deploying business applications and mediation services
●List the steps for uninstalling business applications and human tasks
●Understand the usage of the serviceDeploy command
●Compare WebSphere Process Server and WebSphere ESB runtime and administration differences
Common event infrastructure basics
After completing this topic, you should be able to:
●Identify the role of the Common Event Infrastructure (CEI) ●Describe the architecture of CEI
●List the products that work with the CEI ●List event sources
●Describe event correlation
●List predefined events for business processes
●Configure event monitoring levels for business processes ●Describe the CBE browser
●Configure CEI monitoring and resources ●Monitor SCA performance
●The common event infrastructure (CEI) provides a framework for publishing and capturing events.
– CEI distributes events to registered consumers and persists them for retrieval at a later time
– The infrastructure allows administrators to perform the following tasks: • Track application progress through audit trails.
• View the performance of an entire system through performance indicators. • Monitor business and application exceptions.
• Troubleshoot application failures.
●CEI relies on the common base event (CBE) specification for a standard event message format.
– CBE describes the following event information: • The situation in which the event occurred • The identity of the affected component • The identity of the component that reported
Monitoring business transactions
●CEI and CBE provide the framework for a complete line-of-business monitoring solution
Where do events occur?
●Events can occur at many layers of an SOA system,
including services, applications and runtime environments
– All artifacts in an SCA module can emit CEI events
• Components, exports, imports, references, interfaces and wires can create events during entry, exit or fault conditions
– Arbitrary Java code can create events using an event emitter service
Event correlation
●As events flow through the server, the runtime environment creates a unique session and propagates it to SCA components
– These unique session identifiers are added to generated events
• The event correlation sphere (ECS) manages a group of interrelated events – Monitoring applications can correlate events from different SCA components to the
Generating events from business processes
1. Open a business process in IBM WebSphere Integration Developer V6.
2. In the properties view for the entire process, select the server tab.
Generate events from business modules
1. Open an assembly diagram in the assembly editor for a business module.
2. Select a business integration component in the assembly editor, such as a
business process.
3. In the Properties view, switch to the Details tab and expand the interfaces
list in the details pane.
4. Select an interface to monitor and click the event monitor tab in the details
pane.
5. Choose to monitor operation entry, exit or failure events for the business
Configuring CEI monitoring
● Enable event generation at runtime through the WebSphere administrative console
– Before dynamically enabling event generation, make sure the
diagnostic trace service is running
– Change the Log Details Level in the Logging and tracing section of
the application server
– Events can be published to the system logger or the CEI bus.
– All process server events that can be logged are listed under the
components with the prefix WBILocationMonitor.LOG or
WBILocationMonitor.CEI.
• For example, the following lines generate an event when the engine begins
to execute the invoke activity in the CustomerBilling process:
– WBILocationMonitor.LOG.bpe.widget.CustomerBilling.Invoke._12.ENTRY
– WBILocationMonitor.CEI.bpe.widget.CustomerBilling.Invoke._12.ENTRY
• To generate an event for an entry, exit, or fault event in the SCA runtime
environment, select the following entries:
– WBILocationMonitor.LOG.SCA.*
Enable event monitoring for business components
1. Open the administrative console.
2. Expand Servers and select
Application Servers from the left
navigation bar.
3. In the right frame, click your server
name link.
a. Under the Containers Settings section, expand Business process container
settings.
b. Select Business process container.
c. Select the Enable Common Event
Infrastructure logging check box.
d. Select the Enable audit logging check box.
Managing WebSphere Process Server failed events
●An event is a request that is received by a WebSphere Process server application.
– From an external source, such as an inbound application adapter or from and external invocation to a web service.
– If the business logic in one of the branches of execution cannot execute do to system failure, component failure or component unavailability, the event moves into the failed state.
●An administrator uses the failed event manager available in the
administrative console to browse and manage all WebSphere Process Server failed events.
– Common tasks for managing failed events include:
• Browsing all failed events
• Searching for failed events by specific criteria
• Editing data for a failed event
• Resubmitting failed events
Viewing SCA component performance
●Service components are instrumented with Performance Measurement Infrastructure (PMI) hooks to monitor performance of synchronous invocations
– Asynchronous calls can not be monitored
●Enabled with steps identical to other components
– Enable PMI on component
– Indicate which PMI information should be displayed in the viewer
●Viewable through the Tivoli Performance Viewer
– Available through the – administrative console
●Not meant as a long term enterprise monitoring solution
Problem determination
●Problem determination techniques are identical to those applied for WebSphere Application Server and WebSphere Process Server
●For information about the execution of a mediation flow, the following trace specification is of use:
– com.ibm.ws.sibx.scax.mediation.*=fine
●For more detailed problem determination, use the following trace specifications:
– com.ibm.websphere.sibx.*=all
– com.ibm.wsspi.sibx.*=all
Topic summary
Having completed this topic, you should be able to:
●Identify the role of the Common Event Infrastructure (CEI) ●Describe the architecture of CEI
●List the products that work with the CEI ●List event sources
●Describe event correlation
●List predefined events for business processes
●Configure event monitoring levels for business processes ●Describe the CBE browser
●Configure CEI monitoring and resources ●Monitor SCA performance
Who does what?
Cares how the process application works effectively
May want to change some at runtime (for example, rules)
Business User System Administrator
Purely focuses on system management
Process Application System Administrator
Focus on health of application execution Installs/Uninstalls Applications
CEI Event Viewer Relationship
Manager
WBI Failed
Event Manager Business RuleManager Tivoli Performance Viewer Administrative Console Add, change delete business Rule which is defined previously Capture/view every events as Event Consumer. 3 views (processes/ Data/Server) Able to Filter Check SCA component performance Web Interface Resource setting Application Install/Un-install
Application Start /Stop
Configuration change Other settings Selector Query for failed events Resubmit with detailed logging enabled Delete Query and manage relationship schema and instance 9080 9080 9060 9060 BPC Explorer Start Process Process Control View tasks and escalation Claim, Complete Transfer, Create Sub tasks and follow on
Unit summary
Having completed this unit, you should be able to:
● Describe the runtime architecture of WebSphere Process Server and WebSphere ESB
● Explain how WebSphere Process Server and WebSphere ESB support high availability and workload management configurations ● Identify the key differences between WebSphere Process Server,
WebSphere ESB runtime environments, and their administration ● Perform basic administration functions
● Deploy and enterprise application (with a business process model) to WebSphere Process Server
● Deploy mediation services to WebSphere Process Server ● Describe the role of BPC Explorer in the administration of
business processes
● Describe CEI and the support for monitoring CEI events within WebSphere Process Server and WebSphere ESB
WebSphere Process Server configuration
information
Identifies configuration information for core WebSphere Process Server configurations, including the Artifact Loader service, Events service and Business Context Data service.
server-core.xml
Configures application deployment settings for a business process container.
deployment-bpc.xml
Defines operating environment resources for a Business Process Choreographer container, including configuration information for Staff Plugin providers. This files is present at the cell, node and server scopes
resources-bpc.xml
Identifies a Business Process Choreographer container and its components, which include the Business Flow Manager, Human Task Manager, Staff service and Service
Reference service. server-bpc.xml
Identifies a cell. This file is used to store the Relationship service configuration, and is only present at the cell scope
cell-wbi.xml
Defines operating environment resources for WebSphere Process Server and is present at the cell, node and server scopes. This includes Extended Messaging providers and
WebSphere Business Integration Adapters. resources-wbi.xml
Identifies a process server and its components, including Adaptive Entity service,
Extended Messaging service and WebSphere Business Integration Adapter service. server-wbi.xml
Description Configuration file
WebSphere Adapter installation overview
Steps to install an application with an embedded adapter:
1. Install the application following the steps in Installing a new application.
● In the Map modules to servers step, specify target servers or clusters for each RAR file.
● Be sure to map all other modules that use the resource adapters defined in the RAR modules to the same targets.
● Also, specify the Web servers as targets that serve as routers for requests to this application. The plug-in configuration file (plugin-cfg.xml) for each Web server is generated based on the applications that are routed through it.
2. Save the changes. Click Finish > Save.
3. Create connection factories for the newly installed application
a. Open the administrative console.
b. Select the newly installed application Click Applications > Enterprise
Applications > application name.
c. Click Connector Modules in the Related Items section of the page.
d. Select the RAR file. Click filename.rar
e. Click Resource adapter in the Additional Properties section of the page.
f. Click J2C Connection Factories in the Additional Properties section of the page.