Welcome Guest!
Create Account | Login
Locator+ Code:

Search:
FTPOnline Channels Conferences Resources Hot Topics Partner Sites Magazines About FTP RSS 2.0 Feed

Free Subscription to Enterprise Architect

email article
printer friendly
more resources

Build Your Business
Apps With BPEL

Examine a collection of commercial and open source tools to support the full lifecycle of BPEL development.
by Avi Borthakur and David Shaffer

December 13, 2004

The goal of software development tools is to increase productivity by simplifying and automating tasks while exposing concepts at a level users can easily understand. Over the years, these tools have evolved from simple code editors, compilers, and debuggers to integrated development environments (IDEs) that provide developers with a single environment to develop, debug, and test their programs. Collaborative development is available through integration with a source-code control system, and traditional tools focused on support for coding have been evolving to support high-level modeling.

ADVERTISEMENT

The Business Process Execution Language (BPEL) for Web services provides a standard, portable language of business-process automation and development of "composite applications"—business applications—based on a set of multiple interacting services. BPEL builds on a decade of progress in the areas of business process management (BPM), workflow, and integration technologies and is supported on both the .NET and Java platforms.

Although it relies on traditional tool features, BPEL programming has more specific requirements, chiefly because business processes involve not just software systems but also entities such as people and wireless devices. This factor has made it necessary to converge complementary tools from portal, modeling, workflow, and integration worlds into a single toolset for comprehensive support for BPEL development. Also, software-development patterns become more prominent as the languages get specialized; you can now use a metalanguage to express what was earlier expressed in code. Therefore, the metalanguages of the Web services generation, such as BPEL and Extensible Stylesheet Language Transformations (XSLT), are much easier to work with using highly graphical drag-and-drop environments instead of standard code editors. In this article, we cover these and other tools required for effective BPEL development.

BPEL in Practice
To understand and appreciate BPEL development tools, let's consider a real-world problem. In the following sections, we explain how the tools address the problem's specific areas.

An order-management process at a large hardware manufacturer accepts wholesale orders from many sources and responds immediately with an order-tracking number. However, it has a long-running flow in the back end to process and track orders, and it calls clients back when invoices are ready. Specifically, this flow needs to invoke services, such as looking up payment terms in an enterprise resource planning (ERP) financial system, as well as submitting the order to a mainframe system. XML data is exchanged between the systems, and the manufacturer must process several hundred transactions a day at peak loads (see Figure 1).

Modeling Tools
We start the development of our order-management process (see Figure 2) with a business analyst modeling the flow of the process, the end systems, and the interactions with those systems using these high-level modeling tools. (The model, at this point, is at an abstract level.) BPEL is then generated from this model and made available to the developer to fill in implementation details.

Visual modeling tools, which have been around for several years, are used primarily during the software-design phase. These tools, including those that enable business modeling, workflow modeling, simulation, and object-oriented modeling with UML, are staples in the world of analysts, architects, and experienced developers. Typically, coding to fill in the "stubs" follows up this initial design work.

Back to top

Printer-Friendly Version





Java Pro | .NET Magazine | Visual Studio Magazine | XML & Web Services Magazine
VSLive! | Thunder Lizard Events | Discussions | Newsletters | FTP Home