2.1. Product Perspective
"Mooshabaya" targets to generate mashups to describe the composed workflows, by modifying
XBaya Workflow Composer. XBaya currently exports the composed workflows into BPEL and
Jython Scripts. Mooshabaya will find the services from WSO2 Registry and other service
registries supported by XBaya, which govern SOA deployments, and the composed workflows
are deployed into a mashup Server as mashups. WSO2 Mashup Server will be used as the
mashup Server for Mooshabaya. Though Mooshabaya focuses and uses WSO2 Registry to find
services, it can easily be generalized to be compatible to any other Registry that is available.
Data feeds can also be used instead of a Registry as an input source.
In addition to that Mooshabaya also can be extended to store the messages as tuples, instead of
variables which are the default storage elements of the mashups. In that scenario, the generated
tuples can be stored in a tuple space, which will be generated by the project Bissa "Scalable and
Hierarchical tuple space".
2.2. Product Features
Mooshabaya has the following as its key features. Each of them are described detailed in the
Functional Requirements of this document.
Detection of Input Sources
Run the Workflow
Monitor the Workflows
2.3. User Classes and Characteristics
Mooshabaya is a mashup generator for workflow composing. Mooshabaya mainly targets the
Scientists, engineers, and students to run the scientific workflows, which is the major usecase of
XBaya, as well as suitable for business workflows and other workflows, gaining the users from
the relevant areas.
Since the users are considered as having considerable experience in the workflow domain, the
users are not considered as novice computer users. Configuring and customizing Mooshabaya to
function as a stand alone or web application will be needed. As the open source practice, source
code will be made available to the public, so the interested developer level users can customize
and further extend the code base to fit their requirement.
2.4. System Environment
Mooshabaya will run in a local computer and it will find input sources and web service endpoints
from given registries and other data sources like RSS feeds etc. With these, Mooshabaya can
compose workflows and run them and generate mashups for those workflows to deploy and
execute in WSO2 mashup server. So Mooshabaya will interact with the given web services and
input sources to run the workflow and it will monitor the workflow process using an eventing
Mooshabaya can also find the Registries, mashup Server, Messanger, Messageboxes that are
needed in the workflow composition and monitoring from the remote location. So Mooshabaya
functions as an online application as well as a stand alone application.
2.5. Operating Environment
Intel Pentium 4, 3.0 GHz or above.
System memory of 512MB or above.
A hard disk space of 40GB or above.
A Internet connection with a reasonable bandwidth
Java runtime environment 1.5 or higher
2.6. Issues and Constraints
XBaya is used as the core resource in the development of Mooshabaya. Mooshabaya basically
exports the composed workflows as mashups. The classes that can be reused from the XBaya
will be reused in Mooshabaya. We will consider to reduce the limitations and issues of XBaya, if
any found as we develop Mooshabaya.
This project is experimental, that combining the mashup domain with the workflow domain. A
considerable amount of research to be involved in this project, making the unique challenges of
being the first of its case.
Mooshabaya is quite extensible and it can be more generalized to suit several registries and
mashup Server. Mooshabaya will use the existing functionalities of XBaya and concentrate
2.7. Documentation and Help.
Documentation is an important aspect of software engineering. Both the user and developer
level documentations will be made available with Mooshabaya. Apart from these user manuals
and Readme files enabling the successful installation, configuration, customization, and effective
usage of Mooshabaya, the developer website will be open for the users to get the updated
Project irc has been created to discuss the project development issues as well as the other
related discussions among the team members. The development information as well as the
other issues are discussed in the personal developer and project blogs and the project websites.