Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your profile (name, country/region, and company) is displayed to the public and will accompany any content you post. You may update your IBM account at any time.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Use SLAs in a web services context, Part 3: Integrate web services into EAI with a SLA guarantee

SOA system interruption thresholds

Judith Myerson (jmyerson@bellatlantic.net), Systems architect and engineer
Judith M. Myerson is a systems architect and engineer. Her areas of interest include middleware technologies, enterprise-wide systems, database technologies, application development, network management, security, and project management. You can contact her at jmyerson@bellatlantic.net.

Summary:  When web services applications fail to integrate with an Enterprise Application Integration (EAI), it might indicate that they have not been tested adequately for all sorts of interoperability -- not just SOAP, but also middleware (including non-web services in service-oriented architecture (SOA)), business processes, design considerations, and network infrastructure. Judith M. Myerson helps you save time integrating web services applications into EAI by explaining their limitations and helps you to better understand the major differences between EAI and web services. She also shows you how to develop system interruption thresholds as a way of improving your web services' chances of meeting the service-level agreement (SLA) guarantee for uptime availability of the resources that the SOA players consume and produce dynamically.

Date:  29 Oct 2004 (Published 08 Oct 2004)
Level:  Intermediate
Also available in:   Japanese

Activity:  6948 views
Comments:  

Web services limitations

Let's first take a look at some limitations of web services (in contrast to EAI applications) in order of ascending importance and then discuss how system interruption thresholds have an impact on how they function.

Limitation 1: Multiple web services rarely execute themselves. It takes a series of business processes or higher-level services in SOA to orchestrate the execution of multiple services to achieve a goal. EAI applications, on other hand, can execute themselves, sometimes as the conductor of web services.

Limitation 2: SOAP is not fully interoperable industry-wide, although web services are based on a growing list of industry standards. Most EAI standards are proprietary.

Limitation 3: There might be a problem integrating some web services that complete business processes in a short time with other web services that involve long-running applications based on a complex set of business process rules. This is because web services are loosely coupled and must be executed synchronously, so web service consumers must be present at all times. EAI applications, on the other hand, are tightly coupled, and can be either synchronous or asynchronous. It is not necessary for the SOA service consumers to be present at all times.

Limitation 4: Web services focusing on relationship, chain management, and resource planning have different sets of integration rules, although they are capable of collaborating with each other on integration and aggregation of applications between enterprises. In contrast, the components of an EAI system communicate with one another through an integration hub that serves as middleware among EAI applications (including chain management and resource planning), legacy systems, databases, web services, and non-web services.


System interruption thresholds

Consider the major limitation that web services rarely execute themselves. What is the impact of a system interruption on the uptime availability of web services in the SLA? What system interruption thresholds need to be established when you develop performance metrics to indicate the impact of thresholds on uptime availability?

Are we talking about a threshold for a single web service? Multiple web services? Or are we referring to the higher-level services in the SOA as the conductor of web services and non-web services? What happens when a web service times out? What is the impact of timing out on determining a threshold?


Threshold scenarios

To begin, consider three possible thresholds: 50%, 67% and 98%. What do they all mean? As shown in Figure 1, a system interruption at 50% threshold means the interruption between 0% and 49.999% of the entire system is not significant and should not be considered as part of performance metrics. It's too low to be counted toward, for example, 99.5% upward availability.


Figure 1. System interruption at 50% threshold
System interruption at 50% threshold

On the other hand, the interruption between 50% and 100% is significant and should be considered as part of the metrics. This is also true for the 67% and 98% thresholds (see Figures 2 and 3). The higher threshold can be counted toward, for example, 99.7% upward availability.


Figure 2. System interruption at 67% threshold
System interruption at 67% threshold

Figure 3. System interruption at 98% threshold
System interruption at 50% threshold

The higher the threshold, the more a business has to pay for monitoring threshold service. Likewise, the higher the threshold, the higher the penalty a provider has to pay if it fails to meet a certain threshold. The threshold penalty is in addition to that for the uptime availability penalty specified in a web services SLA.

Insignificant thresholds

In my article, "Guarantee your web service with a SLA" (see Resources), I mention that packet loss occurs when a digital voice stutters a little as it streams to a web site you are looking at, or when your mouse cursor shakes a little -- for a brief time. Both the stuttering voice and the shaky cursor might have interrupted the system at the fraction of a split second that a human eye would not notice but a performance metric indicator could automatically log in the event that the system interruption occurred at 0.6%.

The shaky cursor is just a slight annoyance that any user can endure up to 8 or 10 seconds. Obviously, this interruption threshold is highly insignificant, as the impact of packet loss is minimal.

Significant thresholds

One good example of significant system interruption is the denial of service due to provider negligence, excluding client negligence or willful misconduct, and monitoring or measuring system failure. Table 1 lists other exceptions.

Table 1. Provider negligence exceptions

  • Accidental severance of a fiber cable
  • Periodic maintenance operations
  • Network floods, hacks and attacks
  • Inability to get supplies or equipment needed for the provision of the SLA
  • Acts of God
  • War strikes
  • Software flaws
  • Hardware/software upgrades

All these exceptions are potentially included in the SLA. However, if competing services offer SLAs with fewer exceptions, it is recommended that the client be given the option of choosing those agreements that offer more uptime in business operations with better service guarantees, including higher system interruption thresholds (acts of God and war strikes are strictly exceptions unless otherwise indicated in terms of insurance and disaster recovery costs).

Timing out

What happens when a web service times out? Will it have a domino effect on associated web services being timed out as well, resulting in system interruption? If the timing-out only affects a single web service resulting in a message asking the user to log in again or come back later to do so, then the interruption is very insignificant.

On the other hand, if multiple web services time out almost at the same time, you might see a "Not Found" page, significantly denying service to users in various stages of business processes (for example, approving and issuing a check to purchase an item). While the shaky cursor might be due to a packet loss, it might also be the result of a web service timing out.


Web services paradigm

Now apply the thresholds to the second-generation web services applications paradigm (see Resources) as shown in Figure 4 -- particularly the thresholds between the provider and the broker, between the provider and the client, and between the client and the provider.


Figure 4. Thresholds for each player in the web services paradigm
Thresholds for each player in the web services paradigm

Setting thresholds

When the application provider, as shown in Figure 4, sends the application broker a request to publish a service, and an unanticipated interruption occurs along the way, the system interruption threshold must be at or greater than 98.7%. When the broker sends an alert to the provider on the success or failure of service publication, and packet loss occurs, the network interruption must be significant at or greater than the 98.7% threshold.

However, when the broker resends an alert to the client on the status of service discovery due to a temporarily unanticipated interrupted service, the system interruption threshold is slightly higher -- at 99.5% due to the importance of discovering a web service as specified in a SLA agreement. The threshold for system interruption between the client and the provider is set at 96.97% -- slightly lower than the other two thresholds.

Varying thresholds

The thresholds for application provider, broker, and client in the second-generation web services applications paradigm need not to be the same in both directions. The thresholds can vary in either direction for each role player, but also from time to time (for example, network traffic at its high and low points). This depends on, for example, network traffic, bandwidths competing with one another as they enter bottlenecks, and different bandwidth requirements among the web services and non-web services in SOA.

For instance, the threshold is set for 98.5% when the provider sends the broker a service publication request and for 98.7% when the broker sends an alert to the provider. Likewise, the threshold is set for 99.2% when the client sends the broker a service discovery request and for 99.5% when the broker sends an alert to the client.


Agreeing to thresholds

Most SLAs treat uptime availability measurements as the blanket hiding the range of system interruptions that these SLAs have not addressed. One way of getting around this problem is to develop measurable thresholds that developers can use to test the uptime availability in the SOA.

Listing system interruption thresholds in the SLA depends on what unanticipated system interruptions of web service applications the client has agreed to as significant when the SLA specifies, for example, 99.9% uptime availability. For instance, if the client agrees to 98.1% threshold for a potentially significant system interruption incident, then you can apply this threshold to the guarantee of the 99.9% uptime availability. You can assist the clients in making a threshold agreement.


Conclusion

You should consider a range of possible system interruptions due to packet loss and traffic bottlenecks that are most likely to happen in terms of historical system interruptions resulting in significant negative impacts on uptime availability. After this, develop a list of solutions for integrating web services applications into EAI to maximize uptime availability as specified in a SLA. The higher the system interruption thresholds are, the better the guarantee the SLA will give on uptime availability for web services integration into EAI.


Resources

About the author

Judith M. Myerson is a systems architect and engineer. Her areas of interest include middleware technologies, enterprise-wide systems, database technologies, application development, network management, security, and project management. You can contact her at jmyerson@bellatlantic.net.

Report abuse help

Report abuse

Thank you. This entry has been flagged for moderator attention.


Report abuse help

Report abuse

Report abuse submission failed. Please try again later.


developerWorks: Sign in


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Select information in your profile (name, country/region, and company) is displayed to the public and will accompany any content you post. You may update your IBM account at any time.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


Rate this article

Comments

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=SOA and web services
ArticleID=23518
ArticleTitle=Use SLAs in a web services context, Part 3: Integrate web services into EAI with a SLA guarantee
publish-date=10292004
author1-email=jmyerson@bellatlantic.net
author1-email-cc=