• Ei tuloksia

2. State of the Art

2.1 Graphical BPEL Tools

BPEL processes and the activities of which they are composed can be graphically visualized, and there are already several graphical BPEL editors available.

Graphical BPEL editors considerably reduce the burden on the developer, as writing XML code by hand is somewhat error-prone. Furthermore, generating BPEL processes with a graphical editor tends to result in much cleaner code [52]. In addition, observing the overall structure of a web service is typically easier from the graphical representation than the XML code.

2.1.1 NetBeans

NetBeans1 is an IDE which can be used for several purposes. Some versions also include a graphical BPEL editor and a debugger. Web Services can be tested by creating and executing test cases. In addition, NetBeans is integrated with an application server for running the created web services.

For example, creating partner links with the graphical BPEL editor in NetBeans is effortless. The user must only drag the partner link element from the palette onto the canvas and select an existing partner link type. Alternatively, the user can create a new partner link type definition to a WSDL file in a wizard that pops up. Furthermore, NetBeans provides wide control over the created BPEL processes, as it is also possible to manually edit the BPEL process XML source code. Thus,

1Available athttps://netbeans.org/. Accessed on 2014-6-19.

2. State of the Art 8 it is possible to, for example, copy-paste BPEL code into the editor and manually edit it to suit specific needs. Unfortunately, NetBeans supports only a subset of the WS-BPEL 2.0 specification. More specifically, it uses the Sun BPEL Service Engine (SE), which excludes some language constructs of WS-BPEL 2.0 [4]. These limitations may cause difficulties in importing BPEL processes created using other tools into NetBeans. Moreover, the graphical BPEL editor is somewhat inconvenient in that the user can only drag and drop BPEL elements into fixed locations in the canvas. In particular, NetBeans provides cursor hints to indicate the locations into which a BPEL element can be placed in the canvas. Nevertheless, the approach removes the need for separate location information, thereby facilitating the import of BPEL processes from other BPEL editors, since the graphical layout of BPEL processes is automatic.

Because NetBeans also supports Java development, web service processes can also incorporate services implemented as, for example, Java Beans projects. Java Beans projects can be deployed on the application server used by NetBeans and can therefore easily be used as part of more complex web services.

At the time of writing this dissertation, BPEL process support has been removed from the latest versions of NetBeans. Nonetheless, prior versions of NetBeans, in-cluding those with BPEL support, are still available.

2.1.2 ActiveBPEL

ActiveBPEL Designer2 has been developed specifically for creating BPEL processes.

The graphical user interface (GUI) is based on Eclipse. ActiveBPEL Designer can be downloaded free of charge. Although it is possible to view the XML source code created by the graphical BPEL editor, the source code cannot be manually edited.

Effectively, the user is forced to use the GUI elements for all BPEL editing. This is a considerable disadvantage because an experienced user may find direct source code editing somewhat faster and easier than editing a BPEL process through the GUI components. Moreover, copy-pasting BPEL source code into the editor does not seem to be possible. On the other hand, the graphical editor is quite flexible, and the user can freely place BPEL elements on the canvas. Although the locations of the elements remain during saving and loading of projects, the location information is not stored in the XML code of the BPEL processes. Thus, the generated BPEL files contain completely valid BPEL code with no custom conventions, which might cause compatibility problems with other tools. However, if a BPEL process is imported into ActiveBPEL from some other tool, the location information is naturally missing, and the BPEL elements appear on top of each other in the canvas. Then, the user

2Available at http://www.activevos.com/. Accessed on 2008-4-30

2. State of the Art 9 must drag them to the appropriate locations to make the diagram comprehensible.

ActiveBPEL Designer allows the simulation of processes without deploying them on a server. Input values to the simulated BPEL process can be set before the simulation is started, and the values of variables and the current execution state can be observed at each step of the simulation.

The processes created using ActiveBPEL Designer can be deployed on an tiveBPEL server. ActiveBPEL Designer includes an ActiveBPEL server, the Ac-tiveBPEL Engine, which can be used in developing web services. In addition, the proprietary ActiveBPEL Enterprise can be used to directly deploy web services.

ActiveBPEL Enterprise allows several versions of the same web service to run si-multaneously.

When a new partner link type is created in ActiveBPEL, the user may specify a new or existing WSDL file in which the new partner link type will be stored.

Unfortunately, partner link types refer to WSDL files to specify the port types used by the partner link roles, and ActiveBPEL Designer includes no editing support for WSDL files. Instead, WSDL files must be created using some other tool and then imported into ActiveBPEL projects as web references. On the other hand, a plugin allowing, for example, the graphical creation and editing of WSDL files is available for ActibeBPEL Designer [1].

2.1.3 Eclipse

Eclipse is a general-purpose integrated development environment (IDE) that can be extended to support various technologies through its built-in plugin mechanism. For example, graphical BPEL editing tools can be installed into the Eclipse IDE free of charge as a set of plugins.

Eclipse BPEL Designer is still under development. For example, direct XML code manipulation and debugging support are yet to be included. The Eclipse BPEL project web site3 also includes the project milestone plan.

At the moment, only limited online tutorials appear to be available for the Eclipse BPEL Designer. For example, there are some videos which show how to perform certain tasks, such as creating a new BPEL project or partner link.

Whenever a new partner link type is created in Eclipse, it is automatically added to the WSDL file of the project. The file can import other WSDL files specifying the port types to which the partner links refer.

In addition, Eclipse includes a tool for testing Web Services, the Web Services Explorer. The tool is able to connect to a Universal Description Discovery & In-tegration (UDDI) [105] registry. Then, it is possible to, for example, publish web

3Eclipse BPEL Project. Available athttp://www.eclipse.org/bpel/. Accessed on 2008-4-30.

2. State of the Art 10 services in the registry. It is also possible to invoke the operations of web services based on their WSDL files. However, in order to invoke an operation, a supporting endpoint reference must be available. Otherwise, it is only possible to browse the contents of WSDL files using the Service Explorer.

2.1.4 Other Tools

Several BPEL development tools can be found on the Internet in addition to those presented above:

• Intalio|BPMS CE 4

• Oracle BPEL Process Manager5

• Cape Clear 7.5 ESB6

• Fiorano BPEL 7

• BizZyme BPEL Engine 8

• eClarus9

Some of the tools are available as limited complimentary editions, and some offer an evaluation period after which the product must be purchased to continue use. In most of the cases, registration is required to obtain a trial version.