The RAISME platform will be an open source platform and form the basis of an open-source community consisting of individuals, teams and organizations working to build a world-class and innovative open source mash-up platform that allow users to integrate services and build their desired work-flows with them. Users will be able to create analyses and different visualizations of the data, they will be able to create their own mashups through different services creating their own application. The RAISME Web site offers several ways that allow visitors/users to get involved and contribute to the community.
The RAISME core is based on WSO2 Stratos, so it has a key role in the project. First of all, we are going to see an explanation about what Stratos is and later the benefits it gives to the project.
WSO2 Stratos is an open-source cloud middleware platform for cloud-based enterprise applications. It is a Java Paas (Platform as a service) where applications can be in a public or private cloud.
The main Stratos components which are interesting for the RAISME project are: Application server, DataServices server, ESB, Identity Server, Governance Registry and Business Activity Monitor.
- Application server: Hosts applications available on the platform.
- DataServices server: File application services are at the core data of the platform.
- Enterprise Service Bus (ESB): Is an asynchronous, non-blocking Service Bus with support for streaming and based on the Apache Synapse mediation engine.
- Identity Server: Is the component used to identify and bill the customers.
- Governance Registry: Centralized registry for information and meta-data information. Supports other modules.
- Business Activity Monitor: Can perform advanced monitoring and reporting operations if required.
Stratos allows to move applications and services accross various cloud providers and platforms with little extra work. It gives a lot of flexibility to companies which do not want to be stuck in a specific provider and may get into a lot a trouble if their needs change and want to change to another cloud provider. Some of the accepted providers are as important as Eucalyptus, Ubuntu Enterprise Cloud, Amazon Elastic Computing Cloud (EC2) and VMware ESX.
Stratos has a Web-based management portal where users can configure, manage and govern independent, but consistent, servers for each department, or for each stage of a system’s lifecycle. Each server is completely virtual, scaling up automatically to handle the required load, and metered and billed according to use. Stratos has a billing module that allows companies generating monthly bills and send email notifications.
Stratos is a cloud platform, as such it allows developers to build their own SaaS Web applications and use the multi-tenant WSO2 as a service to manage tenant identities. It also integrates readily with Google Apps user directories, enabling OpenID SSO into WSO2 Statos using an authorized Google Apps user name and password. Stratos also supports metering and throttling to manage tenant’s capacity levels.
Why is Stratos the best choice for the RAISME project?
License is a very important issue and Stratos has an Open Source Apache License. It is actually a good choice for a license in a commercial project, specially if you have not decided yet which license you would like to have. Open Source Apache License lets you modify the project and change the license to the one you prefer.
The RAISME project needed to be able to store and manage large amounts of datasets in its own servers or in the client servers as well as the datasets services. Stratos allows to access datasets and services in either their own server or in the client servers through an URL. As it can be done from a URL, it means it can be invoked from the portal website where user will interact. When the user accesses the URL, the web service is invoked through the ESB (which is the common entry point).
The RAISME project also needed to have a module to monitor services and bill the services according to their use. This feature allows the project to have a pay per use system in which every user will have some datasets and services for free and others that will have to pay. Therefore, it is important to have the business activity monitor service and ESB to restrict and monitor which users have access to which datasets and to which services.
Stratos has a big active community of developers, therefore we can be sure the project will continue and there will probably be new features which may be applied to the RAISME project.
Last but not least having multitenancy is good for the project because it reduces the time spent and the resources needed to process the requests in the server.
For the above reasons and some others, Stratos was chosen as the best middleware for the RAISME project. On the Stratos platform, RAISME services are deployed in order to have an extensible cloud platform that allows the integration of third party services in an easy and scalable way.