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.