The Web Services Management Layer (WSML) is a reusable middleware platform for the dynamic integration, selection, composition and client-side management of Web Services in client applications. The philosophy of the WSML is that all web service related code is taken out of the client application and placed inside the WSML. Whenever the client requires some service functionality, it makes a request to a Service Type, i.e. a virtual stub. The WSML will translate this request to an available Web Service or a Service Composition and send the result back to the client.
More advanced features of the WSML include Service Selection Policies and Management Concerns. A Selection Policy specifies which Web Service or Service Composition to prefer over another one (e.g. the cheapest or fastest service). A Management Concern takes care of client-side management issues such as monitoring, billing, caching, etc. The core technology of the WSML is JAsCo, a dynamic Aspect Oriented Programming (AOP) framework.
Current approaches typically used to integrate services in client applications are rather static and do not allow easy dynamic adaptations of the web services themselves or the way they are used. However, this leads to unmanageable applications that cannot adapt to changes in the business environment (e.g. a service that is abandoned or changed, a new service that becomes available on the market, etc). Furthermore, creating Service Composition is very cumbersome as all the Web Services need to be integrated and the composition logic is hard-wired in the client.
A second obstacle is that by generating hard-wired proxy-classes, and as such treating the services as regular software components, the specific requirements of services are completely ignored. Services are organisationally fragmentized, can be asynchronous and latent, can become unavailable due to unpredictable network conditions and thus require more overall management. To deal with these issues in order to create more robust applications, code has to be written manually and repeated for each service. This way, the code is duplicated, scattered all over the application and becomes an obstacle for future maintenance.
A third limitation encountered is that services can only be selected based on the functionality they offer. The web service documentation provided in WSDL-format does not support the explicit specification of non functional requirements such as constraints based on Quality-of-Service and management statements, classes of service, access rights, pricing information, SLA’s (Service Level Agreements) and other contracts between web services. Explicitly specifying these non-functional requirements at the service side in a precise and unambiguous way would allow the composition and integration of services to occur in a more intelligent and customized manner. This way, applications are able to specify criteria to be considered at service selection time to integrate those services that best fit the application requirements.
Web Services Management Layer
To overcome these probems, we introduce a Web Services Management Layer (WSML), which is placed in between the application and the world of web services. This intermediate layer allows: dynamic selection and integration of services into an application, client-side management of the service, and support for rules that govern the selection, integration and composition.
Generic functionality, necessary to provide support for multi-partner processes (e.g. to guarantee security, transactions, etc) can also resides in the WSML, depending on specific application requirements. Examples of this generic management functionality are:
Updated publications page and fixed download link to WSML version 0.5.1
New WSML version 0.5.0 online. Download it here
WSML version 0.5 beta 5 has been released
WSML version 0.5 beta 3 has been released
WSML site updated: documentation and publications added
New WSML version 0.4.13. Download it here
New WSML version 0.4.8 (with improved monitoring console). Download it here
New WSML version 0.4.7a (bug fix release). Download it here
New WSML version 0.4.5 with linux support online. Download it here
Publication page updated and new event page added