2. Getting Started

2.1: Installation

Installing JOpera for Eclipse is done in a few steps:

  1. Start Eclipse.

    Note: If you do not already have an installation of Eclipse 3.6, download it from http://www.eclipse.org , unzip it, and start it.

  2. Select the Help Menu and click on Software Updates and then on Find and Install... Select Search for new features to install and push the Next button.

    Figure 2.1: Help, Software Updates, Find and Install...

  3. Push the New Remote Site... button on the top right. Enter JOpera as name and http://www.update.jopera.org/ as URL and hit the Ok button.

    Figure 2.2: Adding the JOpera Update Site

    Then check/select the box of the newly created JOpera site as well as of the Eclipse.org update site and push the Next button.
  4. It will take a while until the features list is updated. From the updated list select JOpera for Eclipse and Graphical Editing Framework 3.0.1. Then click on Next. Accept the license agreements on the next page for both features. If you do not have write permission in the Eclipse directory, press the Add Site... button and point to a location where you have write permission. Make sure you selected the newly added site. In any case, proceed by hitting the Finish button and press the Install button for each feature as soon as prompted.

    Figure 2.3: Adding a new installation Site

  5. You will now be asked if you want to restart Eclipse. Press Yes and you should be all set as soon as Eclipse has been restarted.
  6. That's it: Enjoy JOpera for Eclipse!

2.1.1: Installation from the Command Line

To install JOpera on Eclipse 3.6 (Helios) from the command line you can use the P2 director as follows:

./eclipse -application org.eclipse.equinox.p2.director -repository http://www.update.jopera.org/,http://download.eclipse.org/releases/helios -installIU org.jopera -nosplash
To install the JOpera server, use this other command on a different instance of Eclipse:
./eclipse -application org.eclipse.equinox.p2.director -repository http://www.update.jopera.org/,http://download.eclipse.org/releases/helios -installIU org.jopera.server -nosplash
On older versions of Eclipse (3.5 and earlier), it is also possible to install JOpera using the Eclipse command line update application.
./eclipse -application org.eclipse.update.core.standaloneUpdate -command install -from http://www.update.jopera.org/old/2.5.0/ -featureId org.jopera -version 2.5.0
For each JOpera feature, you will need to know its latest version number and its featureId. Use the following for a complete install of JOpera Visual Composition Environment
./eclipse -application org.eclipse.update.core.standaloneUpdate -command install -from http://www.update.jopera.org/old/2.5.0/ -featureId org.jopera -version 2.5.0
./eclipse -application org.eclipse.update.core.standaloneUpdate -command install -from http://www.update.jopera.org/old/2.5.0/ -featureId org.jopera.subsystems -version 2.5.0
./eclipse -application org.eclipse.update.core.standaloneUpdate -command install -from http://www.update.jopera.org/old/2.5.0/ -featureId org.jopera.feature.log -version 2.4.8
./eclipse -application org.eclipse.update.core.standaloneUpdate -command install -from http://www.update.jopera.org/old/2.5.0/ -featureId org.jopera.subsystems.ws -version 2.4.2
./eclipse -application org.eclipse.update.core.standaloneUpdate -command install -from http://www.update.jopera.org/old/2.5.0/ -featureId org.jopera.subsystems.gs -version 2.5.0
./eclipse -application org.eclipse.update.core.standaloneUpdate -command install -from http://www.update.jopera.org/old/2.5.0/ -featureId org.jopera.www -version 2.5.0
Alternatively, to install the JOpera Server, use the following:
./eclipse -application org.eclipse.update.core.standaloneUpdate -command install -from http://www.update.jopera.org/ -featureId org.jopera.feature.server -version 2.5.0

Note: The server must be installed on a separate Eclipse instance then the JOpera Visual Composition Environment

2.1.2: System Requirements

The JOpera for Eclipse currently requires Java JDK 1.5 and a working installation of Eclipse 3.6 There are no specific requirements regarding operating system. You may use it on any OS where the Java JDK as well as Eclipse work. It has successfully been used on Windows XP, Vista, 7, Linux and MacOS/X platforms.

2.2: Running JOpera for Eclipse

JOpera for Eclipse is started by running Eclipse. All you may need to do is switching to one of the JOpera perspectives. In case you need to switch to the JOpera perspective manually, you can do so by clicking on Open Perspective and then on Other in the Window menu. Then choose either JOpera Design or JOpera Monitor in the Select Perspective dialog.

Figure 2.4: Switch to a JOpera perspective

2.3: Upgrade

To keep your JOpera for Eclipse up-to-date, just use the Eclipse Update Manager regularly. Make sure to do a full rebuild of your workspace after upgrading.

2.4: Basics

2.4.1: Service Composition with Processes

JOpera is a tool to build composite systems out of components. These components can be of many different types, including SOAP/REST Web Services, UNIX applications, Windows applications, Java snippets, XPath queries and many others. The structure of such composite system is defined with a Process, which defines the control and data flow between the various components.

2.4.2: Design-Time User Interface

JOpera basic interfaces comes with two perspectives: Design and Monitor. The Design Perspective is used to model and define your processes. The Monitor perspective is used to watch the processes as they run. These perspectives give you access to a set of views that complement the Editor of JOpera's OML files. In the Design Perspective, these views include:

  • the JOpera Navigator (manage your OML files)
  • the Outline (view and edit the structure of an OML file)
  • the Properties (set properties of selected JOpera elements)
  • the Problems (see JOpera errors and warnings, updated in real time)
  • the JOpera Library (reuse your processes and programs)
In the following, we introduce each of these views. After you become familiar with them, you can open some examples and start using JOpera. Otherwise, you can skip ahead and try some of the tutorials to quickly become productive with JOpera!

JOpera Navigator

The JOpera Navigator gives you an overview of all the JOpera projects you have in your workspace and all OML files therein. Right clicking in this pane lets you create a new JOpera project or a new OML file. It also enables you to import WSDL descriptions of Web Services or JAVA classes. Double-clicking on any of the OML files will open the corresponding JOpera Editor.

Figure 2.5: The JOpera Navigator


The outline gives you a brief overview over everything contained in an OML file. This includes the processes and their parameters, tasks and views as well as the programs and their parameters and Adapters. Double-clicking on either of these will open a detailed view in the Editor. Right-clicking in this pane lets you add and delete various elements (Processes, Programs, Parameters, Activities, SubProcesses) to the OML file.

Figure 2.6: The Outline View


The Editor lets you have a more detailed view on the OML files and lets you edit them. You can in particular add new processes, populate them with tasks, add or remove parameters and define the data and control flow graphs by switching among the various pages.

Figure 2.7: The Overview page of the OML Editor

Problems and Properties Views

The Problems View shows if there are any problems in the process you are currently working on. The process will not run as long as there are errors in it. In some cases, JOpera provides a Quick Fix. Clicking on the Properties View will show any defined properties of the object selected in the graphical part of the editor.

Figure 2.8: Look out for JOpera Errors and Warnings in the Problems View

JOpera Library

The JOpera library displays what are the currently available programs and processes that can be composed. Like with the Outline, to add a new task to a process, you can drag and drop selected elements into a data or control flow view of an Editor. Displayed elements can be interactively searched and browsed by grouping them using several criteria.

Figure 2.9: The JOpera Library view showing the Standard JOpera Library

2.4.3: Compiling Processes

Before you can run a process, it needs to be compiled. This is done automatically as soon as you save an OML file. All you need to make sure is that in the menu Project, Build Automatically is selected. Alternatively you can compile the process by selecting Build All in the Project menu.

Figure 2.10: Building the Processes automatically

2.4.4: Deploying Processes

After they are compiled, processes will be deployed automatically and transparently so that they will be immediately ready for execution.

Note: It is possible to redeploy all processes with a Project, Clean...

2.4.5: Running Processes

In order to run a process, click on Run... in the Run menu. In the Run dialog, select the JOpera Process launcher and then click the New button. This will create a new launch configuration to execute a process. Choose the process which is to be executed by pressing the Browse button and the select the process in the new dialog. Now complete the launch configuration by filling in the values for each of the process input parameters. The process will be started as soon as you click on Run.

Figure 2.11: Configure a new launch configuration for a JOpera Process

2.4.6: Monitoring Processes

At run-time, in the Monitor Perspective, you have also access to additional debugging and monitoring views:

  • the Instance Navigator (see what processes are running)
  • the Properties and the Parameter Viewer (see what are the values of selected parameters)
  • the JOpera Stack (check which process is calling this process)
  • the Kernel Memory Inspector (look at the entire state of the running processes, for advanced users)
  • the Kernel Console (command line, development interface to JOpera's execution kernel)
These allow you to check the progress of a running process, watch its state and interact with it.

Instance Navigator

The Instance Navigator gives an overview over all of the processes that JOpera is (or has been) running. The color of the dots indicates their current state. You can get more details on a running process instance by clicking on it, which will open (or switch) to the corresponding graphical editor. This view also let you interact with processes, where they can be terminated (or killed), suspended/resumed and even deleted.

Figure 2.12: The instance navigator view

Monitoring Processes in the Editor

Please note that in the monitor perspective you no longer can edit the processes as they are being executed by JOpera. Instead:

  • the editor will change the color of the task boxes according to their current state of execution. An orange box indicates that a service is currently being invoked (JOpera is waiting for a response). A box will then switch to blue when a successful invocation has finished and red, when something has failed
  • In the data flow view (shown in Figure 2.13), parameters boxes will show the first few characters of their content
  • when hovering the mouse over a parameter box, JOpera will show you a tooltip with its current value
  • you can also select a task box to read information about its runtime execution state in the Properties view. Additional information (e.g., performance related) is shown when showing the advanced properties
  • for very long parameter values, you can show their full content in the Parameter Viewer

Figure 2.13: Editor in the Monitor Perspective working together with the Properties and Parameter Viewer

JOpera Stack

The process instances calling the currently selected one can be listed by opening the JOpera Stack view. Double click on a process instance shown on the Stack to open it in an editor.

Figure 2.14: The JOpera Stack view working together with the Instance Navigator

Advanced Debugging Support

More low-level details about the progress of the execution can be seen in the Kernel Memory Inspector view, which shows a table with all parameter values and can be searched (by typing a parameter name in the Filter box) or filtered interactively by clicking with the mouse on the interesting processes and tasks.

Figure 2.15: The Kernel Memory Inspector

2.5: Examples

A large set of examples is included with JOpera. You can load them into your project workspace by using the New > Examples... menu command of Eclipse. The following non-exaustive list describes some of the available examples. Watch the video at http://www.jopera.org/docs/videos/dag to learn how to create and run an example file.

Note: The available examples may depend on the set of installed JOpera features

Basic Examples
halloworld.oml Example used in: Chapter 3: Hello World Tutorial.
math_factorial.oml Example showing how to write a recursive process.
loan.oml Classical Loan Processing example.
ajax_gmap.oml Center a Google Map at the given address.
ecommerce.oml Classical Customer/Supplier/Shipment Warehouse example (featuring asynchronous interactions).
foreach.oml Simple parallel for each example
dir.oml Compute the size of all files in a folder (in parallel)
Web Services Examples

Note: These examples may not always work due to the age of the Web services employed. If you find a suitable replacement Web service, let us know!

ws_quiz.oml Example showing how to call a Trivial Quiz Web Service.
ws_eliza.oml Example showing two different ways to make an Eliza Web Service chat with herself.
Mashup Examples
yahoo.oml Show Yahoo Local search results on a Google map.
mashup_doodlemap.oml Use Yahoo Local search results to initialize a doodle poll, which is then shown on a Google map.
mashup_maptube.oml Show a Google map where YouTube videos are positioned interactively.
Component Type Examples
echo.oml Example for the ECHO component type.
bpel_example.oml Example for the BPEL component type using the lib.bpel library.
msg_example_asynch.oml Example for the MSG component type, showing a complex e-business asynchronous interaction where a client interacts with a set of suppliers through a broker composite process.
msg_example_cs.oml Example for the MSG component type, showing a simple asynchronous interaction pattern between a client and a server process.
notepad.oml Example for the UNIX component type, showing how to run the notepad.exe Windows application from a process.
ssh_date.oml Example to run the date command through a remote SSH connection.
Workflow Patterns Examples
patterns.oml The workflow patterns. (More information in Chapter 9: JOpera Visual Composition Language Reference)
signals_example.oml Examples using the system.signals library showing how to cancel, suspend and resume the execution of a process from within the process itself.