A 1.5-year R&D project – Universal Web Service Adapter to Facilitate “Software as a Service” Implementation – had successfully completed in Feb 2010. Codenamed Chameleon, this project was funded by the HKSAR Government's Innovation and Technology Fund (ITF). Industry supporters of this project include Azeus, ecVision, ICO and Sun Microsystems.
Software as a Service (SaaS) is a new trend in application development and delivery. In the SaaS model, software vendors deliver applications as services through the Internet while enterprises pay to use the services and integrate them with in-house systems. To software vendors, the SaaS model saves the costs in distributing and maintaining their products. To enterprises, this model allows them to pay to use the software on demand and spread their investment in software over the time of usage.
While SaaS is built upon the Web Services technology, of which many legacy applications lack native support, enterprises usually need to redevelop existing applications to incorporate SaaS. Application redevelopment incurs substantial costs, which hardly justify the benefits brought by SaaS.
Project Chameleon aimed to develop an innovative technology called Universal Web Services Adaptor (UWSA). UWSA facilitates software engineers to develop Web Services adaptors for legacy systems very easily, and therefore enables enterprises to deliver business applications through SaaS with minimal investment.
The diagram below depicts the high level architecture of the project deliverables:
The Universal Web Services Adaptor (UWSA) consists of two components: UWSA Designer (UWSA-D) and UWSA Runtime (UWSA-R). In design time, UWSA-D allows developers to specify a Web Service interface in terms of XML Schema Definition (XSD) and Web Service Definition Language (WSDL), and define the mapping called Common Schema Model (CSM) mapping between the data import/export formats of a legacy application and the Web Service interface. In runtime, the UWSA-R wraps the legacy application into a Web Service and uses the mapping to convert the data between the legacy application and Web Service interface. In other words, developers only need to define a simple CSM mapping to generate the required Web Services adaptor code without coding programming languages like Java and .NET to handle the complicated XML data manipulations.
A proof-of-concept project had been carried out to demonstrate the applicability of the project deliverables.