Google Summer of Code 2008 Proposal

Subject

AJAX based Monitoring & Management Console for Apache ODE

Author

Milinda Lakmal Pathirage

Email

milinda.pathirage@gmail.com, milindalakmal@cse.mrt.ac.lk, milinda@apache.org

Web Site

http://people.apache.org/~milinda

Project Title

AJAX based Monitoring & Management Console for Apache ODE

Synopsis

Apache ODE (Orchestration Director Engine) is work-flow engine which executes business processes written following the WS-BPEL standard. It supports composition of web services by choreographing or orchestrating service interactions.

The users of this kind of work-flow engines need an easy way to deploy, select, inspect, and correct processes and related endpoints. So some kind of a graphical administration interface is a major requirement which will increase the usability as well as popularity of the work-flow engine we are concerning. Currently Apache ODE only support Web Services based management API, but it lacks support of graphical administration interface.

AJAX based Monitoring & Management Console for Apache ODE is a project aimed at implementing Ajax based web application that expose monitoring and management capabilities support by Apache ODE BPEL engine and integrate it with ODE's Axis2 deployment.

This will enable users to gain full advantage of the ODE, by making deploying BPEL deployment bundles easier, allowing them to monitor running process models, instances, engine status, and providing easy to use interface to suspend/resume and start/retire process instances and models.

Deliverables

1. Ajax based Monitoring and Management Console for Apache ODE which embed into ODE's Axis2 deployment.

2. Appropriate documentation to guarantee the continuation of the project.

3. Set of test cases which make sure the functionality of the web application.

4. Complete online tutorial which shows how to use the Monitoring & Management Console.

Project Details

Apache ODE is a BPEL engine that executes business processes described in WS-BPEL standard by orchestrating existing Web Services. ODE talks to web services, sending and receiving messages, handling data manipulation and error recovery as described by the process definition. ODE supports both long and short living process executions to orchestrate all the services that are part of the application we are interested.

When it comes to production level deployments of ODE, users have to check which business processes are currently deployed, running and completed instances and their status, number of processes, number of active processes, number of messages sent/received and more. Also users must be provided with facilities to deploy/undeploy BPEL deployment bundles, start/retire process models and suspend/resume process instances.

Currently ODE has a complete management API which consists of Process Management and Instance Management interfaces and these two interfaces are available as web services on the Axis2-based distribution. Lack of easy to use graphical interface is a major disadvantage when it comes to production level deployments and decreases the value of features provided by ODE.

AJAX based Monitoring and Management Console will provide Axis2-based ODE users with easy to use web based management and monitoring console which has following features:

Also this management and monitoring console will include authentication and authorization support. Based on the authorization details and user levels functionality is provided by console will be changed. In the initial implementation only admin and normal user level are handled by authorization. Administrator will be able to enable/disable functionalities normal users. Handling authorization levels will be implemented as further improvements after finishing the initial stage of the project.

Project Plan

Usability is a major issue, when implementing Web based management and monitoring console. If the design is bad and user feels very uncomfortable with the way he interacts with the system, there is no value in it. So, in the first place I have to consider about the design of the graphical user interface and how we are going to provide different kind of functionalities in a better way that makes users life easier.

Also when considering AJAX based web application, we have to find the right balance between server side technologies and client side technologies which we are going to use.

Therefore as the first phase of the project, I plan to talk with ODE developers and design the user interface prototype first with small set of features. And after we finalize the design, I plan to discuss and figure out by doing some prototypes, what is best server side technology we are going to use for the final implementation.

With the starting of initial stage implementation, I plan to start creating requirements and specification document for Management and monitoring console which will help in future development and examine the project status.

And the second phase I'll implement the project by adhering to the design came up in the first phase and work with community to get more feedback about the web application.

In the final phase I'll fix the bugs reported during usage of the web application and prepare required documentation for the project.

Project Schedule

April 15th to May 25th

Google has included nearly 1 1/2 months for community bonding in GSOC 2008. The main idea behind this is to give more time for students to become familiar with their mentoring organizations behavior, processes and get to know about the project. Even though I have good experience with Web Services related things and AJAX, I don't have enough experience with Apache ODE and WS-BPEL. This period will be used to getting familiar with WS-BPEL and Apache ODE, writing few samples using Apache ODE, and getting familiar with Management API.

Discussing the design of the Web UI, technologies going to use in the server side (lift web framework, Struts) and client side (jQuery, Protoype). Implementing simple prototype, get community feedback on design issues and implementation issues.

Writing requirements and specification document using gathered information.

May 25th to 10th June

Implement the landing page and part of the deployment details section and gather community feedback.

In this period of time I’ll mainly focused on getting feedback about design, usability and features required in landing page deployment section which are not implemented or have to improve.

Adding gathered information to requirements and specification document.

June 11th to July 6th

Design and Implement processes section and finish implementing deployment section of the management and monitoring console.

Gather and analyze community suggestions and comments about currently implemented features. Update requirements and specification document to reflect changed requirements and overall design of the web application.

July 7th to July 31st

Implementing process instance explorer and releasing milestone 1 of the management and monitoring console for Apache ODE.

This milestone 1 release will help me to gather feedback about missing requirements, usability issues and bugs in the web application.

August 1st to August 10th

Fix bugs discovered after Milestone 1 release and finishing documentation for the project. This documentation will ensure the continuation of the project.

August 10th to August 18th

Writing tutorial on Management and Monitoring console and fix bugs discovered during this period.

Biography

I am a final year student of the Computer Science and Engineering Department at University of Moratuwa, Sri Lanka. I have been working with Web Services related technologies for almost 1 ½ years. I have worked in Apache Axis2 WSDL2C (Java) project (Code Generation Tool for Apache Axis2/C) for about 6 months and I was accepted as an Apache committer in January 2007 for that contribution. I am actively working with Axis2/C and Rampart/C projects since September 2006.

I have implemented WS-Trust specification for Rampart/C and currently working on implementing PKCS12 Key Store support for Rampart/C, WS-Federation specification implementation for Rampart/C and Axis2/C. have implemented parts of the WS-Security Policy for Axis2/C Neethi module.

I have worked in WSO2 Mashup Server project from February 2007 to May 2007. I mainly worked on Web Based UI section and have experienced with AJAX and YUI JavaScript library. I have implemented WSRequest JavaScript version during this time period(Currently maintain by Mashup Server Team).

Also have experience with GTK+, PyGTK, Python based lexer and parser development, jQuery JavaScript library, Prototype JavaScript Library, ExtJs JavaScript Library and Perl Scripting.

I am very interested in Open source development and Web Designing. I hope my past experience with Web Services, Axis2, Axis2/C, Rampart/C and Ajax based web application development will help me to make this project successful.

My ohloh.net profile

My Apache Home Page

References

Apache ODE

Apache ODE User Guide

Apache ODE Management API

WS-BPEL

[htttp://www.cse.mrt.ac.lk Computer Science and Engineering Department, University of Moratuwa, Sri Lanka]

University of Moratuwa, Sri Lanka

ActiveBPEL

MilindaLakmal/GSOC2008Proposal/ApacheODEAJAXBasedMonitoringConsole (last edited 2009-09-20 23:35:41 by localhost)