Thursday, October 23, 2008

MOINC - A new epoch of Web Services


Web Services has become the ultimate choice for modern organisations to harness the power of network based computing. However, the the original Web Services model faces two inherent shortcomings despite all the good things it has to offer. Firstly, the traditional implementation finds it hard to scale up with the rising number of service requests, and thus 'scalability' is at stake. Therefore, the service providers are forced to go for more hardware oriented solutions to facilitate high scalability, investing fortunes in most of the cases. In addition, when the requests overwhelm the service provider, he is forced to reject further requests. This results in the decline of 'availability'. Web Services and SOA have definitely created hype, and have already become dominating technologies in the enterprise arena. But, when scalability and availability are threatened, how is the paradigm of WS going to survive?


The answer lies in the field of distributed computing which also has become prominent and interesting technological breakthrough. Projects like SETI@Home, Folding@Home and middleware technologies like BOINC have become hallmark technologies in this respect, especially in the field of Volunteer Computing. Therefore, a novel idea is to integrate a touch of the above techniques to enhance the availability and scalability of Web Services by distributing the load subjected to Web Service geared service providers over a cluster of computers. This innovative idea was given by Dr.Sanjiva Weerawarana, Chairman & CEO of WSO2, when we were in the quest for a problem to solve as our final year project of the Computer Science & Engineering course of the University of Moratuwa.


So, here we are! A group of ten comprising myself and nine of my friends at CSE are currently in the development stage of the platform which would solve the above two issues in the days to come by. Our project named MOINC (Mora Open Infrastructure for Network Computing) tries to give a solution by creating a cluster of computers made of volunteer computers which are connected to the World Wide Web, and distributing the load among all these nodes to get the processing done. Simply put, if things go well (which we are very keen to see happen :) ), a single application of this would give rise to a fully cranked up distributed super computer facilitating Web Services with high availability and scalability. The extremely generic nature of this project would give the users of this platform the capability to implement virtually any Web Services based application on top of it - even systems like SETI@Home.


The magic happens with the fine blend of the following four components.
- MOINC Server - The core component which is a self contained entity that manages the cluster, accept service requests, perform default WS processing etc.
- MOINC Client Agent - The component that will run in each and every node computer in the cluster, which will communicate with the Server and take care of all the activities in the node end.
- MOINC Server Manager - The component which gives a range of additional features to the MOINC platform for improved Quality of Service with features like credit management, trend analysis, social networking etc.
- Thisara Communication Framework - The Apache MINA based communication protocol which will be used for internal communications of the MOINC platform.


So, we claim that it solves two issues in the Web Service paradigm. But, the problem solving does not end there! This becomes a solution to make good use of idling computer power and electricity wasted during the time that computers are up and not doing any productive work. Hence, two birds are killed with one stone!


All the necessary information is available in the official project web site, and we have already done an alpha release of the Thisara Communication Framework. The source code can be checked out from our SVN repository as well. The team is high spirited, MOINC is rapidly progressing and the world of future Web Services seems a highly scalable and available place :)



No comments: