What does business process automation with IBM BPM and J2EE provide?


    Overview based on experience developing enterprise systems using J2EE and IBM BPM 7.0 and 7.5.

    This article, as we hope, and the following, will give an understanding of what business customers expect from using the IBM BPM (Business Process Management) platform and what they get as a result.

    And on the other hand, what developers get is simplification or complication of work.



    Introduction

    Getting started with IBM BPM begins with a short introduction. To begin with, we write that IBM BPM is a generic name that combines a number of IBM products from the WebSphere line of business process management products.

    The main ones are (see Figure 2):
    • WAS (WebSphere Application Server) - J2EE Application Server, the underlying software platform.
    • ESB (WebSphere Enterprise Service Bus) is a corporate data bus that hosts all services with business logic.
    • Process Server (WebSphere Process Server) is the platform itself for executing business processes in version 7.0. And in version 7.5, in addition to the Process Server itself, there is also an engine from Lombardi. Their comparison will already be in the following articles.


    What tasks BPM helps to solve

    Over the past few years, we have implemented various types of projects using BPM, mainly in the banking sector.
    Based on experience, you can describe the main advantages of using ready-made solutions from IBM compared to writing "your own solutions":

    1. Visual modeling and execution of business processes.
    2. A set of ready-made components for building flexible business processes: conditions, parallel branches, expectations, events, etc.
    3. User interaction for manual actions (Human Tasks)
    4. Flexibility in reconfiguring business processes.
    5. Manageability of business processes. It is provided by built-in tools, for example, a utility such as Process Choreographer, which makes it possible to monitor running instances of a business process, change their status, and, if necessary, manually change data or even the progress of a specific instance.
    6. Support for transactional business tasks.
    7. Support for versioning business processes.
    8. Stability of work. It is provided by appropriate configuration of servers in the form of a cluster with load balancing. The minimum downtime guarantees of course the configuration of the cluster with all active nodes.
    9. Productivity. Organization of a BPM platform in the form of a cluster gives a good scalability of the system by adding new servers to the system in the form of cluster nodes.


    Architecture


    Architecturally, the interaction of the main BPM components can be represented quite simply, see Figure 3:

    1. WebSphere Process Server:
    • Contains simulated business processes as templates.
    • Launches business process instances based on simulated patterns.
    • Instances of business processes accept data objects (Business Objects) and execute the embedded business logic, while they can access various services through the ESB.

    2. WebSphere Enterprise Service Bus:
    • It contains services with business logic that provide the necessary unified level of access to the required systems and databases
    • ESB Services process and transform input and obtain the required output to solve specific problems.
    • ESB Services can access both external and internal systems and databases.
    • ESB Services, to fulfill the required business logic, can use both ready-made WebSphere ESB components and those created by developers, for example, using Java.


    Development

    The main development is carried out in WebSphere Integration Developer (WID) - since version 7.5, this is already Designer . WID is developed on the basis of Eclipse and allows you to create business processes and ESB services, as well as write and debug code, for example, in Java.

    Additionally, you can use some other IBM tools, such as:

    • WebSphere Modeler for pre-modeling business processes.
    • Portlet Factory for creating visual Portlets.
    • IBM Process Designer is a BPMN process development environment that replaces Lombardi Teamworks.



    The visual part

    To build the visual part of the systems for working with business processes, IBM BPM offers 3 main options, see Figure 5:

    1. Use another IBM solution - WebSphere Portal. Developers can create Portlets for this portal, using part of the already "ready-made" functionality, such as integration with Process Server, ready-made task management controls (Task List), etc.
      This option is most suitable for building a "single corporate portal" in which All workplaces of company users are implemented.
    2. Use WebSphere Business Space. This IBM solution is part of the Process Server and is a web application with a set of predefined widgets for managing business processes. To add new functionality, you can either configure “standard widgets” or create new ones.
      This option is convenient for a quick start at the beginning of work with BPM, but it has a number of limitations and drawbacks during actual operation, such as: slow JavaScript in Internet Explorer, layout of forms only as widgets, etc.
    3. Use the external Process Sever interface (API). The visual part can be developed in any language, framework, platform, and integration with BPM can be realized through the connection of a ready-made and accessible API of Process Server itself.
      This option is most acceptable when adding new forms for managing business processes in an already developed company system with a user graphic interface.



    Conclusion

    In conclusion, I would like to write under what basic conditions, from our point of view, the use of IBM BPM is the most effective:

    1. Using IBM BPM as a single platform for automating the company's business processes. Note: Partial use of BPM can lead to large overheads for both deployment and support of the platform itself.
    2. Creation and development of a corporate data bus (ESB) company to host services with business logic. An important aspect of building an ESB with a Service Oriented Architecture (SOA).
    3. The presence of highly qualified system administrators who can both deploy and support the BPM platform with the necessary level of scalability, resiliency and security.
    4. The presence of highly qualified developers and architects of Java and J2EE. Unfortunately or fortunately, BPM cannot solve all of the company's business tasks by simply configuring or using ready-made components. Therefore, Java developers are necessary to create high-performance and reliable solutions with the required functionality and on time.

    Also popular now: