programming4us
programming4us
WEBSITE

Separating BPM and SOA Processes : Disputes on the Model Stack

- Free product key for windows 10
- Free Product Key for Microsoft office 365
- Malwarebytes Premium 3.7.1 Serial Keys (LifeTime) 2019
The following diagram shows the main components of the ACMEBank architecture to support the disputes process:

There are two partners in this architecture, both of which are external to ACMEBank and communicate with it by SOAP over HTTP. The partners are the dispute network (which connects ACMEBank to both merchant banks and the VISA association) and the customer channel (a self-service web interface that allows customers to raise and update disputes). These partners communicate with ACMEBank's orchestration processes through the ESB. MOM queues sit between the ESB and the orchestration processes. The ESB places requests originating from partners on a queue which is read by the orchestration process; when the process responds, it places a message on a queue, which the ESB picks up and sends back to the partners over HTTP.

The orchestration processes use BPM processes to manage the operational review activities. They also interface with two databases: the account database (to post conditional credits) and the dispute database (which keeps the state of current disputes).

The following figure sketches the interactions between processes in a typical BPM-based implementation.



In this design, there is a single BPM process which manages the overall flow of events. The BPM process can inherently manage whatever manual work needs to be performed, but it uses orchestration processes to perform automated tasks and to communicate with partners.

There are three types of orchestration processes in the BPM-based approach: inbound, outbound, and internal services processes. Inbound processes are responsible for receiving events from partners and injecting them into the controlling BPM process. An inbound event can either create a new instance of the BPM process or update an existing instance. The inbound orchestration process understands the difference and uses a different method to start an instance than to update an instance. Outbound processes send events to partners on behalf of the BPM process. Internal service processes perform services, such as updating databases and interfacing with the mainframe, that the BPM process, with its limited integration capabilities, cannot perform.

There are two sets of ESB processes, one to handle inbound messages (that is, messages coming from partners), and the other for outbound messages (that is, messages sent to partners). ESB processes perform simple transformation and routing. When an inbound ESB process receives a message, it decides where to route it internally. In effect, the ESB process decides which orchestration process should handle the message and sends the message to the queue on which that process listens. When an outbound ESB process receives a message (which comes from an outbound orchestration process), it decides which partner should receive the message and routes it there accordingly.

The next figure sketches the SOA-based approach:


In this design, it is an orchestration process rather than a BPM process that controls the end-to-end flow. The orchestration process sends messages to its partners through ESB outbound message flows. It receives inbound events from inbound ESB flows. These events can either start a new instance of the orchestration process or update an existing process. It is the responsibility of the ESB message flow to route these two types of requests differently. Like the BPM process in the BPM-based design, the orchestration process is fundamentally event-driven; it requires the ability to listen for events during the course of its execution. Chapter 4 discusses in detail how this routing works.

There is no requirement for internal service processes in the SOA-based approach. The controller orchestration process performs integration services as part of its larger execution. Granted, it might separate these out into reusable processes, but this is not an essential part of the design.

When the orchestration process needs to perform manual work, it calls on a BPM process to oversee that work. There is one BPM process instance for each manual task that is performed. As manual tasks need some time to complete (perhaps hours, days, or longer), the BPM process is responsible for notifying the orchestration process when the task is complete and to indicate its outcome.

Other  
 
Top 10
Free Mobile And Desktop Apps For Accessing Restricted Websites
MASERATI QUATTROPORTE; DIESEL : Lure of Italian limos
TOYOTA CAMRY 2; 2.5 : Camry now more comely
KIA SORENTO 2.2CRDi : Fuel-sipping slugger
How To Setup, Password Protect & Encrypt Wireless Internet Connection
Emulate And Run iPad Apps On Windows, Mac OS X & Linux With iPadian
Backup & Restore Game Progress From Any Game With SaveGameProgress
Generate A Facebook Timeline Cover Using A Free App
New App for Women ‘Remix’ Offers Fashion Advice & Style Tips
SG50 Ferrari F12berlinetta : Prancing Horse for Lion City's 50th
- Messages forwarded by Outlook rule go nowhere
- Create and Deploy Windows 7 Image
- How do I check to see if my exchange 2003 is an open relay? (not using a open relay tester tool online, but on the console)
- Creating and using an unencrypted cookie in ASP.NET
- Directories
- Poor Performance on Sharepoint 2010 Server
- SBS 2008 ~ The e-mail alias already exists...
- Public to Private IP - DNS Changes
- Send Email from Winform application
- How to create a .mdb file from ms sql server database.......
programming4us programming4us
programming4us
 
 
programming4us