www.aspnews.com/analysis/analyst_cols/article.php/3306521

Back to Article

Get Tools and Whitepapers from the
Nokia Knowledge Center

IT Solutions for Enterprise Mobility
Whitepaper:
Advantages of SIP for VoIP

Whitepaper:
Extend Enterprise-wide Mobility Through Transformation of Your Content

Whitepaper:
Getting Started—Three Steps To Creating Your IT Mobility Strategy

Whitepaper:
The Anytime Anyplace World—Choosing the Right Mobile Connectivity Strategy for Your Enterprise

Download:
Nokia Mobile Connectivity ROI Tool

A Winning Combination: Software-as-Services Plus Business Consulting and Process Services
By Laurie McCabe
January 30, 2004

This article is the second in a series about the Event Web (EW), Event Driven Architecture (EDA), and Sense and Respond (S&R) systems. The first article, “The Event Web: Sense and Respond to Critical Conditions,” introduced these concepts. This article discusses software architectures in general and service-oriented architecture (SOA) in particular. The Event Web is based as much on SOA as on EDA, so this discussion offers a review of SOA. The next article will describe EDA in greater detail.

Review of Fundamental Concepts

S&R systems amplify human capability to respond to threats and opportunities. They monitor events both outside and inside an organization, create the changing big picture by integrating information from multiple sources of events, identify new opportunities and threats as the big picture changes, and respond by invoking applications and sending alerts to devices. The Event Web is a S&R utility that helps people respond to critical conditions in their environments. EDA is the architecture that allows for the systematic structuring of S&R applications. EDA components monitor the environment, process events, and respond to changing conditions continuously.

SOA supports composition of services. SOA is the culmination of a development, over many decades, of modular program construction based on function (or procedure) calls. Procedural composition, object-oriented programming, client/server structures, and SOA are compositional software structures based primarily on request/response calls: synchronous requests to components that reply to each request with a response. The components are quiescent until they receive a request. By contrast, EDA continuously senses and responds to the environment.

Software Architecture

You probably are familiar with software architecture (see Figure 1), but a refresher on the subject will help set the stage for the comparison of SOA and EDA to follow.



Click here for a larger image.

Figure 1: Architecture Definition and Schema

As Figure 2 shows, architectures are composed of the following:

  1. Components: The elements that form a system. For example, the components of a bridge are beams, cables, and trusses.
  2. Compositional operators: The mechanisms for plugging components together to get other components. For example, smaller trusses can be welded together to form larger trusses.
  3. Contracts: The specifications for what users of components can expect from them. For example, a contract for a truss specifies its ability to handle compression without buckling, its tensile strength, and its ability to withstand corrosion.



Click here for a larger image.

Figure 2: Bridge Architecture Example

Associated with a composition operator are rules that help designers demonstrate the correctness of a component that was built by plugging components together with the compositional operator. Bridge designers use these rules to verify that a truss satisfies a contract, given the construction of the truss using compositional operators (for example, welds) on other components (for example, beams) and the contracts of the components.

Business networks facilitate the development of systems. The components of these business networks are providers, consumers, and brokers of systems (see Figure 3). For example, steel companies are providers of beams, construction companies are consumers of beams and providers of bridges, and brokers help in connecting beam suppliers and consumers.



Click here for a larger image.

Figure 3: Business Network Trinity: Bridge

To help clarify the distinctions between the terms SOA and EDA, this series begins by defining each rigidly. The definitions will become broader with time, but keeping them rigid at the start highlights the differences between EDA and SOA. Note that the comparison is between SOA and EDA, not Web services and EDA. Web services, defined broadly, has many features of EDA — indeed, the Event Web is based entirely on Web services — but this article and the one to follow merely set the stage for a detailed study of EDA and the Event Web.

Page 2: How SOA Works

 

FREE IBM Tools and Tutorials on XML and Java:
Tutorial:
Validating XML
Download:
Rational Application Developer for WebSphere Software
Tutorial:
XML Programming in Java Technology, Part 1
DVD:
IBM Software Evaluation Kit (SEK)