Microservices Expo Authors: Liz McMillan, Pat Romanski, Carmen Gonzalez, Elizabeth White, Jason Bloomberg

Related Topics: Microservices Expo, Industrial IoT

Microservices Expo: Article

Inducing Behavioral Adaptations Within SOA and Web Services

Gaining control over dynamic changes in Web services

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.

Why Do We Need Adaptation in Web Services?
In the vision of e-business, it becomes important to address the dynamic nature of business environments. As third parties access more and more business functions, the richness of Web services offered should be adequately addressed. With Web services having to participate and cooperate in a networked system, they may need to frequently join or leave a process, or at times may need to change their preferences by tailoring or adding functionalities. Such unanticipated changes as demanded by businesses and the associated complexity necessitate an adaptable nature to web services where specific features can be introduced or deactivated in a planned manner.

The adaptation of Web services with regards to constant change in the business has to deal with the behavior of the service. Some of the existing approaches of adaptation primarily concentrate on transformation of the content and much less effort has been made towards behavioral adaptation. Much as object-oriented programming introduced encapsulation and inheritance, the behavioral adaptation should also introduce features in a modular way. However in contrast to the object-oriented way, certain significant issues need to be addressed:

  • Context-aware provisioning, which is necessary because Web services will be involved in widely distributed and heterogeneous solutions
  • Diversified personalization, for improving quality of service and delivering user-centric functionality
  • Nondisruptive feature insertion/release, to facilitate the high availability requirement
A scenario of a loan agent providing a best possible loan offer is constructed to explain the aforementioned issues. This example will be used later on in the article to illustrate certain adaptation scenarios. A process as shown in Figure 1 is initiated to select the best loan offered by any participating loan service to meet specific requirements as stated by the consumer. In the real world, these loan services can be considered to be the endpoints of various financial institutions. The process would also look up the consumer's credit score from a trusted credit rating service.

Aren't Business Rules Sufficient?
Even though business rules also define or constrain the behavior of services, they are primarily intended to enforce certain explicit motivations based on contextual data. On the other hand, Web services in e-business scenarios would have to deal with proactive and reactive adaptations. Such adaptations have to be non-enforcing and yet facilitate the requestor's ability to choose the behavior. To understand this better consider a simple personal loan offering service. The bank may decide to run a promotion for a specific season by virtue of which a business rule could be added to the service so that loan requests with credit scores in the range of 60 to 75 on a 100-point scale would reduce the interest rate by 0.25 percent. However converting the offered personal loan to a line of credit having variable interest rates would involve changes in the service logic itself. This wouldn't be a feasible option because it has to be made available only for a specific time period. Moreover, because requestors have different preferences some might not opt for this conversion while others might. Using business rules, such adaptations would get even more complex if the preferences are negotiated before the request is made to the service.

Adaptations May Not Be Just for Functional Features
The behavior of Web services as in the case of any computational system would be made up of certain functional and nonfunctional features. The sole purpose of the nonfunctional features would be to enable services to function for various execution conditions through changes in the behavior of the service without altering the core service logic. A distinguishing factor of such adaptations is that often the service itself might be unaware of the existence of nonfunctional features. To put it another way: the nonfunctional features are not configured at design time but are categorized under operational constraints.

The operational constraints would essentially relate to the communication characteristics between the interacting services. There are various WS-* standards that are trying to address the nonfunctional requirements of Web services. There are also some competing standards for similar functionality. For example, to tackle reliable, guaranteed message delivery, a group consisting of Sun, Fujistu, Oracle, etc. came out with WS-Reliability and a second group consisting of IBM, BEA Systems, Microsoft, and TIBCO came up with the WS-ReliableMessaging specification. Though both provide mechanisms to ensure basic delivery assurance, the difference between them is in how they incorporate other standards such as WS-Security, WS-Addressing, and WS-Policy. On the contrary, there are some specific widely accepted and employed standards for a given problem area that have overlapping features. For instance, in the case of security, there are standards such as Security Assertion Markup Language (SAML) as well as WS-Security that are both widely used to provide security cover to Web services. Because this is the case with the ever-growing stack of WS-* standards, participants within a composition have many options to choose from. Even with such disarray within the stack, some of the reasons that participants differ in their choices could be the pace of adoption of the standard, or the preference for a specific platform/tool choice made during the service development, etc.

Essential Considerations for Adaptation
The behavioral adaptation is to be considered in the context of interaction between the service provider and the requestor. To appropriately customize Web services, the contextual information has to be processed so that the intended interaction is achieved. In order to do so the following considerations are essential for leading to behavioral adaptations within Web services.

Variation Points or Hotspots
The unanticipated introduction of new features has to coexist with the base functionality offered by the Web service. It is also possible that the adaptations would have to intervene between the basic flows. Web services planning for such adaptations will have to identify the variation points or hotspots where new features can be induced. The identification of such hotspots is very crucial and decides the degree of flexibility that a Web service can offer. Another important aspect of hotspots is their role in the weaving of the adaptations. This facilitates the ability of the Web service to truly cater to and take part in a wide variety of solutions.

Proactive and Reactive Nature
Proactivity in the adaptation could be accomplished by deciding on the service behavior even before the change or before the invocation of the service. On the other hand, reactivity is the consequence of the change after the service invocation. For example, the credit reporting service could exhibit a proactive behavior in providing a simple report that contains the credit score and summary or a complete report that details public records, past dues, payment, collections, open accounts, inquires, etc. Reactive behavior may be accomplished by providing the credit score on different scales like 400-900 or 100 points.

Late Binding
The undetermined quality of adaptations necessitates late binding. Without having late binding, the service needs to be as abstract as possible and has to extend itself to add the features indented for adaptation. This may not be feasible and may lead to chaos in managing requirements, which leads to the cluttering of features.

Negotiations provide the property of compatibility and replaceability to the interactions between the requestor and the provider. The constantly changing preferences could be accommodated through negotiations so that both requestor and provider can agree on the best possible terms for information exchange. For example, the way in which security credentials are passed can be negotiated. To ensure his confidentiality, the service requestor can opt for a lengthier encryption key and similarly the service provider can specify various options for the encryption key length from which the requestor can choose.

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.

Comments (1)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

Microservices Articles
Modern software design has fundamentally changed how we manage applications, causing many to turn to containers as the new virtual machine for resource management. As container adoption grows beyond stateless applications to stateful workloads, the need for persistent storage is foundational - something customers routinely cite as a top pain point. In his session at @DevOpsSummit at 21st Cloud Expo, Bill Borsari, Head of Systems Engineering at Datera, explored how organizations can reap the bene...
"NetApp's vision is how we help organizations manage data - delivering the right data in the right place, in the right time, to the people who need it, and doing it agnostic to what the platform is," explained Josh Atwell, Developer Advocate for NetApp, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
The Jevons Paradox suggests that when technological advances increase efficiency of a resource, it results in an overall increase in consumption. Writing on the increased use of coal as a result of technological improvements, 19th-century economist William Stanley Jevons found that these improvements led to the development of new ways to utilize coal. In his session at 19th Cloud Expo, Mark Thiele, Chief Strategy Officer for Apcera, compared the Jevons Paradox to modern-day enterprise IT, examin...
In his session at 20th Cloud Expo, Mike Johnston, an infrastructure engineer at Supergiant.io, discussed how to use Kubernetes to set up a SaaS infrastructure for your business. Mike Johnston is an infrastructure engineer at Supergiant.io with over 12 years of experience designing, deploying, and maintaining server and workstation infrastructure at all scales. He has experience with brick and mortar data centers as well as cloud providers like Digital Ocean, Amazon Web Services, and Rackspace. H...
Skeuomorphism usually means retaining existing design cues in something new that doesn’t actually need them. However, the concept of skeuomorphism can be thought of as relating more broadly to applying existing patterns to new technologies that, in fact, cry out for new approaches. In his session at DevOps Summit, Gordon Haff, Senior Cloud Strategy Marketing and Evangelism Manager at Red Hat, will discuss why containers should be paired with new architectural practices such as microservices ra...
In his session at 20th Cloud Expo, Scott Davis, CTO of Embotics, discussed how automation can provide the dynamic management required to cost-effectively deliver microservices and container solutions at scale. He also discussed how flexible automation is the key to effectively bridging and seamlessly coordinating both IT and developer needs for component orchestration across disparate clouds – an increasingly important requirement at today’s multi-cloud enterprise.
The Software Defined Data Center (SDDC), which enables organizations to seamlessly run in a hybrid cloud model (public + private cloud), is here to stay. IDC estimates that the software-defined networking market will be valued at $3.7 billion by 2016. Security is a key component and benefit of the SDDC, and offers an opportunity to build security 'from the ground up' and weave it into the environment from day one. In his session at 16th Cloud Expo, Reuven Harrison, CTO and Co-Founder of Tufin, ...
DevOps is often described as a combination of technology and culture. Without both, DevOps isn't complete. However, applying the culture to outdated technology is a recipe for disaster; as response times grow and connections between teams are delayed by technology, the culture will die. A Nutanix Enterprise Cloud has many benefits that provide the needed base for a true DevOps paradigm. In their Day 3 Keynote at 20th Cloud Expo, Chris Brown, a Solutions Marketing Manager at Nutanix, and Mark Lav...
Many organizations are now looking to DevOps maturity models to gauge their DevOps adoption and compare their maturity to their peers. However, as enterprise organizations rush to adopt DevOps, moving past experimentation to embrace it at scale, they are in danger of falling into the trap that they have fallen into time and time again. Unfortunately, we've seen this movie before, and we know how it ends: badly.
TCP (Transmission Control Protocol) is a common and reliable transmission protocol on the Internet. TCP was introduced in the 70s by Stanford University for US Defense to establish connectivity between distributed systems to maintain a backup of defense information. At the time, TCP was introduced to communicate amongst a selected set of devices for a smaller dataset over shorter distances. As the Internet evolved, however, the number of applications and users, and the types of data accessed and...