Praktisches & Grundsätzliches zur Informatik

SOA — its Definition and Advantage

SOA — Service Oriented Architecture — is the modern way to structure, implement, and easily evolve the complete application environment supporting a company's core business.

The SOA Advantage:

  • A not SOA-conform application environment is necessarily a set of so-called silo applications (an application is called a "silo" if the larger part of it is code useful only as part of this one application).

    To make silo applications cooperate successfully is very hard. To replace them is quite often near to impossible.

  • A SOA-conform application environment is a set of services (often quite small mini applications) that are
    • designed to cooperate,
    • are easy to maintain,
    • and are also easy to replace with respect to their implementation.

    This is so because:

    A service is a piece of software
    • well documented,
    • dedicated to some specific task,
    • and known by the consumers as an interface only (not as a concrete product).

    To let services cooperate, as well as to use them in quite different situations, is easy: They do not require their clients to be implemented in any specific technology or be any specific products.

A SOA may or may not contain, as a kind of backbone:

  • An Enterprise Service Bus (ESB): a service to transport service calls, to buffer them until delivery is possible, and to guarantee delivery of service calls.

    ESB Services are typically quite simple applications of a JMS compatible messaging server such as e.g. HornetQ.

  • A Workflow Engine (WFE): an infrastracture with a GUI supporting the orchestration of service calls and the configur­ation of complex services supporting and automating workflows, i.e. long running transactions.

    A WFE should always be a standard product with a user interface supporting BPMN and with a standard process definition exchange format also supported by similar products. Bizagi is a quite typical product in this category.

Typical platforms on which to base a SOA are the MS Windows Communication Foundation (WFC) or any JEE compatible application server. Both guarantee that all services can be configured to be Web Services.

SOA-conform architectures strive to guarantee interchangeability of service providers without requiring code or process changes in the consumers. In order to achieve this, the code implementing consumers is to call interfaces, never directly the service providers.

Wissenswertes zu "ESB, Enterprise Service Bus, Service oriented Architecture, SOA" zusammengestellt durch Gebhard Greiter.
tags: stw3750SOASESB: SOAngegreit Servicengegreit ESBngegreit