Academic journal article Journal of Digital Information Management

Applying AOP Concepts to Increase Web Services Flexibility

Academic journal article Journal of Digital Information Management

Applying AOP Concepts to Increase Web Services Flexibility

Article excerpt

ABSTRACT; Web Service is the fitted technical solution which provides the required loose coupling to achieve Service Oriented Architecture (SOA). In previous works, we proposed an approach, using the Aspect Oriented Programming (AOP) paradigm, to increase the adaptability of Web Services. This approach suffers from some deficiencies as dependency for both the programming language (Java) and the SOAP engine (AXIS). In this paper, we propose to increase the adaptability of Web Services by using the main AOP agreed semantics--Advices, Pointcuts and Joinpoints- to change original Web Service behavior. In the new approach, we consider that advices are themselves Web Services. Moreover, we propose to use an XML Language to describe Pointcuts, Joinpoints and for referencing advices. The invocation of advices (Web Services) is accomplished by an XQuery engine to ensure SOAP Engine independency and advices are implemented as Web Services to promote programming language independency.

Categories and Subject Descriptors

D.2 [Software Engineering]; D.2.12 [Interoperability Web-based Services]; E.2 [Data Storage Representations]

General Terms

Web services, Aspect-oriented programming, Service oriented architecture

Keywords: XML language, XML schema, SOAP service, AOP techniques, XQuery

1. Introduction

Web Services, as other middleware technologies, aim to provide mechanisms to bridge heterogeneous platforms, allowing data to flow across various programs. In a very short time, since Web Services were proposed, an impressive range of supporting tools has been offered that enable the development and deployment of Web Services. However, these tools suffer from three important weaknesses:

i) The approaches typically used to integrate services in client applications are very static and do not allow any dynamic adaptations of Web Services themselves or the way they are used [16]. Once the service or the client is developed and the handlers are deployed, the Web Service cannot handle new features and it is difficult to reuse it in a different context.

ii) XML messages [8] are at the heart of the Web Services infrastructure. Nevertheless, current approaches to Web Services development wrap the messaging layer hard coded in Java or C# source code. Consequently, whenever the structure of the messages changes all classes where these messages are codified must be rewritten and recompiled.

iii) The service environment is very dynamic. References to Web Services are hard wired in the application and any of the service problems (method signature modification or service broken) leads to application execution problems.

Many researches [13,19,21,23] consider Aspect Oriented Programming (AOP) [16] as an answer for these limitations. The AOP is one of the most promising solutions to the problem of creating clean and well-encapsulated objects without extraneous functionality. It allows the separation of crosscutting concerns into single units called aspects, which are modular units of crosscutting implementation. Moreover, AOP allows adding new behavior to an application without touching the base source code. AOP presents three main concepts: Joinpoints--Points in a program execution; Pointcuts--Program constructs to designate a set of joinpoints and Advices--Code that runs upon meeting certain conditions. Aspects are merged to Classes with a tool called Weaver.

In our previous researches, we provided a solution which offers a dynamic mechanism based on AOP to compute the service contract on the fly, enabling Web Services to become fully aware of the business requirements [3]. This approach increases the adaptability of the Web Services behavior depending on the service contract. However, we observed two important limitations: i) SOAP engine dependency and ii) programming language dependency.

To overcome the above mentioned limitations, we propose a new approach for changing the behavior of Web Services by using Aspect Oriented Programming concepts. …

Search by... Author
Show... All Results Primary Sources Peer-reviewed

Oops!

An unknown error has occurred. Please click the button below to reload the page. If the problem persists, please try again in a little while.