| By Naveen Kulkarni, Manivannan Gopalan, Geo Philips Kuravakal, Lipika Sahoo, Sunny Saxena | Article Rating: |
|
| February 27, 2006 11:30 AM EST | Reads: |
17,963 |
Noninvasive Adaptations in Web Services
As mentioned earlier, one of the important issues to be solved during adaptation is the insertion/removal of features nondisruptively or noninvasively. In other words, the base service logic should not be aware of any changes. This is also a key issue for maintaining high availability, which is an important quality of a service attribute. Earlier works in this direction have advocated the use of an aspect-oriented paradigm that was essentially used to support many of the cross-cutting concerns. Furthermore, with our experience in working with aspect orientation, we also conciliated with the application of aspect-oriented software development (AOSD) to handle the dynamic changes for Web services.
AOSD addresses the first two of the concerns discussed in the "Essential Considerations for Adaptation" section. It introduces units of modularity called "aspects" that contain code fragments called "advice" and hotspots of information called "pointcuts." Various advices can be introduced based on the kind of adaptation needed. Specifically with the "join-points" (a collection of join-points forms pointcuts) advices can be plugged in at the well-defined hotspots. Due to having various advices to be weaved, most of the aspect-oriented programming (AOP) models such as AspectJ have introduced relative precedence based on their ordering within the aspect body. The property-based pointcut designators facilitate the proactive insertions of advices and control flow-based pointcuts aid in the reactive insertions of advices.
The Role of Policies
We envisioned adaptation in services as the accommodation of new features on an as-needed basis. AOSD addressed the basic need of feature introduction, but to accommodate preferences of both the service requestor and the provider (e.g., late binding and negotiation) we use policy-driven techniques. Policy in Web services refers to a set of rules, facts, capabilities, and preferences that could regulate the behavior of the service. Policy assertions are used to convey the conditions between the interacting services. The service providers would advertise their policies for which the requestors might choose to opt. This would result in a specific behavior that reflects the accepted condition. The policy assertions could hence be used for providing the necessary preferences in adapted behavior of Web services over and above the functionality they embody.
As shown in the Figure 2, policy plays a central role in providing self-adaptation and autonomy to Web services, realizing specific instances of abstract compositions and accommodating preferences between interacting services. In order to facilitate coordination among adaptations we used weaving of aspects. In addition to this we apply policies to reconcile and decide which aspects needed to be woven on the fly. A hierarchy of policies can also be used to provide a rich set of behaviors.
How Do We Achieve Noninvasive Adaptations Using Aspects?
The core idea is that of binding aspects and policies to enrich Web services. In the aforementioned scenario, adaptations were induced in the various participating services by considering dynamic situations such as seasonal (Christmas and New Year) offers like converting EMI-based loans to personal line of credit, variation in scoring in credit reports, and security variations such as choosing the algorithms for encryption of relevant information in messages. The following are details of the participating services:
- Loan Agent Service: A composition service invoked by the customers that orchestrates the various other services listed below. BPEL4WS, an industry-accepted standard was used to compose the orchestration. Oracle's BPEL process engine was used to host this service.
- Credit Rating Service: A simple Web service that gives the credit score, given the unique identity of the customer. This service is only accessible to the loan agents who are registered prior to the requisition. The authorized loan agents are identified through a simple username/password-based authentication. This service provides various means of specifying the credentials. Also the credit scores are provided on varying scales such as 400-900 or 100-point scale.
- Loan Offering Services: Two simple Web services that offer loans based on the individual's credit score, the amount requested, and the repayment period. These services provide various offers such as discounts on interest rates and conversion of type of loan at regular intervals based on the market conditions.
To understand the weaving of aspects that bring about necessary adaptations, let's consider a section of the interaction between the loan agent service and the credit rating service (CRS) as shown in Figure 4. When the request is made the orchestration facilitates the extraction of the customer's unique identification from the customer request and constructs the message requesting the credit score to be sent to the CRS. Rather than being sent directly to the CRS, this request gets intercepted by the mediation layer. The PEP in the mediation layer receives the message and based on the message definition the endpoint is selected from the configuration. The PDP then decides on all of the policy actions that are to be associated with the CRS such as the usage of the PBEWithMD5AndDES algorithm for sending credentials. These actions are then forwarded to the policy negotiator that creates policy statements as shown in Listing 1. The policy statements are then exchanged with the CRS, which either accepts or denies them. The policy actions accepted have associated aspect advices that are enabled. So when the PEP forwards the request to the CRS, it passes through the aspect that adds the credentials using WS-Security standards through the use of the accepted algorithm.
Listing 2 gives a snapshot of the PEP and an associated simple aspect that uses the hotspots for adaptations. Because the PEP is a service itself, it has a process operation that receives the messages. It also provides another operation called induceVariations that is used to mark hotspots within the PEP. This operation takes in the message and returns the modified message. As shown, the hotspots are marked before sending the request message and then after receiving the response message. The hotspots and the aspect's advices are triggered, thereby implementing necessary changes as required either during the assignment or before or after invocation. In the interaction between the loan agent and the CRS when the induceVariations operation is called before calling the CRS, the pointcut would add the credentials to the request message. Then returning from the induceVariations operation the modified request message is assigned to the context of the Web service call, thus facilitating transparent (with regard to the PEP or loan agent service) adaptation.
Adaptations in Orchestrated and Choreographed Services
Composition of various independent activities within the view of business functionality is achieved through choreography or orchestration of Web services. The difference between choreography and orchestration is that in case of the latter, one of the services has control over defining the role within the composition. It is thus evident that orchestration languages such as BPEL4WS by nature provide some flexibility. For example in the scenario discussed above, the flexibility in the loan agent process is seen through dynamic partner binding, i.e., addition or deletion of loan offer service. However in case of practical scenarios, orchestrated services too have to support unplanned, on-the-fly changes. The changes however may not necessarily mean changes to the static view of the process (as with different partners), but rather over every instance of the process. Efforts in this regard such as AO4BPEL are adding extensions to the existing BPEL4WS specification, thus allowing specific adaptation for orchestrated services in a modular fashion.
In case of choreography, not one service truly owns the conversation. Because they are collaborative in nature, each party involved describes its part in the interaction and is completely dependent on the observable behavior of every service. The adaptation hence in this case is very essential for managing the logical dependencies between unknown interactions. Specifically adaptation that involves aspect binding plays a prominent role in planning such interactions. Moreover, using the policies will also allow dynamic interaction patterns that would closely follow the changes in business.
Conclusion
Flexibility is an important aspect of e-business that may be achieved by using Web services. The dynamic environment of e-business necessitates constant changes. Web service providers have to evolve so that unplanned changes can be adapted to the contextualized information. Initiatives such as AdaptiveBPEL and AO4BPEL, which have explored ways of transparently allowing customizations. The use of aspect-oriented approaches and policies seems promising for on-the-fly adaptations. A middleware made up of a mediation layer based on policy-driven selection of aspects would especially result in realizing faster time to market for truly adaptive Web services.
The source code for the article accompanies the online version of the article.
References
- Amazon Web services: www.amazon.com/webservices.
- Gisolfi, D. "An Introduction to Dynamic e-Business": www-128.ibm.com/developerworks/library/ws-arc1/
- Web Services Architecture, W3C working group note, February, 11 2004: www.w3.org/TR/ws-arch/
- Erradi, A., Maheshwari, P., Padmanabhuni, S. "Towards a Policy-Driven Framework for Adaptive Web Services Composition," NWeSP 2005, Seoul, Korea.
- Cibrán, M.A., Verheecke, B. "Dynamic Business Rules for Web Service Composition," Second Dynamic Aspects Workshop 2005.
- Ortiz, G., Hernández, J., Clemente, P. J. "Reusable Web Service Choreography and Orchestration Process," Workshop on Engineering Service Composition 2005.
- Charfi, A., Mezini, M. "Using Aspects for Security Engineering of Web Service Compositions," International Conference on Web Services 2005.
- AspectJ project: http://eclipse.org/aspectj
Published February 27, 2006 Reads 17,963
Copyright © 2006 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Naveen Kulkarni
Naveen Kulkarni specializes in Web services and service-oriented architecture. He currently works with the Web Services Centre of Excellence in SETLabs, the technology research division at Infosys Technologies, India. He has published papers in international conferences such as the IEEE International Conference of Web Services and has spoken at various industry forums exclusively on Web services. His interests include enterprise adoption of services, legacy modernization, and capacity planning, as well as QoS in Web services ecology.
More Stories By Manivannan Gopalan
Manivannan Gopalan specializes in legacy systems, legacy migration to SOA, and Web services. He currently works with the Web Services Centre of Excellence in SETLabs, the technology research division at Infosys Technologies, India. He has published papers in international conferences such as the IEEE International Conference of Web Services.
More Stories By Geo Philips Kuravakal
Geo Philips Kuravakal currently works with the Web Services Centre of Excellence in SETLabs, the technology research division at Infosys Technologies, India. He is currently involved in the development of an enterprise Web service integration framework. His primary area of interest is the Semantic Web and its applicability to Web services, along with newer programming techniques such as AJAX.
More Stories By Lipika Sahoo
Lipika Sahoo currently works with the Web Services Centre of Excellence in SETLabs, the technology research division at Infosys Technologies, India. Her core area of work involves dynamic adaptability and management of Web services. She is currently involved in various research activities within the group relating to MDA and AOSD.
More Stories By Sunny Saxena
Sunny Saxena currently works with the Web Services Centre of Excellence in SETLabs, the technology research division at Infosys Technologies, India. His interests range from Web service security platforms to aspect-oriented development models.
![]() |
SYS-CON India News Desk 02/27/06 12:45:57 PM EST | |||
Web services have evolved from plain application-integration enablers to value-added stand-alone functionality providers such as getting a quote to a comprehensive business function like processing orders. Enterprises are exploiting this new revenue model by offering such business functions as services on usage basis. Information sharing instances such as Amazon's e-commerce services have helped in the creation of new powerful solutions using business functions as services. |
||||
- The Top 150 Players in Cloud Computing
- Commercial vs Federal Cloud Computing
- Why IBM’s Server Chief Got Busted
- Industry Experts Discuss the State of Cloud Computing
- Cloud Expo New York Call for Papers Deadline December 15
- Cloud Computing on Gartner's Top 10 List and SYS-CON Events' 2010 Calendar
- US Federal Government is Major Cloud Computing Innovator
- Google Wave
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- Adaptivity & Cloud Computing: Exclusive Q&A with CEO Tony Bishop
- 4th International Cloud Expo: Photo Album
- The Top 150 Players in Cloud Computing
- SYS-CON.TV: Cloud Computing Expo Power Panel
- Commercial vs Federal Cloud Computing
- Why IBM’s Server Chief Got Busted
- 1st Annual GovIT Expo: Letter from the Technical Chair
- Deputy CIO of the CIA to Keynote 1st Annual GovIT Expo
- Industry Experts Discuss the State of Cloud Computing
- SOA World Power Panel on SYS-CON.TV
- CIA was Headed to an Enterprise Cloud All Along: Jill Tummler Singer
- 1st Annual Government IT Conference & Expo: Themes & Topics
- Cloud Expo New York Call for Papers Deadline December 15
- Stock in Focus: Dragon Capital
- The i-Technology Right Stuff
- Who Are The All-Time Heroes of i-Technology?
- Get the Message
- Where Are RIA Technologies Headed in 2008?
- i-Technology Viewpoint: Is Web 2.0 the Global SOA?
- i-Technology Viewpoint: Thinking Outside the VC Box
- ESB Myth Busters: 10 Enterprise Service Bus Myths Debunked
- i-Technology Viewpoint: When to Leave Your First IT Job
- SOA Web Services Edge Conference Coverage on SYS-CON.TV
- Five Reasons Why Web 2.0 Matters
- SYS-CON.TV's "SOA Web Services" and "Enterprise Open Source" Programs To Air in December
- SOA World Conference & Expo SYS-CON.TV Power Panel Live From Times Square










There are a variety of applications that supp...


























