BPMS provides a new technology platform that takes the modeland metrics defined by the business and turns it into an executable implementation.This platform automates the human workflow, integrates data between disparatebackend systems, and executes the business rules, controlled by the processmodel. And while it’s executing the business process, BPMS continuously recordssnapshots of data that allow the process to be not only measured end-to-end,but monitored in real time, and corrected easily when the need arises. BPMS is not an application. It does not replace NAVSUP’sexisting enterprise applications. It merely automates the process logic thatconnects application systems, databases, and human tasks in thecross-functional business processes that NAVSUP needs to manage andimprove.
BPMS provides an integratedsuite of components that include modeling, executable design, workflow automation,business rule management, application integration, and performancemanagement. Desired BPM capabilities forNAVSUP are listed in the following sub-sections.2.
1 ModelingA process is made up of a series of activities. An activitycan be considered as a conceptualization of a task (either machine- orhuman-based), or a transaction (the passing of data from one point to another).Therefore, a process is a super-set of activities, not the individualactivities themselves. Processes are large, often long-running andcomplex.
BPMS provides a processmodeling environment that is used to build, execute,manage, report, and optimize decision-intensive applications. It provides agraphical and rapid solution development environment, execution engine, and managementdashboard. Business analysts can design, and model process flows visually, andquickly access the most granular levels of the application to review rules anddependencies within the same graphical interface. BPMS automates and executes tasks and providesself-monitoring to identify bottlenecks and track performance against setgoals. Process models are abstract in that activities are not boundto an implementation. They provide many functions valuable to NAVSUP:· Capture of existing process flow in a structureddiagrammatic notation often associated with a methodology, to indicate lines ofvisibility between collaborating organizations or systems.· Diagramming new or modified processes using BPMN 2.
0, whichassociates resources, processing time, cost, inputs and outputs with eachprocess activity.· Simulation of process performance based on various scenariosof instance volume, resource allocation, branching ratios at decision points inthe flow, and other process parameters.· Analysis and reporting of expected average cycle time(service level), throughput, and cost for various scenarios, and optimizationof the parameters.· Documentation of the process in some exportable format.2.2 RepositoryFundamental to BPMS’s promise is the understanding that processeschange overtime, either in response to changing business demands or to optimizeimplementation based on runtime experience. Generally, what needs to change isthe process logic, not the internals of individual activities. BPMS allowsprocess logic to be done quickly with no programming, creating a new version ofthe process model.
Versions are managed in a process model repository withinthe BPMS. Implementing the new process logic requires deploying the newversion, often in parallel with the existing version. Usually process instancesalready in execution continue to follow the old version, and new instancesfollow the new version.
Information has to be held about business processes that areimplemented within NAVSUP. As with many elements of BPMS an analogy can bedrawn between what is required from the process side and what has already been implementedwithin other areas. For data to be used effectively, certain data about thatdata also needs to be stored; the same is true for process. A repository for processmetadata gives the level of control that is required. The repository forms thestore for business rules, from which extraction and change can take place. Repositoryis also needed to support configuration management and versioning.2.
3 Agile DevelopmentBPMS accelerates the implementation of business processsolutions, allowing NAVSUP to introduce new products and services more quickly,and respond more nimbly to continually changing business demands. Initialimplementation types are typically 45 to 90 days, not the many months requiredusing traditional development tools and methodologies. The keys to BPMS’sagility are flowchart-like process logic design, code-free task design,facilitated component reuse, and real-time problem resolution. Process logic, the flow of process activities – includingexceptions – is designed like a flowchart. Changing it is simple – you justredraw the diagram. In the favored collaborative design paradigm, theexecutable design and the business analyst’s original process model share acommon flow diagram, ideally using the Business Process Modeling Notation(BPMN) standard from OMG.
The “work” in BPMS is done by the process tasks, whichtypically represent either human tasks performed using a web application createdby the BPMS or integrating with an existing backend application or web service.With traditional waterfall development, creating web applications andintegrating external systems required code, lots of it, with its attendantdebugging, testing, and other things that get in the way of agility. BPMS contains form design tools – in the bestproducts, full web application design – based entirely on drag-and-dropcomponents. Moreover, integration uses special middleware components calledadapters that are also configured using point-click wizards. And as companiesincreasingly adopt service oriented architecture, integration gets even easier– you just bind process activities to reusable services. All these features make BPMS an essentialtool to promote agility in the enterprise.2.4 User ExperienceBPMS provides multiple rules-driven user interfaces that canall be tailored to the needs of specific users and their roles in single ormultiple processes.
Portal Rule Formsare used to help design user experience to ensure that third-party portal complieswith NAVSUP standards and automatically generates the proper HTML layout. Theform itself requires no HTML programming. This approach has been extended forstandard BPMS user interfaces that allows for graphical user interface (GUI)components to be dragged and dropped onto the screen, with the systemautomatically generating the HTML to support it. The portal-based design of BPMS user interface allows thedeveloper or the user to modify or display the content and data needed by thatuser at that particular step or even task in a process. Given that all elementsof the user interface are driven by rule sets, the product allows a significantlevel of flexibility for not only adapting the user interface to a process, astep, a task, and role – but for doing so dynamically, based on the uniqueconditions within the process. The result is a navigation screen flow that thebusiness user can use as a guide through the data entry or other screenrequired to complete his or her work.
Within the process design and administration components atthis layer, a key differentiator for BPMS is that all the elements of processdesign and administration including classes, process flows, decision rules, methods,properties, and services are all rule sets that can be developed andmanipulated to provide rapidly customized BPMS applications.2.5 IntegrationIntegration capability allows process activities to directlyexecute APIs (application programming interfaces), object methods, or webservice operations on external applications and information systems with littleor no programming. BPMS are expected tobe compliant with SOA for seamless integration with NAVSUP applications, dataand processes. The essential components forSOA include a communications bus, integration adapters, and datatransformation. The communications bus supports reliable transport of requestsand responses between the process engine and the target business systems. Whilesome integration actions can be performed synchronously as remote procedurecalls over the network, the general case requires a communications bus based onmessage queuing, such as an ESB (Enterprise Service Bus).
On JEE (JavaEnterprise Edition) application servers, standard capabilities such as JMS (JavaMessage Service) provide a common API to enterprise messaging from multiple busproviders. Integration adapters are software components that expose thenative APIs and object methods of enterprise applications and information systemsas service requests and responses for access by the process engine. In the BPMSdesign tool, the adapters allow users to introspect the available APIs andmethods of the target system. Selected functions are then turned into integrationcomponents that can be attached to process activities and invoked at runtimeeither synchronously or asynchronously. Data transformations map process data into the elements andformats required by the integration component. Each component has a request format – typically XML schema but in somecases a list of Java parameters.
TheBPMS design environment provides a graphical tool to build the mappings, and atransformation engine to perform them at runtime. BPMS integration capability allows the process to coordinatethe functions of multiple external systems, even though they may be based ondifferent platforms, languages, and data models, and to do it with little code.BPMS provides standard activity types that can execute an integration component(i.e. issue it a service request) and receive the response. First, the process needsto perform a data transformation to populate the request variable.
Theintegration component, via the adapter and communications bus, translates therequest into the native API of the target system, executes it, and returns theresponse to the process.2.6 Deployment and ExecutionA key feature of executable process models is their abilityto be transferred, or deployed, to a runtime BPMS component called the processengine. When triggered by conditions specified by the model, the engine createsa new instance of the process and executes it automatically. For each instance,the process engine automates and monitors process flow. When routed to an interactivestep, the instance becomes a work item accessible from the assignedparticipant’s worklist.For automated steps, the process engine invokes anexecutable object as specified by the model, typically an integration componentgenerated in the BPMS design tool. Integration components receive a set of dataelements from the process engine and use them to invoke an API or object methodon an external business system or enterprise application, via an integrationadapter.
Data returned from the invocation is passed back to the process by theintegration component. Conversion of process data to the formats required bythe integration component is performed by a data transformation engine withinthe BPMS runtime. Definition of transformations (also called data mappings) isprovided graphically by the BPMS design tool.
Another key capability for BPMS is in the handling ofevents. Events are signals received by the process engine either from anexternal system, as a message, or from another part of the BPMS, such as a ruleengine. A process can respond to a eventin one of two ways: It can launch a new instance of a process, or it can completean activity defined to wait for the event or message. The list of events a BPMScan listen for and respond to (without custom programming) varies widely fromone offering to the next, again reflecting each vendor’s emphasis on processuse cases. BPMS process engine provides exception handling andtransaction management. Exceptions come in two types: system exceptions andbusiness exceptions. A system exception is typically a fault raised by anautomated step in the process.
For example, the data passed to the integration componentmay not match the required structure or schema, or the external system invokedmay be down, resulting in a timeout. A business exception is an event issued bya participating user or system, such as a change or cancellation of an order inprocess. Upon detection of a system exceptions, the process engine suspends thenormal flow of control and triggers a special exception handler flow defined inthe modeling tool and attached to an individual activity, a group ofactivities, or the process. The process model also allows a block of activitiesto be grouped as a single transaction scope, meaning if an exception occurswithin that block, the effects of any completed activity within the scope mustbe “undone,” a feature called compensation.
In most (not all) BPMS processmodels, a compensating activity can be defined for each normal activity in atransaction scope for this purpose. Unlike classical “ACID (Atomicity,Consistency, Isolation, Durability” transactions using protocols like two-phasecommit, compensation works with long running transaction scopes. For example,during the order creation process, if the customer does not have sufficientfunds, the BPMS compensates by creating the order cancellation process.
Some process engines, particularly those thatrun in a JEE container, also support ACID transaction recovery (rollback,retry) for those activities where it is applicable.2.7 Management and AdministrationAs stated previously, BPMS is the tool that brings controlback; to manage the actual process rather than have a model and a proceduremanual which bears little resemblance to the actual execution of that process. There is a need to be able to track theprogress of an individual process, which can also be called the processinstance, against where the BPMS says it should be.
It needs to examine thestate of the process as it proceeds towards the goal, whether that is thedelivery of the correct goods to a customer, or the successful launch of a newproduct. The real goal of BPMS is to build better business, and NAVSUP canrealize a substantial return on their investment in BPMS solutions if they can shavetime, costs, and errors off their core processes. BPR was a one-time event that was difficult and painful todo. BPMS is an iterative process, where monitoring, managing, and analyzing howthe process model compares to reality is then used to hone the process, makethe model gradually more real, and enable continual process improvement. One of the key elements in BPMS is theability to have flexible rules, and one way in which flexibility can beachieved is by allowing for human intervention within the process flow. Atfirst glance, automating a business process to eliminate human intervention mayseem to achieve a greater cost-cutting benefit than that of BPMS, which maystill rely on human intervention at points along the process. However, many timesthis comes at the price of having complex exception handling routines embeddedwithin the implementation.
If humanintervention is allowed for; that is, the process is not considered as a closedloop, then two benefits can be immediately gained. Firstly, exception and errorhandling routines can become more generalized, instead of having to pre-identifyevery possible set of circumstances that could ‘break’ the process, a moregeneral set of routines can be implemented. Secondly, which can be consideredas an extension to the first benefit, exception and error handling can be basedon self-analysis of the running processes. Beyond agile problem resolution, the management component ofBPMS called business activity monitoring (BAM) delivers strategic businessvalue. Many companies today have no way even to measure business performance atthe end-to-end process level. BPMS’s BAM component provides that visibility.With a few BPMS offerings, it’s not even necessary to model and execute theprocess to measure performance. NAVSUPcan “instrument” the various backend systems, the way they work today, andcapture a performance baseline.
Many companies find this a good place to start,since it identifies the key problem areas to attach with modeling and an improvedto-be process. As part of a BPMS process solution, BAM puts KPIs in aprocess context: where is the problem occurring, under what conditions BAM letsNAVSUP define rule-triggered actions, ranging from user notifications toautomated escalation procedures, to resolve problems in real time. Moreover,BAM provides a comprehensive dashboard of KPI charts and gauges, allowingprocess owners to continuously monitor the health of the business, visualizeoperational performance trends or breakdowns by any number of dimensions, anddrill down from high-level measures to selected subsets, or even individualinstances, to resolve problems. BecauseBPMS assumes change and implements it easily, performance visibility leadsnaturally to continuous performance optimization, the key to competitiveadvantage.2.8 Architecture and StandardsConsistency with established platforms and standards atNAVSUP is always a factor.
Although the web and XML web services are smoothingover some of the barriers between platforms, familiar platform issues likeWindows vs Unix, JEE vs .NET, and supported DBMS (Database Management Systems)will usually rule out certain BPMS offerings right off the bat. The ability toleverage expensive existing infrastructure like integration middleware,business rule engines, or enterprise architecture (EA) modeling tools may alsofavor certain BPMS contenders. As discussedpreviously, BPMS architecture and modeling language standards should be takeninto consideration.
A key enabler is BPMN 2.0, the process definition languagestandard from OMG.