As discussed in the preceding article on SOA and BPM, BPM formalizes and automates the company’s business processes, including both users and applications in the same process. This article looks at how it interacts with applications. Since 2006, W4 has offered two separate but complementary modules as part of its BPM suite:
W4 SystemFlow
This is a true graphical integration module, with a series of functionalities delivered via configurable business components. The complexity of the integration is masked by simple graphical interfaces, which ask just for the parameters that determine access to resources within the information system.
Connector server
This authorizes access to libraries of components that meet specific business needs, and are tightly coupled to internal applications. This solution reuses existing application code, by encapsulating it in dedicated classes on the connector server, for the Java and .NET environments. Since existing code no longer needs to be rewritten, development and deployment are faster.
The implementation of this type of solution using W4 BPM Suite is discussed below. To do so, we’ll describe integrating a sample of widely-used applications based on the processes:
- Sending/Receiving mail
- Interacting with databases
- Interacting with an in-house application
- Exposing and calling a Web service
Sending/Receiving mail
- W4 SystemFlow has a standard component that can both send and receive mail. It can also monitor a mail box and initiate a process when a message is received, making it easy to launch a process when you receive an email. For instance, you could initiate a customer-complaint procedure each time the account (contact@domain.com) receives a message.
- The connector server offers a sample connector for sending mail. This is a generic .Net or Java class that issues a sendmail command using parameters included in the process’s execution context. This connector is offered as a system agent (for those unfamiliar with BPM Suite 2006, this means it runs automatically) with a distinctive image that may be defined as a stage in a process definition. Although it fulfils a technical role, the connector server may also be used to leverage development work and can offer connectors that may be configured directly in W4 Studio (process-modelling tool).
Interacting with databases
Mapping and converting data is easy with W4 SystemFlow’s Data-Mapper. This component has a wizard allowing you to reference most of the databases on the market. A database is defined as either a data source or a data destination. You use an Assistant to generate the SQL request (to select, update or delete data) and the appropriate mapping mechanism then links the data to any other referenced data source (such as a database, flat file, XML file or Web service), or to data output in the execution context.
Interacting with an in-house application
If you have code that interacts with an existing application, you can reuse it very simply and easily – without reinventing the wheel. You do so using the connector server, which can reference Java and/or .Net classes that encapsulate the business code. The connector server also has a solution making it easy to reuse components, so you can leverage your previous investment.
Exposing and calling a Web service
W4 SystemFlow's WebService component has two functions, depending on whether you want to expose functionality as a Web service (e.g. create a new folder, or terminate a task because of some external event, etc.), or alternatively, invoke a Web service during a process:
- Web-Service Creation Assistant: You use this component to generate a skeleton Web service using an Assistant, in two stages: you define the service name, then the transaction name. The Web service thus generated takes an XML file as input and outputs another XML file. You can modify the structures of the input/output XML files to change the behaviour of the Web Service without any formal development work. Exposing a process as a WebService becomes simplicity itself.
- Assistant invoking an existing Web service: You simply supply the access path (URL/URI) to the WSDL (Web Service Description Language) and specify the type of transaction to call from the transaction list displayed by the Wizard.
It is clear from these examples that the W4SystemFlow modules and the connector server in W4 Workflow Engine offer integration features that are eminently practical. Their key advantages are that they are easy to implement and work using the existing application base. W4 SystemFlow offers business components that are packaged and ready to go. The connector server lets you use your existing application code and build up your connector library.
|