Sunday, February 14, 2010

What is BPEL and why is it so important to my business?

Introduction

BPEL stands for Business Process Execution Language, and comes from a standards consortium consisting of BEA Systems, IBM, and Microsoft, BPEL combines and replaces IBM's WebServices Flow Language (WSFL) and Microsoft's XLANG specification. BPEL provides an orchestration engine for describing exchanges of information internally or externally. BPEL deals explicitly with the functional aspects of business processes: control flow (branch, loop, parallel), asynchronous conversations and correlation, long running nested units of work, faults and compensation. BPEL directly addresses these business process challenges: coordinating asynchronous communication between services, correlating message exchanges between parties, implementing parallel processing of activities, manipulating data between partner interactions, supporting long running business transactions and activities, and providing consistent exception handling.
In Power to The BPEL: A Technology for Web Services, David Petersen wrote "Web services technology is rapidly evolving to meet the complex needs of the enterprise customer. The ability to integrate and assemble individual Web services into standards-based business processes is an important element of the service-oriented enterprise and the overall Web service technology stack." BPEL is that technology that integrates and assembles the Web Services.
Many organizations are asking "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.
BPEL is a XML-based workflow definition language that allows businesses to describe inter or intra enterprise business processes that are connected via Web services. BPEL becomes the glue to bind Web services into a cohesive business solution, facilitating their orchestrated interaction both within and between enterprises. A Business Process using BPEL can compose multiple Web services, effectively creating a completely new business application with its own public interface to end users (internal or external). BPEL opens a completely new way or at least enhanced way, for software development for mainstream business applications to allow a programmer to describe a business process that will take place across the Internet. BPEL provides an XML-based grammar for describing the logic to control and coordinate Web services participating in a process flow. This grammar can be interpreted and executed by a BPEL orchestration engine, which is controlled by one of the participating business parties. The engine coordinates all of the activities in the process, and controls the system's corrective activities when exceptions occur. BPEL builds on and extends XML and Web Services specifications

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.

What Will Drive BPEL Adoption?

The most important case for BPEL is that proprietary EAI and static BPM solutions are just too expensive. They are expensive to develop, implement, maintain, and extend across a companys diverse business systems environment. Proprietary integration links are often brittle, and the cost to maintain them as organizations continually evolve is a significant burden. The specialized skills required to support these proprietary solutions often create their own cost and availability concerns. The frequent result is that an overwhelming amount of tight IT budgets end up being consumed by maintenance, with very little left over to satisfy changing business needs.
BPEL and Web services are technologies with the potential to finally break through this impasse. Web services provide a ubiquitous, standards-based interface that can be readily accessible from inside or outside the corporate firewall. Web service standards for service discovery (UDDI) and self-description (WSDL, WSIL) actively promote and encourage rapid integration and service reuse as they enable a company to quickly find and deploy web services in a business process.
With the advent of next generation BPEL compliant development tools, the expensive development cycles of the past are replaced with low cost integration and process changes, enabling a new level of organizational agility through orchestrated Web services. As more and more business applications create Web services interfaces, BPEL will provide a much better bang for the bucks as compared with proprietary integration solutions.

How Will BPEL Be Used?

Within the corporate firewall, BPEL has the potential to standardize application-to-application integration and extend integration to previously isolated systems. As a result of years of proprietary integration efforts, a variety of integration tools and solutions exist in the enterprise today. This remains true in organizations that adopt high-end EAI products, as the cost-benefit analysis of some integration needs cannot justify the use of custom EAI adapters. In contrast, BPEL holds promise as a "lowest common denominator" integration technology that delivers a ubiquitous, platform-neutral solution for lower cost.
Outside the firewall, BPEL can enable a whole new level of corporate agility as it relates to integrating and switching external vendors and services. BPEL also facilitates a companys ability to integrate their vendors into the company business processes from outside the firewall.
By using BPEL to define business processes, companies are empowered to select best-of-breed processes and services to incorporate into their operations. This provides flexibility to replace or upgrade certain aspects of a business process without impacting the systems that are working well. For instance, a company can change their warehouse service provider without impacting their order management system, even though both may be participants in several business processes.

When should my company begin to deploy BPEL?

BPEL is rapidly becoming the defacto standard technology, with the initial vacuum of BPEL-based development tools being filled by world leading software vendors. These vendors have recognized the considerable market opportunity and responded quickly with solutions. Vendors like IBM, Collaxa, and OpenStorm offer BPEL-compliant orchestration engines, and a variety of design and development tools have been announced by industry leaders such as Microsoft and BEA.
Regarding specific deployments, BPEL makes sense for environments that already have many exposed Web service interfaces. The greater the number of Web services available, the more valuable BPEL will become. Ease of integration is the reason that Web services have emerged as one of the hottest trends in information technology. The Gartner Group predicts that by 2004 Web services will dominate deployment of new application solutions for Fortune 2000 companies, and companies that fail to adopt this technology will find themselves at a competitive disadvantage. BPEL is the way to use and take advantage of those web services in daily business processing.
Finally, BPEL has the potential to significantly disrupt established EAI and BPM vendors and their markets by changing the integration dynamic from proprietary static adapter solutions to solutions which can be quickly modified to meet the needs of business to simply integrate and combine applications using Web Services and BPEL as the key engines. As a result, established EAI vendors are quickly moving to incorporate BPEL compliance into their proprietary products, and new vendors are leveraging a window of opportunity to create new products and new product categories. For BPM companies that have solutions based on older BPM approaches (such as XLANG, WSFL) that have been replaced by BPEL, the need to incorporate BPEL is just as critical.

Conclusion:

It is clear that by itself, Web services is a great technology without a practical way to implement it in business. What is required is a common standard on how to publish multiple services orchestrate them into business processes and audit and manage the results. That is why BPEL which becomes the glue to bind Web services into a cohesive business solution, facilitating their orchestrated interaction both within and between enterprises.

I've got 2 quick questions for you…
1.      What are the current challenges in your organization that you want BPEL to solve?
2.      What are the current issues you have been facing while implementing BPEL?

I would be more than happy to share my knowledge & read your comments.

Cheers,
Hakim Jamali

No comments: