Friday, July 27, 2012

What is BPEL?


What is BPEL?

BPEL stands for Business Process Execution Language. Like EAI, BPEL is an XML-based language, but BPEL is more specific and targeted. Specifically, a programmer uses BPEL to join sometimes disparate functions into an integrated process, resulting in a seamless use of the Internet to conduct business transactions ranging from simple money exchanges to complex calculations and asset reallocation.

Why is BPEL important for my business?

" Today's burgeoning world of Web services is clearly the next "great thing" in the field of e-commerce and integration, but until there is a common standard on how to publish multiple services orchestrate them into business processes and audit and manage the results, Web services is a great technology without a way for business to use it. For businesses, having access to Web service-enabled applications connected via BPEL means significant increases in efficiency and effectiveness. BPEL is an excellent way of implementing trading partner integration using the Internet. BPEL provides the ability for a company to quickly adapt or create new business processes, both internally and to its trading partner community. "Workflow is about the structure of interaction between various participants, with dependencies among tasks, and the rules and the routes between them, and all the conditions for when tasks are initiated and advanced to the next step or rolled back," said James Kobielus, senior analyst at the Burton Group. "Traditionally, this has been a human workflow, but in the Web services context it now relates to application-to-application interaction. That's where orchestration comes in." BPEL enables that orchestration of tasks in web based services.

History

There has been an ongoing need in enterprise to integrate business systems and applications into end-to-end business processes. Towards that end, Web services technology has made it easier to make applications and systems available across a company and also to be utilized by partners outside the companys firewall. The first phase of evolution of Web services was to establish the foundation for the description, publishing, and sharing of Web services. This included the implementation of Internet transport protocols (HTTP and SMTP for example), data models (based on XML), messages exchanged (using SOAP), the description of service operations and types (using WSDL,) and publishing and discovery of services (using UDDI). None of these core Web service specifications (SOAP, WSDL, UDDI, etc) were designed to provide mechanisms by themselves for describing how individual Web services can be connected to create reliable and dependable business solutions with the appropriate level of complexity, this is where BPEL came in. IBM teamed with Microsoft, BEA and others to develop and propose a Business Process Execution Language for Web Services, a new specification that replaced earlier approaches by IBM and Microsoft.

The design of Web services and BPEL was to design, integrate, execute, and manage in a fashion similar to proprietary enterprise application integration (EAI) adapters and static Business Process Management (BPM) tools. However, public standards for business process execution and Web services will greatly reduce vendor lock-in, which will dramatically reduce costs and provide broader interoperability benefits.

The Role of BPEL

The BPEL specification defines the syntax and semantics of the BPEL language, which contains a variety of process flow constructs. It allows for conditional branching, parallel process flows, nested sub-processes, process joins, and other related features. BPEL is defined in an XML format. Just as today's software development tools include Web services in their development capabilities, there also exist easy-to-use tools to create and manage business processes using BPEL such as SoftCares Trade Manager. If your organization has the capability to utilize Web services for system integration, then a product to manage and control the resulting business processes is critical.

Why Do I Need BPEL?

Traditional methods for integration and business process automation typically involve embedded logic inside of applications designed to meet a specific business need such as ERP, supply chain, or CRM. The development, testing, and deployment efforts required to change these applications make integration and process changes both costly and complex.

To address these issues, proprietary EAI and static BPM products emerged to abstract integration and process automation into a new layer of software tools. These software products liberated integration and process tasks from the underlying business systems so they could be more effectively changed, managed, and optimized.

BPEL and Web services now provide a standardized integration interface and a standardized language for integration and process automation. BPEL, in effect, has the potential to commoditize the capabilities provided by proprietary EAI and BPM solutions. As often occurs in a commodity market, the resulting prices for products and services are certain to fall.