Showing posts with label xbaya. Show all posts
Showing posts with label xbaya. Show all posts

Monday, August 22, 2011

Apache Airavata

The OGCE suite has recently become an Apache Incubator project, named Apache Airavata. It should be noted that I have used and worked with the OGCE components (2008 - 2010), during my internship and for our final year project "Mooshabaya". 

XBaya Workflow Suite - We worked (2009/2010) with XBaya for our final year project and have also published a paper on our work (Mooshabaya - a mashup generator for XBaya).

WS-Messenger - a publish-subscribe based message broker - Supun M and I  worked with WS-Messenger during our internship (2008/2009) at WSO2.

Tuesday, December 7, 2010

Mooshabaya and the Detailed Story..

Abstract
Visual composition of workflows enables end user to visually depict the workflow as a graph of activities in a process. Tools that support visual composition translate those visual models to traditional workflow languages such as BPEL and execute them thus freeing the end user of the need of knowing workflow languages. Mashups on the other hand, provide a lightweight mechanism for ordinary user centric service composition and creation, hence considered to have an active role in the web 2.0 paradigm. In this paper, we extend a visual workflow composition tool to support mashups, thus providing a comprehensive tooling platform for mashup development backed up by workflow style modeling capabilities, while expanding the reach of the workflow domain into web 2.0 resources with the potential of the mashups. Furthermore, our work opens up a new possibility of converging the mashup domain and workflow domain, thus capturing beneficial aspects from each domain.

Full Text




Before going into the Mooshabaya research, it is worth to have a look at the roots of Mooshabaya. JavaScript based Mashups - A content aggregation technology, that is used to compose services by remixing two or more sources [sample mashup site]. And the workflows - We prefer to represent real world processes as a sequence of operations, and here comes workflows. In practice both the mashups and the workflows have their own domain of applications. Workflows have gained their major use cases from the research communities as scientific workflows and the business communities as the business workflows. Mashups mostly target the end users and empower the user-oriented web.


What if a merge of the domains is possible? Can the domains use each other? This became the core research of  Mooshabaya.

Mooshabaya composes workflows graphically, and exports them as mashups. The mashups can then be executed and monitored at run time.
What motivates us into Mooshabaya? We have two major views. 1) As a Mashup Composer - Mashups can be created graphically by dragging and dropping components. 2) Extending the reach of the workflow domain. This includes web based APIs and web contents such as feeds. Mashup also becomes an alternative lightweight medium for workflow execution.

Before going further into Mooshabaya, we look at the related works. Yahoo Pipes, JackBe Presto, and Serena are some of the Mashup composers, that allow visual mashup composition through their graphical user interface. XBaya, Taverna, Triana, CAT (Composition Analysis Tool), Kepler, and Pegasus are some of the graphical workflow composers. Each of these tools has its own set of features and target use cases.

So what is special about Mooshabaya? Visual Mashup Composers mostly restrict themselves to Web 2.0 APIs. So far mashups are seen mostly as a content aggregation technology. Existing mashup composers do not support the monitoring of the execution of the mashups at run time. When considering the workflow composers, the traditional workflow languages have a high learning curves. Content aggregation is minimally supported in the existing tools. Mooshabaya is expected to fill these gaps in both the domains.

Let's have a look at the implementation of Mooshabaya. Registry Integration, Mashup Generation, Deployment, Monitoring, Security and the user interface are the major components.
Here we have the major use case of Mooshabaya. 

First the user wants to compose workflows - He integrates a web service registry into the system. Then he discovers and fetches the services metadata from the registry. By dragging and dropping the metadata files and other service components into the Mooshabaya canvas, he composes the workflows. 

Then he exports the workflow as a mashup. After that he can deploy the mashups into a mashup server. Here mashups are deployed into a mashup server and the relevant workflow files and the service metadata are stored into a registry. After the deployment, he can execute the mashups deployed in the mashup server and monitor them at the execution time. Secured services found in an Identity Server too can be used in the workflow composition.

As we discussed, Mooshabaya provides a solution for the complete mashup life cycle, where the existing  products are not providing at the moment. For example the monitoring phase of the mashups.

Our reasearch was mostly focused on the two domains. The integration of a WS-Eventing based notification system for remote monitoring of the mashups. Next we have the mashup security, based on username password based authentication.

Mooshabaya has used XBaya as the core workflow composer. Rather we can consider it a mashup generator for XBaya. WSO2 Mashup Server is used as the mashup server for Mooshabaya, and WSO2 Governance Registry as the web services registry. For the performance analysis, we benchmarked its performance against the XBaya's existing options. The performance graphs compare the file sizes and the generation times. The mashup file size was considerably smaller than the respective BPEL file, thus reducing the time to deploy the file to a remote server. The mashup generation time and BPEL generation time too were close to each other, without much difference. 

Scientific researches such as the LEAD system, business processes, and educational researches are the major target users of Mooshabaya. As a point for future works, we can mention that, Mooshabaya still can be extended with further research, specifically a web based interface, and the support for the delegated authentication scenarios.

Sunday, June 20, 2010

Mooshabaya - The Story..

Dr. Malinga is a scientist interested in e-Science researches. He predicts the weather by analyzing the data collected over the grid. Dr. Malinga uses workflow domain to analyze the scenario, and comes up with workflows that describe the rapidly changing atmospheric conditions. He executes the workflows in his workflow system and monitors them at run time. In this process, he also wants to secure some of the services from unauthorized access.

He is looking for a much light weight model to prototype the scenario rapidly. So he can avoid learning the XML technologies or the workflow languages such as BPEL, which takes a lot of time. He is interested in using yahoo geocode and similar web based APIs. He also prefers to integrate real time data collected via satellite feeds and feeds from the other sources into his system of workflows.

Mashup creates new services by aggregating two or more sources. We can develop them rapidly using the APIs, without investing much on learning them. They are light weight and can be extended easily.

As a solution for the scientist, Mooshabaya comes as a system that can utilize the best of both the domains, by a potential merge. By exporting workflows as mashups Mooshabaya invests on the synergy of the domains.

In the process of developing the workflow system, we have used the known existing tools as the base. XBaya Graphical Workflow Composer from Indiana University is used as the core of the system. We have extended XBaya to export the workflows as mashups, and the mashups are deployed into WSO2 Mashup Server. The service metadata are fetched from WSO2 Governance Registry. The composed mashups are executed in the Mashup server and monitored in the run time.

Here we come back to Dr.Malinga with Mooshabaya. Mooshabaya discovers the service metadata from Governance Registry and fetches them. Created workflows can be saved and fetched later. Workflows are exported as Mashups. Respective service metadata is added to the Registry, while the mashups are deployed into Mashup Server. Mooshabaya also supports composing with secure services found in WSO2 Identity Server. Mooshabaya executes the workflows that are deployed into Mashup Server as mashups. WS-Messenger is used to publish the notifications from the executed workflows, and Mooshabaya monitors the execution by subscribing to the notifications. Hence Mooshabaya provides a better workflow solution for the scientist.

Friday, May 14, 2010

Mooshabaya 1.0 - RC2

RC2 of Mooshabaya 1.0 with all the primary features implemented is
available now: https://mooshabaya.svn.sourceforge.net/svnroot/mooshabaya/tags/1.0-RC2/

A screencast of Mooshabaya 1.0 - RC2:


Coloring of the nodes hasn't been captured in this screen cast, though Mooshabaya can depict the running workflow dynamically by the colour change as the workflow is run. Similarly the security scenario which has also been  implemented, hasn't been captured in this small screencast. This is a raw screen  capture using XVidCap, which will be mixed with voice and further editing. Avidemux 2.5.2 Multi-platform Video Editor will be used in further editing these raw screen captures. A list of open source video software can be found here.

Friday, April 30, 2010

Input Sources - Mooshabaya

Screencast depicting the Input Sources - Feeds (rss1.0, rss2.0), Scraper, and Files of Mooshabaya. The respective mashups are generated using Mashup Generator of Mooshabaya and can be deployed into WSO2 Mashup Server, as it has the respective implementation of these input sources as host objects. This screencast was captured using XVidCap and modified (video length is reduced to 4 min and 53 seconds) using ffmpeg.
ffmpeg -i in.mpeg -t 00:04:53 -target film-dvd inputsources.mpg

[1] Feed Host Object Guide
[2] Scraper Host Object
[3] File Host Object
[4] Writing a Custom Host Object

Wednesday, July 22, 2009

Monitoring a workflow in XBaya

Initial Steps
SVN Checkout the xbaya source code.
mvn idea:idea from the source root to create an IntelliJ IDEA project from the pom.
Start Tomcat and Run StartMessenger of the WS-Messenger.
Quick installation steps for WS-Messenger can be found here.
Open the XBaya project file and modify the default broker url to http://localhost:8080/messenger/ in XbayaConstants.java
Run XBaya.java.

XBaya Workflow Composer
Component -> Add Local Directory [add a directory containing the wsdls which are the wsdl's of the services deployed in Axis2]
Using the components, create a workflow [Say a simple arithmetic addition workflow].
Monitoring -> Configure Monitoring; Use a valid string for topic, and uncheck the Pull Mode.
Monitoring -> Start Monitoring
Workflow -> Run Workflow.

Give suitable values for the parameters. If it is an addition function, give two integer values for param0 and param1.

XBaya will monitor the workflow and will indicate the Time, Component, Status, and Message.


Results can be seen in the idea output as below.


Increase can be seen in the incoming message number and subscriptions/unsubscriptions in the broker [http://localhost:8080/messenger], and the Total successful outgoing message number of the delivery thread of WS-Messenger [http://localhost:12347/].

Saturday, June 20, 2009

XBAYA - A Graphical Workflow Composer for Web Services

XBAYA - A Graphical Workflow Composer for Web Services is a graphical client program, developed as a Grid Web Services Project (xgws), at the Extreme! Labs of Indiana University. It does workflow composition, monitoring, and more, by providing a GUI to compose workflows from Web Services described in WSDL. The composed workflow can be exported to workflow languages, where BPEL and Jython Scripts are supported currently.

Source code of XBaya can be checked out here:
https://ogce.svn.sourceforge.net/svnroot/ogce/ogce-portal-only/portlets/xbaya/

XBaya is included in the OGCE Portal of the OGCE Collaboration.

More Information:
Interpreting Workflow Scripts
The wiki page for XBaya
Information on workflow can be found here.



The Open Grid Computing Environments Portal and Gateway Toolkit [The OGCE collaboration]


This contains the collection of components including, OGCE Portal, Workflow Suite, Axis Web Services, GTLAB, OGCE Gadget Container, and Cyberaide.

OGCE Portal Capabilities include Grid credential management, Secure remote file management and code execution, Views of Grid information services such as machine load, usage, and queue wait time, and Workflow composer (XBaya).

It requires Java SDK 1.5 or higher and should be installed on Linux, Unix, or Mac OS X operating systems.
Portal toolkit 2.4 can be downloaded as a tarball here.
You may also checkout the source using
svn co https://ogce.svn.sourceforge.net/svnroot/ogce/tags/ogce-portal-only-release-2.4