You are on page 1of 1

Service Oriented Architecture (SOA

Monday, May 11, 2009 10:55 PM

SOA-High Level Definition: A paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownerships.

Technically • A client/server software design approach in which an application consists of software services and software service consumers (also known as clients or service requesters). • SOA differs from the more general client/server model in its definitive emphasis on loose coupling between software components, and in its use of separately standing interfaces. Why SOA? • Drivers: • Large scale systems • Provisioning of services • Reduce the cost • Benefits • Build scalable, evolvable systems ○ Scalable because minimizes assumptions • Manage complex systems • Encourage re-use Predecessor to SOA Modular Designs Object-Orientated Approaches Component Based Software like COM, DCOM Problems Successfully Addressed: • Complexity Management • Re-use (to some extent) • Problems Still Present: • Deployment Problems Successfully • Maintenance Resolved by SOA • Integration of complex systems • • • • Components to Services
Requires a client library Loose coupling via
Message exchanges Policies

• SOA should be task oriented • Not just a marketing hype… • SOA is a way of thinking • SOA is not Web Services • Loosely coupled architecture that uses messaging • Enriched by creating composite apps • Move from batch to real-time • SOA is about constructing software components that can be reused in context unknown at design time • Composition versus Extension (OO)

• • • •

Key Concepts in SOA Loose Coupling Implementation Neutrality Flexible Configurability Granularity Long Lifetime
Key Components of SOA

Client / Server Extendable Stateless Fast Small to medium granularity

Peer-to-peer Composable Context independent Some overhead Medium to coarse granularity
Protocols WSDL‐‐>Web Service Description Language: For describing Services UDDI‐‐>Universal Description, Discovery & Integration: Serves as Registry SOAP‐‐>Simple Object Access Protocol: For message based access to WS HTTP‐‐>Hyper Text Transmission Protocol: As transport mechanism WSDL, UDDI, & SOAP are XML (eXtensible Markup Language)

→ Services → Messages → Service Discovery

• What is A service in SOA: Is an • exposed piece of functionality with • three properties: • The interface contract to the service is • platform-independent. • • The service can be dynamically located • and invoked. • • The service is self-contained. That is, the service maintains its own state. • •

Attributes of Service Well defined, easy-to-use, somewhat standardized interface Self-contained with no visible dependencies to other services (almost) Always available but idle until requests come “Provision-able” Easily accessible and usable readily, no “integration” required Coarse grain Independent of consumer context, • but a service can have a context New services can be offered by combining existing services Quantifiable quality of service

© Available at:‐science‐

soa Page 1