FILENET P8 The Synergy Between BPM

2,182 views
2,085 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,182
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
124
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

FILENET P8 The Synergy Between BPM

  1. 1. FILENET P8 The Synergy Between BPM & SOA WHITE PAPER August 2006
  2. 2. FILENET The Synergy between BPM & SOA August 2006 1. Executive Summary.......................................................................................................................................................... 3 2. Challenges for Business and IT.......................................................................................................................................... 3 2.1. Business Needs Execution and Agility ..................................................................................................................................................... 4 2.2. Enterprise IT Complexity .............................................................................................................................................................................. 4 3. BPM and SOA Meet the Challenges.................................................................................................................................... 6 3.1. BPM for Process Efficiency and Improvement......................................................................................................................................... 6 3.2. Web Services and SOA for Reuse and Agility........................................................................................................................................... 7 3.3. BPM and SOA Together ................................................................................................................................................................................ 8 4. Designing Services and Processes ................................................................................................................................. 10 5. A Modern Enterprise with SOA and BPM ........................................................................................................................... 11 6. Web Services ................................................................................................................................................................. 11 7. Components of SOA and BPM......................................................................................................................................... 13 7.1. SOA Components and Functionality ........................................................................................................................................................14 7.2. BPM Components and Functionality........................................................................................................................................................15 8. Business Events and Rules in BPM and SOA................................................................................................................... 16 8.1. Events in SOA.............................................................................................................................................................................................. 16 8.2. Events in BPM and BAM............................................................................................................................................................................. 17 8.3. Business Rules and BRMS........................................................................................................................................................................18 9. FileNet BPM and SOA...................................................................................................................................................... 18 9.1. FileNet BPM Suite ........................................................................................................................................................................................18 9.2. SOA Functionality in FileNet BPM.............................................................................................................................................................. 19 9.2.1. FileNet BPM W eb Services API ....................................................................................................................................................... 19 9.2.2. FileNet BPM Consumes Web Services........................................................................................................................................... 19 9.2.3. FileNet BPM Publishes Web Services ............................................................................................................................................ 20 9.2.4. FileNet BPM Complies with Web Services Standards .................................................................................................................. 20 9.2.5. FileNet BPM Provides a UDDI and its Interface ............................................................................................................................ 20 10. Conclusion: Leveraging BPM and SOA........................................................................................................................... 20 Appendix: Glossary............................................................................................................................................................. 22 www.filenet.com page 2
  3. 3. FILENET The Synergy between BPM & SOA August 2006 1. Executive Summary Increasing business efficiency and agility in the face of competitive pressures, shrinking profit margins, and changing business conditions such as compliance with new regulations, are top challenges and priorities for large organizations. This in turn translates to challenges for the enterprise IT which must reduce complexity and be more responsive to the business needs. To address these challenges, there are two related disciplines and technologies that organizations have turned to: Business Process Management (BPM) and Service Oriented Architecture (SOA). In recent years, BPM has emerged as a significant market. According to leading analysts BPM market was $1.25 B in 2005, with an annual growth of about 20%. BPM products (typically referred to as BPM suite or system or simply BPMS) have emerged as a significant software product category. In the recent years, many software vendors from various backgrounds – pure-play, workflow, middleware and application integration, and platform – have developed and launched BPM products. Research also indicates that deploying SOA is a top priority for many large organizations. New SOA related software such as Enterprise Service Bus (ESB) has emerged a market of its own. BPM is the key discipline and technology for automating, managing, and improving business processes across various organizations. SOA is concerned with producing and managing reusable business services from IT systems or as new services, then using them to build (compose) agile business applications faster. BPM and SOA also have different characteristics. In general, SOA is somewhat lower-level, development-centric, and technical, while BPM is higher-level and business-oriented. But BPM and SOA have similarities (e.g. both deal with business processes), and more importantly they are complementary. Business processes managed by BPM can use (consume) business services that are defined and managed using SOA. This helps make business processes more flexible and agile. At the same time, building useful high-level business services and composite applications in SOA often requires orchestration that is in the realm of BPM. BPM and SOA together can help reduce IT complexity, realize rapid application development (RAD), and accelerate process automation across the enterprise. This paper provides an introduction to SOA and BPM, but it is not an exhaustive description and explanation of either, as much has been written about these concepts and technologies elsewhere. Here we primarily explore the relationship between BPM and SOA, their similarities, differences, and synergies, and how they complement and work with each other. We argue that both are important and required. Ultimately to reap the full benefits of one, the other must be utilized. We then look at how FileNet BPM suite meets SOA requirements and interoperates in an SOA environment. FileNet BPM provides a standards-compliant Web services API to its process engine. Processes in FileNet BPM can consume external Web services. The processes themselves can be published as Web services to be consumed by other services or processes. FileNet BPM also includes a UDDI registry for Web services as part of its process engine. Furthermore, FileNet BPM implements and complies with specific Web services and security standards to provide secure and reliable messaging across various services. FileNet BPM can help organizations realize the BPM-SOA synergy and its benefits. 2. Challenges for Business and IT Here we look at the challenges that organizations face. To meet the business goals and objectives, business must efficiently execute its business processes, have access to the right information, and respond to changing business conditions. To do so, IT must provide the business with the needed infrastructure, tools, and applications. Enterprise IT is very complex which makes it difficult to change and respond to the changing business needs. Matters are made more complicated in this cross-organizational communication because of the divide between business and IT. What IT builds may not be what the www.filenet.com page 3
  4. 4. FILENET The Synergy between BPM & SOA August 2006 business wants or may not fully meet the business requirements. Business may not understand the technology and the technical challenges that IT faces, while IT may not have the insight to appreciate the business issues and challenges. Business often accuses IT of being slow and inefficient in responding to the business needs such as deploying or upgrading to a new CRM system. IT may perceive the business people as being inept in understanding technology. Hence the IT complexity and the divide between business and IT may adversely impact the overall business performance, because changing business needs are not met by IT in a timely fashion. 2.1. Business Needs Execution and Agility Businesses face continuous pressure to reduce operating cost, increase productivity and revenue, while improving the quality of products and services and increasing customer satisfaction. To address these requirements, businesses need to automate and optimize their business processes and how they execute them. Such business processes may involve people (employees, customers, partners), and multiple systems and applications. They may be manual or partially automated and thus inefficient. Information, the business logic, and the knowledge and skills to carry out a business process are distributed across various people, systems, and geographies. These processes are difficult to manage. Business managers who own these processes also need to better control their processes and have visibility over them, which is very difficult to do with business processes that are fragmented and not centrally managed. Businesses also require agility. Due to changing business conditions and business models, competitive pressures, regulatory and compliance issues, and mergers and acquisitions, organizations must adapt and change in real-time. 2.2. Enterprise IT Complexity Meeting the changing business needs requires unprecedented responsiveness from business and in turn from IT to be able to build and deploy business-critical applications and services while leveraging existing IT investments. Today’s IT organization is complex, consisting of many different applications and systems built using heterogeneous technologies, on various middleware, using multiple databases, and running on many platforms. The maintenance of and change to any of these systems may be very resource intensive and expensive. It requires that the IT staff be well-versed in a wide range of technologies, programming languages, and commercial products that in many cases are proprietary. Such an IT environment is made up of various commercial and in-house proprietary applications (e.g. ERP, CRM, and SCM). These applications tend to use various technologies and architectures. Some may be host-based built in COBOL without a separation between UI and logic and without any API. Certain others may be client-server written in C/C++, while others may be more modern 3-tier Web-based applications built in J2EE or .NET technologies. Each application potentially has its own database. Some may use middleware while others may not. Figure 1 below shows the heterogeneity and the associated complexity in a typical enterprise IT. www.filenet.com page 4
  5. 5. FILENET The Synergy between BPM & SOA August 2006 Figure 1. Enterprise IT is heterogeneous and complex. Each such application typically automates certain business processes, or more often a segment of a larger business process that if realized end-to-end, spans multiple applications and organizations. In the case of commercial packaged applications these processes are usually well- understood and common. Such applications are configured and customized to fit the business usually by a large consulting team during a long, laborious, and expensive development and deployment, before they go to production. The business people who own these business processes, have little control over managing their processes in these systems. These applications tend to be rigid, fixed, and inflexible. It is difficult to integrate with these systems in a systematic and scalable fashion. Furthermore, when there is a need for a new service or application, it is difficult to reuse functionality from these applications. Any change must go through complex and time-consuming IT activities. Things get worse with legacy such as mainframe applications. These systems contain a significant amount of the mission-critical data and logic that many large organizations still run on today. This information is particularly difficult to access and reuse, as these systems are developed in older technologies. It is not practical or even possible to do away with them. There must be an easy way to reuse such data and logic. In essence, automated processes are locked up inside these applications. Each such suite of applications forms a silo of automation with its own database, business logic, and UI. There is also redundancy in data and logic across these silos. For example, information about a customer, an order, or a part for a product, may reside on multiple systems. There are also cross-silo associations. For instance, an order in one silo is associated with a customer that resides in another. Update or change to one entity in one silo may require changes to multiple applications and databases in other silos. Figure 2 below provides a simplified view of the typical application silos. www.filenet.com page 5
  6. 6. FILENET The Synergy between BPM & SOA August 2006 Figure 2. Application silos with hidden and inflexible processes Hence there is a dire need for integration across these silos. The useful functionality in these silos must be exposed so that they can be reused in building new business applications and services easily and quickly. IT must provide the infrastructure and tools for automating and managing the business processes end-to-end while they leverage information and logic from existing applications. The resulting system must be accessible and usable by business users. It must also provide the means for measuring business performance so that business managers can monitor how well they are executing against the business strategies and corporate objectives. 3. BPM and SOA Meet the Challenges Here we discuss how BPM and SOA each addresses the needs of business and in turn the requirements of IT. Each meets certain needs, but by utilizing both together, we can realize far more profound benefits. 3.1. BPM for Process Efficiency and Improvement BPM enables organizations to streamline and automate their business processes across the enterprise thus increasing productivity and reducing the cost of running those processes. By managing customer-facing business processes using BPM, organizations can also increase customer satisfaction and retention. BPM allows organizations to model, automate, and optimize their business processes that involve people (i.e. employees, customers, and partners) and systems. A business process is a multi-step business activity that typically involves several people and systems, such that each activity is performed by a person or by a piece of software (e.g. a Web service). In some cases a business process may be heavily system- centric and have few or no human participation, or it may be highly collaborative and human-centric with few or no system activities. For every human activity, a user interface is defined that may be browser-based, e-mail, or mobile based. The activities in a business process are typically linked and coordinated subject to a set of business rules and policies. www.filenet.com page 6
  7. 7. FILENET The Synergy between BPM & SOA August 2006 The artifact produced by a BPMS is a business process application. Since business processes are modeled and designed in a visual environment in a BPMS, the development cost is significantly reduced in comparison to writing code. BPM also enables business people to have visibility and control over their processes allowing them to monitor and measure their process execution and have a say in improving their processes. Thus BPM can help close the gap between business and IT. It enables better tracking, monitoring, and measurement of business activities and processes. Because the business processes and rules have visual representation in BPM, it becomes easier to monitor and measure business activities and performance. And when there is a need for change, it is easier to modify and evolve the business processes and rules in BPM. This makes a business more agile and responsive to business changes – planned or otherwise. The way a company runs its operations and conducts its business is essentially captured in its modeled and automated business processes. Organizations differentiate themselves and create competitive advantages through the uniqueness of their business processes. BPM enables organizations to build that uniqueness into their business processes. Unlike packaged applications that typically lock up the business processes in the applications, BPM puts the business analysts and business managers (the real stakeholders) for the business processes in control and in charge of their business processes. While IT will be involved in implementing BPM, the business people become closer to understanding, defining, and managing their own processes. BPM also provides an effective way for doing knowledge transfer as processes become well-documented business artifacts that employees can get trained on. As discussed later on in this paper, FileNet BPM is a comprehensive BPM suite of products that provides enterprises with full BPM functionality and its benefits outlined here. 3.2. Web Services and SOA for Reuse and Agility The business processes to be managed by BPM must integrate with existing applications and systems. They require access to the functions that are locked in the applications silos. Hard-coding point-to-point integration with those applications is not a good solution as it creates tight coupling with the application and makes the process brittle and inflexible. Every time the application changes, the integration point may have to change as well. A change in the process may also break the integration point. SOA and W eb services provide the key to unlocking the silos and exposing the functionality within those silos. Using SOA technologies, useful functions within those business applications can be captured and packaged as loosely coupled, autonomous, and reusable components typically in the form of Web services. A Web service has a published interface (contract) that specifies how it is to be used. A consumer of that service simply needs to know about that interface that is published in a standard format. These services are then stored and registered in a directory service so that all interested and authorized parties can use and reuse them. Figure 3 below shows that services from the previously monolithic silos of automation are generated and exposed. Commonly used activities, transactions, process segments, and functionality from the back-end systems are captured as reusable components such as J2EE and .NET components, or preferably Web services. These services are registered and stored in a service registry for reuse. These services can be reused in defining new business processes along with new services. www.filenet.com page 7
  8. 8. FILENET The Synergy between BPM & SOA August 2006 Figure 3. Services generated from application silos and reused in a business process Mapping all the API calls from various business applications to Web services may be just the very first step in transitioning to SOA. Such services are typically very low-level and do not provide much business value. To provide more useful and business-oriented services, low-level services may be orchestrated and composed into higher level business or composite services. For example a customer address change service may be a composite service that is made up of four low-level services for changing street, city, state, and zip code. There must be an orchestration component in SOA for this purpose. Some composite services may in fact be full-fledged applications called composite applications. A composite application is a software assembly that implements a (possibly single) business function (potentially a segment of a larger business process). Its components access data and business logic from multiple back-end systems. Composite applications can help transform old and legacy business applications to more modern technologies. For example, multiple legacy applications used for a particular business process can become a single uniform Web-based application. Because of the reuse of back-end data and logic, the development cost for composite services and applications is lower than the alternative; i.e. building new applications ground-up. This reuse reduces the time required for building new applications and in turn reduces the total cost of ownership (TCO) for such applications. 3.3. BPM and SOA Together www.filenet.com page 8
  9. 9. FILENET The Synergy between BPM & SOA August 2006 The business services may not be very useful by themselves. Their value is realized in reuse across various composite applications and processes. They are often composed, assembled, or orchestrated using BPM to create higher level business services or composite applications. In turn the business services that are generated from Web services orchestration may be used in business processes that typically include human activities. Such processes can be modeled and automated using BPM. FileNet BPM allows business processes to explicitly consume and ingest Web services. Figure 4 below shows that fine-grained, low-level services are composed to form coarse-grained composite services that have more of a business context. A BPEL-based orchestration engine might be used for such composition. BPEL in its pure form does not handle human activities. It is strictly for the orchestration of Web services. However, most general-purpose BPM such as FileNet BPM can also handle this service orchestration equally well. The composite services in turn may be consumed by business processes that involve human participation. BPM process languages typically have explicit constructs for handling human activities. One such language is XPDL that is becoming widely acceptable standard for human-centric BPM. Having a common language for defining business processes is important because this will help make business processes portable across different BPM systems. There might also be a need for integration and interoperability across various BPM systems. Such a standard will also drive development of standards based process design tools. Figure 4. SOA and BPM together to orchestrate services and manage processes An important aspect of BPM and SOA relationship is that typically the processes (or an entry point to them) that are defined in BPM can be published as a Web service. Such a service then can be consumed by other services in compositions and orchestrations or by other business processes in BPM. Therefore BPM and SOA form a bi-directional and recursive linkage in terms of publishing and consuming Web services: Web services (in SOA) may be consumed by business processes (in BPM). In return, business processes in BPM can be published as Web services and consumed by other services or processes. www.filenet.com page 9
  10. 10. FILENET The Synergy between BPM & SOA August 2006 FileNet BPM allows BPM processes or a step in the process to be published as a Web service that in turn can be used by other services or processes. FileNet BPM also provides a Web services registry where such as service can be stored and registered for reuse. By using SOA and BPM technologies together, organizations can achieve better IT and business results than are possible by either SOA or BPM alone. SOA promotes reuse and makes business processes more flexible. BPM provides richer and higher level business processes that in turn become services. 4. Designing Services and Processes How do we design and implement SOA and BPM? Do the services come first or the processes? We may start with building services. We take all applications and break them down to services (e.g. mapping the APIs) to services. We may also define new services that we think may be useful. This is a bottom-up approach. We may compose some of these services to create higher-level services. All these services are stored in a registry to be used by the authorized users. Then when we model and design our processes, we can hopefully find the services that will be needed in the registry. The problem with bottom-up design is that a service may not exactly do what a process needs or it may not provide the correct interface. We will then have to change the service or define a new mutation of it. Alternatively we start with modeling business processes in BPM from high-level. As we work out the details we identify needs for touch point to other systems or new computing resources that can be services. We assume the required service interfaces and proceed with process modeling and design. So the business process dictates the services that we need to complete the processes. When we get to designing a needed service, we may break it down to lower-level services. This approach is top-down. It is business-driven and results in creation of services that are important and needed with the proper interfaces. Figure 5 below depicts the concepts of bottom-up and top-down design in the context of services and processes. Figure 5. Designing services and processes www.filenet.com page 10
  11. 11. FILENET The Synergy between BPM & SOA August 2006 In reality most often a combination of both top-down and bottom up design in an iterative manner is used. We may design some services which we know will be useful, generic and reusable. At the same time high-level process modeling activities will point to the need for specific other services. Various groups may collaborate and iterate over this process till they come up with an optimal process definition and the services that such as process consumes. After the initial deployment, by monitoring the process performance, areas for improvement may be identified that may result in further refinement of these processes and services to achieve both service and process optimization. 5. A Modern Enterprise with SOA and BPM The main construct in SOA and BPM are services and processes respectively, though this distinction becomes less relevant as business processes themselves may be published as services. From a high-level perspective, SOA manages business services and BPM manages business processes. Business processes are made up of business services, which may include human activities as well as other business processes. Business services in turn are made up of lower level services that may be tied to computing infrastructure and leverage existing EISs (enterprise information systems). Figure 6 below depicts a high-level view of a modern enterprise where there is a business service layer on top of the IT infrastructure. These business services may be composed of lower level services that leverage the resources in the infrastructure. This service layer is defined and managed by SOA. There is also a process layer over the service layer which leverages the business services below to create highly flexible and agile business processes. This layer is defined and managed by BPM. Figure 6. A modern enterprise with SOA and BPM 6. Web Services The very core element in SOA and also relevant in BPM is reusable software component that is called a service which implements a useful functionality. A key feature of a service is that it provides a published interface that specifies how it can be used. The interface or contract specifies what information is passed and what it returns (if anything). Using encapsulation the details of the implementation and the language used are hidden from the potential user. The implementation in fact may change at some point, but as long as the interface remains the same, any client using it doesn’t have to change. So a client consuming a Web service, only needs to be concerned with what the service does (interface) and not how it does it. www.filenet.com page 11
  12. 12. FILENET The Synergy between BPM & SOA August 2006 There are different technologies that provide reusable components or services. Such a service may manifest itself as a .NET assembly, a CORBA object, a Java component in J2EE, or as a Web service. Each of these provides its own interface definition language and the protocols it supports. However, Web services are the primary technology used in SOA. Web services have important characteristics that make them the ideal building block for SOA. Web services are loosely coupled in the sense that there is no tight coupling between a client and the Web service it calls. Web services also enjoy location transparency. It is not important where a service is located. In fact the location of a service that is in use may change without breaking anything. The key standards and elements in working with a Web service are: • WSDL (Web Services Definition Language) defines the interface for a Web service • SOAP (Simple Object Access Protocol) defines the encoding for messages that sent to and received from a Web service • UDDI (Universal Description, Discovery, and Integration) is a registry and directory services for storing and retrieving Web services; it is essentially a white/yellow pages for Web services • HTTP/HTTPS: HTTP and Secure HTTP are the primary transports (transfer protocols) supported by SOAP; SOAP also supports SMTP (e-mail protocol). Figure 7 below shows how a basic Web service is used. A client looks up a Web service from UDDI registry and obtains its WSDL. It then invokes the Web service. Figure 7. The workings of a basic Web service The Web service may be synchronous in which case the client waits (blocks) till it receives a reply message from the Web service. The Web service may be asynchronous in which case the client proceeds after the invocation and the Web service responds at a later time, if a response is defined for it. www.filenet.com page 12
  13. 13. FILENET The Synergy between BPM & SOA August 2006 Synchronous vs. asynchronous communication is one of the fundamental concepts in SOA. Synchronous communication closely maps to composition while asynchronous communication ties to integration. The figure below conveys this concept. Figure 8(a) shows a basic application of asynchronous communication and contrasts it with an application of synchronous communication in Figure 8(b). Figure 8. Asynchronous vs. synchronous communication Both synchronous and asynchronous communication models are essential and must be supported. Asynchronous communication is the foundation of Event-Driven Architecture (EDA), a close relative of SOA though a far less popular topic. It is discussed in some detail later in this paper. There are many important standards for Web services that must be implemented and complied with. For example, Web services Reliable Messaging (OASIS WS-ReliableMessaging) standard that as evident from the name is concerned with reliable messaging among Web services. It provides guarantee of message delivery between Web services for a given criteria. For example a message must be delivered at least once, at most once, exactly once, or in order. FileNet BPM in fact implements this standard so that the Web services generated by FileNet BPM provide reliable messaging. That is Web services defined in FileNet BPM comply with W S-ReliableMessaging. Another important Web services standard is Web services Security (OASIS W S-Security) which defines security functions for Web services such as authentication and association of security tokens with messages. 7. Components of SOA and BPM In this section we define the typical components and functionality that comprise SOA and BPM. Figure 9 below shows the high-level components and functional areas that make up each one. Note that this figure is general and not specific to any one vendor. The components in actual product suites may be different. www.filenet.com page 13
  14. 14. FILENET The Synergy between BPM & SOA August 2006 Figure 9. Components of BPM and SOA It is important to note that there are similarities and overlap between SOA and BPM. For example BPM and SOA overlap as they both involve process management or orchestration. They both have repositories for services and processes. They both have development, modeling, or design tools (typically IDEs) for defining artifacts such as services and processes. They both have monitoring and management functionality for services and processes. And they both deal with similar security issues. Another important characteristic of BPM and SOA is that they both are event-based; they can publish and consume events. This topic is discussed in more detail later on. There are capabilities that are unique to each one that makes them different. Or there are overlapping areas that are more developed in one than the other. For example, process simulation and BAM primarily exists in the BPM world. SOA can also benefit from such technologies. There is no reason why Web services cannot be simulated, or why BAM cannot monitor Web services. They are different in the sense that SOA is somewhat lower-level and more technical than BPM. SOA typically deals with Web services while BPM deals business processes that are made up of services and other elements such as human activities. BPM is more geared towards business users than SOA. It typically has process modeling tools that a non-IT person can use to model business processes. Hence BPM is business-driven, while SOA is IT-driven. While there are interoperability points between the two (e.g. services being consumed by processes), the focus and core competency of most relevant vendors are only in one of the two – BPM or SOA. The related standards are not only independent of each other but may also compete with each other (e.g. BPEL vs. XPDL). Similarly organizations are most likely to pursue initiatives in BPM or SOA independent of each other. 7.1. SOA Components and Functionality The key components and capabilities in SOA are as follows: www.filenet.com page 14
  15. 15. FILENET The Synergy between BPM & SOA August 2006 • Development: A visual and drag-n-drop IDEs for building Web services and defining their interfaces, transformations and service orchestrations. • Adapters: Connectivity to various back-end systems such as ERPs and CRMs, databases, legacy applications. • Transformation and Routing: For data transformation and mapping; e.g. mapping an XML document from one format to another based on an XML schema. It is typically based on XSLT, XQuery, and XPath. May be a part of the ESB in some product suites. • Orchestration: Typically a BPEL-based server for defining processes that are made up of Web services. There may be an associated visual designer that is part of development. • Enterprise Service Bus (ESB): A message queue that provides message queuing, guarantee message delivery, routing, event management. The definition of ESB has been changing and it is starting to include other important capabilities such as transformation and mapping and even orchestration. • Governance and management: To manage Web services, monitor (business-level) their usage, manage service level agreements (SLAs), policy management, version control, etc. This becomes very important with a large number of Web services (e.g. more than 50), which is a given in any sizable organization. • Security: Deals with authorization, authentication, single sign-on, digital signatures, and other security issues for Web services; may be covered by governance and management component in some products. 7.2. BPM Components and Functionality The key components and functionality of a BPMS are described here. Note that FileNet BPM provides all these components in an integrated product suite. • Modeler: A visual tool for creating process models ideally in BPMN standard, targeted for use by non-IT and business analysts. The artifact produced from modeling is a process model that can potentially be analyzed and simulated. It must accommodate both system (service) and human activities. • Designer: A visual tool that may be integrated with an IDE or be Web-based for defining process applications. It must accommodate both system (service) and human activities. It typically is integrated with the Modeler. In some cases both functionality may be provided by the same integrated tool. Design activity tends to be more technical as it involves defining integration points. The outcome of design activity is an executable (process) application that can then be deployed onto a process server. • Simulation: A typically visual component usually with animation capabilities that given a process model and a set of parameters can simulate a process and produce reports that can be used for what-if analysis to optimize a business process before going to production. It typically can be fed real process execution data. Simulation is usually not a part of SOA product suites. • Process Server: The core serve that enacts and executes process models. This is the heart of a BPM system. It must be scalable and highly available (provide fail-over and clustering) to be able to handle large volumes of processes and transactions, and be trusted in running core and mission critical business processes. FileNet BPM provides extensive functionality in this area. • Repository: for storing and versioning process models. A process model may be checked out, modified and checked back again creating a new version. It must have search functionality that provides various search criteria. www.filenet.com page 15
  16. 16. FILENET The Synergy between BPM & SOA August 2006 • Analytics: Provides business intelligence (BI) like functionality for doing OLAP based analysis and reporting. It may be integrated or embedded within BPM to enable better decision making. It can also be used for analysis of historical data to identify area for improvement and optimization. It is considered a management function. • BAM: Business Activity Monitoring, uses event management technology to receive and process events from various sources including the process engine, correlate the data and present it in the form of visual controls and metrics in the context of a management dashboard. The dashboard can be customized and configured for various business users with the relevant metrics for their job functions. Unlike analytics which deals mostly with historical data, BAM operates in near time and usually provides means for taking a corrective action if an anomaly is observed and detected. There is little BAM functionality is the SOA world. However, BAM can help monitor Web services by receiving usage information from Web services though an ESB. • Management: Provides process monitoring and reporting, metrics, balanced scorecards, etc. It may have provisions for making certain changes to in-flight processes. It has overlaps with Analytics and BAM. So they may be provided within the same components. There is also system management functionality such as archiving processes, stopping processes, defining users and access rights. • Application Framework: Unlike the world of SOA which mostly deals with services, in BPM human participation is a key part of business processes. BPM must provide a flexible and customizable presentation framework for business processes with elements such as task list, queues, filters, prioritization, and work management. This may be a portal framework with customizable gadgets or portlets that can be configured. An application framework may be used to further define templates for various verticals or industries (e.g. financial services, manufacturing) as well as for horizontal areas such as HR and accounts payable. 8. Business Events and Rules in BPM and SOA We live in an event-based world. A phone call, an e-mail, a meeting, an accident, a new order, a customer support issue, a new loan application, an approval of a loan or claim, excess inventory or lack there of, a delay in shipment from a supplier, an acquisition or merger, a new law going to effect, a security breach, a virus attack, etc. are all examples of events. In a business context, the timely processing of business events is critical and is a key requirement for business agility. The ability to generate meaningful events, process them, reflect on their impact on the business, and react to them quickly by taking the necessary action is a core requirement. This capability provides the foundation for Real-Time Enterprise (RTE). In a process context, a rigid and fixed business process that ignores the business events or cannot react to them and adjust accordingly may fail deliver the desired business benefits and fall short of meeting the agility requirement. Business Event Management (BEM) also referred to as Complex Event Processing (CEP) is concerned with the ability to publish events, listen to events of interest from various internal and external sources, correlate the events to make business sense out of them, present them to a business user in a comprehensible and visual form, and then swiftly initiate the proper actions (or enable the user to do so) to avoid or prevent potential losses, or respond to favorable business opportunities. Most applications and systems do generate events and audit logs though in many cases these may be too low level for business use. For example, network and system management software provide event management functionality but typically they deal with networking and IT events that don’t necessarily have direct business relevance. 8.1. Events in SOA www.filenet.com page 16
  17. 17. FILENET The Synergy between BPM & SOA August 2006 In SOA, asynchronous Web services support events based communication. A Web service receives an event (message) and responds at a later time. ESB as the backbone message and event bus also supports asynchronous communication among the applications and systems plugged onto it. Hence SOA is event-based and SOA related technologies by definition support events. In fact, Event-Driven Architecture (EDA) is an important concept that relates to SOA. EDA is concerned with systems built of components or services that exchange events or messages with each other in a loosely coupled, highly distributed environment. 8.2. Events in BPM and BAM BPM is also inherently event-based. A BPMS generally generates or publishes events and it can also consume events. A BPMS generates an audit trail (events) as a result of the processes being executed and tasks being performed. A typical process event may record the date/time of a process launch or a change in the state of a running process such as a task being performed. These events tend to be in business context because they are driven by business processes. FileNet BPM, for example, supports milestones for reporting higher level business events that have special business significance in the context of a business process. An event such as creation of or a change to a new document (e.g. a purchase order) can also launch a business process in FileNet BPM or change an in-flight process. By use of such event management functionality, otherwise static content in a business process becomes active. A change in some content results in activation and changes in business processes, and business processes in turn change the associated content or result in the creation of new content. BAM that has become an integral part of BPM, assumes an event-based foundation. It collects and correlates events, it presents the result in a visual format with regular updates, and it can take or suggest corrective actions for defined event conditions. Such a corrective action may result in launch of a new business process or change to an in-flight one, or invocation of a Web service. Figure 10 below shows what event management is and what it can do. Various systems (ERP, SCM, and CRM) generate events that are posted to an ESB. Note that these applications may also be invoked through Web services that expose their functionality and are managed by the ESB. That is, a process in BPM may be consuming Web services from these applications. In the example shown below, under a certain events condition (from ERP and SCM) BAM will launch a process and then update a balanced scorecard in a dashboard. Figure 10. Business event management with BPM & BAM on an ESB An Enterprise Management System (EMS) such as IBM Tivoli may also plug into an ESB. EMS and BAM are different as an EMS typically deals with more IT-centric events while BAM mostly operates around business events and processes. But there are certain overlaps between the two as some EMSs provide BAM functionality nowadays. Some EMSs recently also provide Web services management capabilities which make them relevant for SOA. www.filenet.com page 17
  18. 18. FILENET The Synergy between BPM & SOA August 2006 8.3. Business Rules and BRMS BPM excels in capturing and modeling structured, well-defined business processes and automating certain routing and decision making rules. There are several circumstances in which there may be a need for explicit business rules management associated with business processes. One possible case is when there are many event sources and there are complex event matching and correlation requirements (e.g. supply chain management for building an aircraft where there are many parts and suppliers). Or we may be interested in processing the events to produce appropriate metrics and measurements. This is again event management and based on asynchronous behavior, similar to the application outlined in the previous section. Another typical use of business rules is for automating and managing complex business policies for complex decision making. For example, we want to check on the eligibility of an applicant for a loan or auto insurance based on the supplied information. In this case, we are interested in synchronous behavior, in the sense that we ask a decision service whether an applicant qualifies and wait for a response. In these situations use of a business rule platform or a Business Rule Management System (BRMS) integrated with a BPM may be ideal. We can define a set of business rules using a BRMS and load it into its server (potentially an inference engine). Then in run-time the BRMS can process the events and take the proper action (e.g. change or launch a process, or produce a metric or report), or it can process the given query and return a decision (e.g. accept or reject a loan or insurance applicant.) A BRMS typically provides an environment for defining declarative business rules along with an inference engine for complex decision making. Business rules can change more often than a business process. Business rules platforms in conjunction with a BPMS may help keep business processes simple, smarter, and more dynamic. Business rules functionality can be treated as yet another Web service that makes it suitable for use along with BPM in an SOA environment. FileNet BPM integrates with several leading BRMSs via both direct product integration as well as Web services. 9. FileNet BPM and SOA In this section we take a brief look at FileNet BPMS and discuss how FileNet BPM supports Web services and SOA functionalities and interoperate in an SOA environment. 9.1. FileNet BPM Suite FileNet provides a comprehensive suite of BPM products. All components and capabilities discussed earlier for BPM are available in FileNet BPM. Figure 11 below shows the main components of FileNet BPM. The base layer is FileNet Business Process Manager that contains the Process Engine (PE), an enterprise scale BPM server, and a Web-based Process Designer. It also includes a Web application with administrative functions as well as end-user work management capabilities. www.filenet.com page 18
  19. 19. FILENET The Synergy between BPM & SOA August 2006 Figure 11. FileNet BPM Suite Other components are optional add-on products on top of BPM. BPF (Business Process Framework) provides a configurable and customizable Web application for the presentation layer of BPM applications. BAM (Business Activity Monitor) can receive and process events from various external sources besides FileNet BPM, process it, and present in the form of visual metrics based on different metaphors in a user-definable dashboard. The Process Modeler is a Visio-based BPMN compliant process modeling tool that is intended for business analysts. Process models defined in the modeler can be exported to the process engine or to XPDL format. FileNet BPM has the unique advantage that it is fully integrated with FileNet ECM (Enterprise Content Management) suite. Content plays an important role in BPM as most processes deal with various structured and unstructured content. 9.2. SOA Functionality in FileNet BPM In this section we highlight the FileNet BPM features that support Web services and make FileNet BPM an SOA-enabled BPM. 9.2.1. FileNet BPM Web Services API FileNet BPM implements a Web services API in WSDL to its engine that complies with WS-I (basic profile) standard. Through this API FileNet BPM in effect provides BPM services to clients in an SOA environment. This W eb service API provides interfaces to: • Retrieve a list of available work queues • Get the elements tasks in a given work queue • Query a queue for the elements of a particular step (an activity in the queue) • Lock a particular field in the step and, Perform an operation on it • Launch a process or workflow • Retrieve milestone information for a particular process instance • Get a list of Rosters available in BPM; roster provides information about all the process instances in a BPM. • Query a roster for its elements 9.2.2. FileNet BPM Consumes Web Services FileNet BPM provides explicit constructs at design time for integration with Web services. An external Web service can easily be used (consumed) in a process by use of an “Invoke” step in the process map to bind to the Web service. The invocation may be synchronous or asynchronous. www.filenet.com page 19
  20. 20. FILENET The Synergy between BPM & SOA August 2006 In a synchronous invocation, the Invoke step locks till the Web service returns with a reply message. A time-out may be specified within which a Web service must return. The work item will wait for that time and if no response is received, then a sub-map (sub-process) may be activated to process the time-out. In an asynchronous invocation, the Invoke step simply proceeds after calling the Web service. The W eb service may respond at a later time. In either case a Web service may return an error or fault. In such a case a sub-process may be associated with the process to handle the error condition. If the error condition occurs, then the specified sub-process (if any) is activated. This feature allows business processes to reuse logic and data from the existing applications. It also makes processes more agile and flexible. 9.2.3. FileNet BPM Publishes Web Services FileNet BPM has explicit constructs for publishing of processes (or steps within them) as Web services. This is achieved by use of “Receive” step. If the intent is for a synchronous Web service, then a “Reply” step is used after Receive to handle the Web services reply. There may be several Reply steps associated with each Receive step to handle each possible reply. Each Receive step in a process corresponds to a method in the WSDL for the Web service. When a process gets to a Receive step, it will wait till it receives a message to perform the task. If a Receive step is the first step in the process, then a message sent to it will launch the process. This feature enables business processes defined in FileNet BPM to be reused in other applications as services. If later on the process details are changed the clients using the process as service may not have to change if the process service interface (WSDL) has not changed. 9.2.4. FileNet BPM Complies with Web Services Standards As discuss earlier FileNet BPM Web services API complies with WS-I. FileNet BPM also implements and complies with important Web services standards such as WS-Security, which defines Web services security functions such as authentication and association of security tokens with messages. FileNet BPM also implements WS-ReliableMessaging which provides guarantee of message delivery between Web services subject to some criteria, such as a message must be delivered at least once, at most once, exactly once, or in order. As the name implies, this is an important standard to implement various policies and SLAs. 9.2.5. FileNet BPM Provides a UDDI and its Interface FileNet BPM includes a UDDI registry for Web services so that a Web service can be stored in the process engine. FileNet BPM also provides functions to update a UDDI registry by updating or deleting a Web service. UDDI registry for Web services is important as it is the repository for Web services. It serves as both a yellow and white pages for Web services and it facilitates the discovery and reuse of Web services, in this case business processes. 10. Conclusion: Leveraging BPM and SOA To address the business and IT needs of today’s enterprises, SOA and BPM must be used together. SOA and its key technologies – Web services and ESBs – provide the key elements for transforming existing IT investments into reusable services and facilitating the integration of www.filenet.com page 20
  21. 21. FILENET The Synergy between BPM & SOA August 2006 various applications and systems together. However the key value of these reusable services and standards-based integration is realized through reuse in the context of business processes. Modeling, execution, and optimization of high-level business processes that involve both people and systems are the domain of BPM. As such, BPM can help SOA drive higher value from its services. At the same time, BPM without the presence of reusable services becomes difficult and less maintainable. BPM on SOA makes business processes more agile. BPM operates more at the business level while SOA is primarily at infrastructure and technology level. Initiatives involving both BPM and SOA will have sponsorship and backing from both business and IT. There will be increasingly more convergence between services and processes and thus between SOA and BPM. However, given the current state of technology, BPM and SOA are not fully integrated. Hence they need to co-exist – integrate and interoperate. FileNet BPM is a comprehensive BPM suite that provides important standards based Web services capabilities. FileNet BPM can help you in your migration to Web services and SOA. It can interoperate with SOA products suites such as ESBs and Web services management systems. It also integrates with leading business rules using Web services. FileNet BPM can help enterprises automate and manage their mission-critical business processes in an SOA environment, resulting in optimized business performance and business agility. www.filenet.com page 21
  22. 22. FILENET The Synergy between BPM & SOA August 2006 Appendix: Glossary This section provides definitions for various non-vendor specific acronyms used in this paper. • .NET: Microsoft framework • BAM: Business Activity Monitoring; provides management dashboard, business performance metrics, monitoring, reporting, and control functionality for business processes; typically associated with BPM and considered a composite application in its own right. • BPEL: Business Process Execution Language, previously known as BPEL4WS (BPEL for Web Services), initially defined by BEA, IBM, and Microsoft is the XML based markup language for business process definition, is now owned by OASIS. As evident from the name it is for orchestration of Web services only. This is typically supported by SOA vendors. Platform vendors such as Oracle and IBM have added their own extensions to BPEL to account for human activities in processes. • BPMN: Business Process Management Notation, for graphical modeling of business processes (not execution); this is relevant in process modeling, analysis, and simulation tools. This is owned by OMG (Object Management Group). • BPM: Business Process Management, a software segment within business integration market for end-to-end management of business processes, from modeling and design to deployment and execution, to monitoring and optimization of business processes involving both people (workflow) and systems (automation). • BEM: Business Event Management, related to EDA. The technology for capture, correlation, processing, and management of events in a business context. It may also be referred to as Complex Event Processing (CEP). BEM is central to ESB and BAM. • BRMS: Busines Rule Management System, a software segment for definition, execution, and management of business rules typically expressed in the forms of condition  action. Usually an inference engine that uses forward- or backward- chaining along with functionality for defining rules in English like languages or using wizards, conflict resolution, and versioning. BRMS is synergistic with BPMS. • CEP: Complex Event Processing, similar to BEM, correlation on business events and acting on them per defined business rules. • CRM: Customer Relationship Management • DTD: Document Type Definition, An older standard for defining XML metadata (schema) but it only contains structure information and not data types. See XSD (XML Schema). • EAI: Enterprise Application Integration; used for application integration vendors with proprietary systems a few years back. Now it is used increasingly less and is subsumed by other technologies such as BPM, SOA, and composite applications. • ECM: Enterprise Content Management, a system for managing unstructured (various document formats) and structured (in XML) content on an enterprise scale. ECM has close ties to BPM as any process involves routing and manipulating a fair amount of content. A process itself is a metadata that can be treated as content. • EDA: Event-Driven Architecture, relates to ESB and CEP. • EMS: Enterprise Management System for system management such as CA Unicenter, IBM Tivoli, HP OpenView. BAM and EMS have good synergy. In fact some EMSs now provide BAM functionality, competing with BPM-centric BAM vendors. They have also started to provide Web services management competing with pure-play ESB/SOA vendors. • ERP: Enterprise Resource Planning; suite of business applications for financials, order management, etc., such as SAP and Oracle. • ESB: Enterprise Service Bus, the key product component in an SOA suite, where various applications and systems connect to a backbone and can post and receive messages/events from it. • HTTP & HTTPS: Hyper-Text Transfer Protocol is the protocol used by WWW. HTTPS is Secure HTTP. • IDE: Integrated Development Environment • J2EE: Java 2 Enterprise Edition • OASIS: Organization for the Advancement of Structured Information Standards), a not-for-profit, international consortium that drives the development, convergence, and adoption of e-business standards. OASIS owns many of the important Web services and SOA related standards such as BPEL, WS-Security, and W S-ReliableMessaging. • OMG: Object Management Group, an open membership , not-for-profit consortium that produces and maintains computer industry specifications for interoperable enterprise applications . www.filenet.com page 22
  23. 23. FILENET The Synergy between BPM & SOA August 2006 • RTE: Real-Time Enterprise, a term used by Forrester for agile enterprise where events cause changes in real-time. It relates to SOA and EDA. • SOA: Service-Oriented Architecture, a modern architectural concept for enterprise where functionality from various applications is available in autonomous, loosely coupled services with well-defined interfaces. Then new applications and services can be viewed as a composition and orchestration of these reusable services. • SOAP: Simple Object Access Protocol, encoding format for remote invocation for sending and receiving messages. • SCM: Supply Chain Management, business applications for managing value chain (supply and demand) in a chain of supplier-vendor. • SMTP: Simple Mail Transfer Protocol, the underlying protocol for e-mail • UDDI: Universal Description, Discovery, and Integration, a directory service; equivalent of yellow and white pages for Web services. • Web services: The key building block, a reusable software component that implements a particular (business) function, with a published interface in WSDL. • WS-I: Web Services Interoperability Organization, an open, industry organization chartered to promote Web services interoperability across platforms, OSs, and languages. • WS-ReliableMessaging: An important OASIS W eb services standard that is concerned with guarantee of message delivery between Web services. It addresses message delivery requirements such as at least once, at most once, exactly once, and in order. • WS-Security: Another important OASIS Web services and security standard that defines security functions for Web services. • WSDL: Web Services Definition Language, the standard for defining interfaces to Web services • XML: The base meta-language for many SOA related technologies and standards • XPath: An expression language to select, sort, and compare data in XML documents; often used with XSLT for transformation and mapping. • XQuery: A query language in XML for pattern matching and manipulation • XPDL: XML Process Definition Language is WfMC’s standard for process execution language. It explicitly supports human activities besides system elements such as Web services. This standard is mostly backed up by BPM vendors. • XSD: XML Schema to define and control structure and data types in XML. www.filenet.com page 23

×