Welcome!

Microservices Expo Authors: Liz McMillan, Elizabeth White, Pat Romanski, Stackify Blog, Andreas Grabner

Related Topics: Microservices Expo

Microservices Expo: Article

Augmenting EAI with Web Services

Augmenting EAI with Web Services

Only a few years ago, concepts in application integration applied to EAI technologies such as messaging oriented middleware (MOM). However, now Web services is the new technology in town. Because Web Services is a different integration paradigm than traditional EAI, opportunities exist for the use of Web services where EAI falls short.

As one Web services writer aptly said, "Both approaches [that is EAI and Web services] are valid but typically not in the same business context. As a result, we do expect that both Web services technology and EAI will complement each other to offer a portfolio of approaches to build composite applications upon. Most likely, this will lead sooner or later to the integration or consolidation of both approaches."

From this article, you will gain the ability first to understand the differences between Web services and traditional EAI technologies, and second, to formulate strategies for augmenting EAI with Web services where it makes sense.

Strengths of Web Services
The primary strength provided by Web services is in establishing integration standards. The benefits of Web services being based on integration standards are flexibility, ubiquity, and convenience of deploying integration solutions. A more detailed look at these integration standards is found in Table 1.

 

"The promise of Web services is to enable a distributed environment in which any number of applications, or application components, can interoperate seamlessly among and between organizations in a platform-neutral, language-neutral fashion. This interoperation brings heterogeneity to the world of distributed computing once and for all."

Flexibility
Integrating applications using a common protocol to transfer information is not a new concept. Traditional EAI technologies have been doing this since the early 1980's with MOM. However, the transports used with MOM technologies were proprietary and thus tied to a particular middleware vendor. As multiple middleware solutions made their way into an enterprise, it became necessary to build adapters between the various middleware software packages. These bridges made the case for a middleware of middlewares. In a sense, enterprises were in the same boat before the MOMs were installed - the middlewares became the new applications to integrate.

The promise Web services addresses is in providing a cross-platform way to connect various Web services together, even across different Web service technology providers (i.e., Apache, Actional, Microsoft, Sun, etc.).

Ubiquity
With the groundwork laid down by previous Internet communications advancements, Web services paves the way for the pervasive enterprise. The strength here lies in the ability to begin extending applications beyond the boundaries of the current systems infrastructure.

Currently we are in the early stages of accessing applications through information appliances such as cell phones and PDAs. By extending the enterprise out to these devices, new interactions within the enterprise are possible. Now business transactions can take place that were once relegated only inside the corporate firewall.

However, these types of deployments have several barriers to entry. One of these barriers is the existence of numerous architectures and platforms on which these information appliances are run. Implementing and exposing needed services through Web services will facilitate the extension of the integrated enterprise out to these devices.

Once Web services deployments reach a critical mass, the friction encountered in connecting other systems and appliances will be reduced to nil. This will primarily be because companies will see the economies of scale in developing tools to provide this functionality. Also, when Web services integration standards, such as quality of service and security, become established, the enterprise will be extended beyond its traditional boundaries, leading to greater business opportunity and efficiency. The enterprise, which takes advantage of Web services pervasively, will see opportunities that were neither seen nor conceived before.

Convenience
Web services provide a mechanism for easy access and consumption. The convenience rests on the fact that Web services are based once again on standards.

Traditional EAI technologies have progressed to the point where they can expose services by metadata and repositories. However, since the technology is proprietary, the various EAI vendors do not interoperate natively. In a general sense, unless an EAI bridge is utilized, this would mean only TIBCO clients can see and have access to TIBCO integration objects.

With Web services, every application may discover and interoperate with comparatively little or no friction.

UDDI (Universal Description, Discovery, and Integration) provides a standard way for Web services to be deployed and discovered. Third-party tools can integrate with a UDDI repository with little or no compatibility issues. Compared to what it would take to connect one EAI vendor's message broker to another's repository, this is a significant improvement.

A Web service deployment has a standard language for describing its semantics. This language is called WSDL (pronounced by some as "wiz-dul"). The acronym stands for Web Services Description Language. By describing a Web service using WSDL, a potential client of the service can quickly understand how it will communicate with the service. This is particularly handy for Web service tool vendors. Web service development tools can easily use WSDL to describe in detail how clients will need to interact with the service.

Strengths of EAI
The maturity of traditional EAI technologies, on the other hand, provides capabilities that have stood the test of time. Industry demands a reliable, efficient, and robust infrastructure to operate the mission-critical applications within an enterprise. It should be noted that all of the strengths listed here also come with the caveat that the EAI technologies are proprietary. At best, integration patterns are shared across technologies, but in platform and execution incompatibilities abound. While bridges do occur between EAI technologies, these bridges are point-to-point and not cross functional between other EAI vendors.

Reliability
Traditional EAI technologies typically provide at least two quality-of-service levels for message delivery, a standard delivery and a more dependable delivery service mechanism. Different vendors use different nomenclature, but the concepts are basically the same.

For instance, Vitria labels the standard message delivery as reliable, while for greater dependability in guarding against the case of a server crash, the guaranteed message delivery quality of service is recommended.

Different quality-of-service levels are used depending on the business needs and timeliness of the data in transit. If the relevance of a data message expires within a few seconds, then a high quality-of-service level is probably not needed. A real world example would be the stock ticker example where the real-time nature of the business dictates the necessity of speed. Bringing the server back up after a crash and restoring the stock trades as they came through will probably not be much good. In some trade exchanges, after a few minutes have passed a particular trade price will have no business value.

In contrast, a trade management system, the stock trade journal of record, would not rely as much on the real time aspects, but rather more on the guarantee that entered trades get processed into the trading system. This type of scenario calls for a high quality-of-service level. A stock trader cannot afford to have a few trades get lost somewhere because a thunderstorm causes a power outage.

Efficiency
EAI message transports have the ability to send thousands of message transactions per second on a typical network. This is due largely to the close mapping between the EAI message transports.

When large message throughput is needed, traditional EAI technologies have a comparatively better chance than Web services of being able to efficiently handle the load. Comparatively speaking, the layer of abstraction that Web services provides for integration flexibility leads to greater message data volumes and slower transaction throughput rates. Therefore, efficient message transport is a clear strength for the traditional EAI technology camp.

Some might contend that Web services are efficient because the nature of Web services is both flexible and convenient to develop, leading to lower development costs and thus greater efficiency. While this might be true, there are aspects of project cost other than just development. In fact, studies show that 80% of a system's cost is tied up in the maintenance and support phase of a system's life cycle.

Robustness
As is the case with traditional EAI technologies, mature technologies are often robust because they have stood the test of time. Business issues and problems have challenged the EAI paradigm, causing the EAI vendors to provide solutions to difficult problems. EAI vendors have endured considerable tribulation in getting their software to effectively integrate disparate systems in the face of unforeseen mishaps and catastrophes.

However, through perseverance these EAI vendors have developed mature products for accomplishing the enterprise integration business objective.

When to Use Web Services to Augment EAI
Taking Web services in one hand and traditional EAI technologies in the other, system integrators now have access to a greater toolset of technologies in which to provide enterprise solutions. There are times where exposing a system as a Web service is more effective and times when EAI is better.

Given that Web services standards are currently in a state of flux, it is not advisable to integrate the entire enterprise using existing standards. Doing so will likely result in your needing to tear down and rebuild tomorrow. Figure 1 shows an interesting relationship for integration solutions when Uncertainty is plotted as a function of Efficiency Demand.

Uncertainty describes the extent to which a system environment is known and understood. Efficiency points to how well data can be run on a standard network and server configuration. In Figure 1, the less interfaces are understood the more uncertainty one will have in a particular integration scenario. Also, the likelihood that interfaces will change in the future increases the amount of uncertainty. The Uncertainty Threshold depicted in the graph describes an asymptote approached by the line of demarcation separating Web services and EAI. This threshold represents the amount of uncertainty in an integration solution needed to warrant the need of a Web services approach over a traditional EAI approach.

 

Integrating the Technologies
The remainder of this article documents scenarios where it makes sense to augment an EAI integration strategy with Web services. The scenarios described are:

  • Connectivity beyond the corporate enterprise
  • COTS software approach to integration
  • Synchronous transactions
  • High uncertainty compared to efficiency demand
Connectivity Beyond the Corporate Enterprise
In spite of Web services security standards being still under development, connectivity via Web services can be provided to external business partners with relatively secure mechanisms. This scenario is probably the largest and most significant play for Web services in the enterprise. It was not until the development of the World Wide Web that companies began to allow outsiders to access internal systems through the Web browser. In much the same way, Web services will allow convenient access to an organization's enterprise system in a secure and deliberate fashion.

Traditional EAI technologies did provide mechanisms for punching through the corporate firewalls. However, these mechanisms were proprietary, which led to inflexible and inconvenient integration solutions, especially when an organization decided to either change EAI vendors or change a particular line-of-business system providing the Web service to the enterprise.

COTS Software Approach to Integration
Commercial Off The Shelf (COTS) products should take advantage of Web services technologies and begin providing such connectivity in their system via Web services mechanisms. Even as Web services standards change through industry innovation, providing connectivity via Web services would increase the convenience of integrating with the existing enterprise by an order of magnitude.

Synchronous Transactions
Integration scenarios calling for synchronous transactions (i.e., request-reply) are prime candidates for exposure to the enterprise by a Web service. The most common Web service implementations use HTTP as their protocol. Unless a proprietary message provider is employed, the very nature of HTTP requires a demand-driven transaction in which the client must make a call to the service requesting information.

High Uncertainty Compared to Low Efficiency Demand
When high uncertainty exists relative to the efficiency demand of an integration solution, Web services would likely be a better candidate. This scenario plays to Web services' strengths; however, EAI's strengths are less of an advantage in this case.

Since Web services are based on open standards, even changing out the Web services provider should have little impact on the integration with other systems. This type of change could be likened to changing the browser used to view a Web change. Granted there are differences, but most of these differences are minor compared to the differences between the interfaces of line-of-business applications.

Conclusion
From a high level, Web services and EAI seem to offer similar value propositions. As demonstrated here, Web services and EAI provide different strengths to application integration.

The primary benefit of understanding the differences between Web services and traditional EAI solutions is in being able to see where EAI is inadequate and how to provide solutions to these inadequacies with Web services.

In a world where Web services and EAI technologies coexist, opportunities for creative solutions will provide new venues for more effective application integration solutions.

References

  • Buyens, Marc. (2002) "Web Services - The discovery of paradise." The Xpragmatic View. www.xpragma.com/view49.htm
  • Ambler, Scott. (2001) The Object Primer, Cambridge University Press.
  • More Stories By Jim Fisher

    Mr. Fisher has 12 years of application architecture and development experience. Mr. Fisher is a Senior Partner at the SequenceGroup, an aggressive process and technology consulting firm that focuses on freeing up capital from ongoing operations. A recognized expert in the emerging Web Services arena, Mr. Fisher holds the Web Services Chair at the EAI Industry Consortium where he guides industry adoption of Web Services technology.

    He began architecting cross-platform solutions in the early nineties and has become a recognized industry leader in the development of enterprise solutions across disparate platforms.

    For the past several years, he has focused on architecting integration solutions in the area of commodity risk management. In particular, integraiton solutions include systems such as Gas and Power Meter Managment to energy trading floors.

    Mr. Fisher holds a B.S. degree in Mechanical Engineering from Texas A&M University.

    Comments (0)

    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
    Is advanced scheduling in Kubernetes achievable?Yes, however, how do you properly accommodate every real-life scenario that a Kubernetes user might encounter? How do you leverage advanced scheduling techniques to shape and describe each scenario in easy-to-use rules and configurations? In his session at @DevOpsSummit at 21st Cloud Expo, Oleg Chunikhin, CTO at Kublr, answered these questions and demonstrated techniques for implementing advanced scheduling. For example, using spot instances and co...
    SYS-CON Events announced today the Kubernetes and Google Container Engine Workshop, being held November 3, 2016, in conjunction with @DevOpsSummit at 19th Cloud Expo at the Santa Clara Convention Center in Santa Clara, CA. This workshop led by Sebastian Scheele introduces participants to Kubernetes and Google Container Engine (GKE). Through a combination of instructor-led presentations, demonstrations, and hands-on labs, students learn the key concepts and practices for deploying and maintainin...
    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, discussed why containers should be paired with new architectural practices such as microservices rathe...
    Docker is sweeping across startups and enterprises alike, changing the way we build and ship applications. It's the most prominent and widely known software container platform, and it's particularly useful for eliminating common challenges when collaborating on code (like the "it works on my machine" phenomenon that most devs know all too well). With Docker, you can run and manage apps side-by-side - in isolated containers - resulting in better compute density. It's something that many developer...
    In his session at 20th Cloud Expo, Mike Johnston, an infrastructure engineer at Supergiant.io, will discuss how to use Kubernetes to setup 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....
    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...
    As software becomes more and more complex, we, as software developers, have been splitting up our code into smaller and smaller components. This is also true for the environment in which we run our code: going from bare metal, to VMs to the modern-day Cloud Native world of containers, schedulers and micro services. While we have figured out how to run containerized applications in the cloud using schedulers, we've yet to come up with a good solution to bridge the gap between getting your contain...
    In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
    DevOps is speeding towards the IT world like a freight train and the hype around it is deafening. There is no reason to be afraid of this change as it is the natural reaction to the agile movement that revolutionized development just a few years ago. By definition, DevOps is the natural alignment of IT performance to business profitability. The relevance of this has yet to be quantified but it has been suggested that the route to the CEO’s chair will come from the IT leaders that successfully ma...
    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...