r1 - 03 Mar 2008 - 16:44:27 - BenBurnettYou are here: burnett.ws >  Main Web  > ServiceOrientedArchitecture

Service Oriented Architecture (SOA)

Background

I am currently working on some SOA related projects (AVOCADO and ReSCO?). In My searches I've been trying to find out some basic general information about SOA and the systems related to it in a clear, quick, straight forward, and correct way and I have not been able to find it, so I thought I'd start trying to make an SOA summary for my purposes and for others to use.

Another goal is that since Service Oriented Architecture (SOA) is very popular right now this should also improve my page rank and SEO (Search Engine Optimization) efforts that I'm always trying to tweak in an effort to control my search rankings and understand more about how Google and others work better.

What is it?

My Overview: A SOA has all applications broken into amll modular components that can run on any number of available machines. The goal of SOA is to reduce costs by making components (software, hardware, services, consumers, clients, producers, etc.) interchangeable and able to be moved to the most economical place to run or do their job. SOA in a sense is a way to turn a network into a giant multitasking computing device be locating serverices (servers) all over/anywhere, kind of like capitalism for computers and networks. Web 2.0 ideas are very similar to SOA = Global SOA could be what Web 2.0 turns into someday. Another way to view it is like Object oriented programming across a network (similar to remote procedures or a CORBA-Like network middleware)

Wikipedia: Service Oriented Architecture (SOA) is a computer systems architectural style for creating and using business processes, packaged as services, throughout their lifecycle. SOA also defines and provisions the IT infrastructure to allow different applications to exchange data and participate in business processes. These functions are loosely coupled with the operating systems and programming languages underlying the applications. SOA separates functions into distinct units (services), which can be distributed over a network and can be combined and reused to create business applications. These services communicate with each other by passing data from one service to another, or by coordinating an activity between two or more services. SOA concepts are often seen as built upon, and evolving from older concepts of distributed computing[2] and modular programming.

MSDN: The goal for a SOA is a world wide mesh of collaborating services, which are published and available for invocation on the Service Bus. Adopting SOA is essential to deliver the business agility and IT flexibility promised by Web Services. These benefits are delivered not by just viewing service architecture from a technology perspective and the adoption of Web Service protocols, but require the creation of a Service Oriented Environment that is based on the following key principals:

  • Service is the important concept. Web Services are the set of protocols by which Services can be published, discovered and used in a technology neutral, standard form.
  • SOA is not just an architecture of services seen from a technology perspective, but the policies, practices, and frameworks by which we ensure the right services are provided and consumed.
  • With SOA it is critical to implement processes that ensure that there are at least two different and separate processes—for provider and consumer.
  • Rather than leaving developers to discover individual services and put them into context, the Business Service Bus is instead their starting point that guides them to a coherent set that has been assembled for their domain.

Examples?

  • Web Services - this is the obvious and big one for business currently
  • JAX WS - Java Web Services standard
  • Oracle Fusion Middleware
  • WinFX?/WCF - As a component of WinFX?, WCF (also known as Indigo) is the new technology that leverages SOA to handle communication between different processes. As it stands on the Windows platform, there are several different ways to communicate between processes such as MSMQ, WSE, and .Net Remoting. WCF serves to integrate the roles of all those solutions into one encompassing technology. Paper from University of Minnisota (UMN)
  • Service Data Objects (SDO) - IBM and BEA have introduced a proposal for a new technology called Service Data Objects (SDO) that transcends the limitation of a specific development language.
  • Some database management systems (DBMS) which use XML for storage and data access.

SOA Fabric http://www.exforsys.com/tutorials/soa/soa-industry-usage.html:

    • The Service Bus (Network and Hardware): Services bus is like basic communications channel that allows services to be inter-connected within SOA.
    • The Registry can be viewed as a control center in which descriptions of services are stored that enables run time discovery.
    • Event handling middleware enables the outside world to connect with the infrastructure of the service.
    • Instrumentation provides data about what the infrastructure is doing and how it performs.
    • Policies can be thought of as the means by which design time decisions about such facets as service levels and security may be enforced in a run time environment.

Components:

  • Hardware
      • Network
      • Server
      • CPU
  • Software (the standard platform for Service Oriented Architecture is constructed on a platform that is based in the following three areas: implementation, messaging, and service description and discovery)
    • implementation
      • Service (Server, Producer, Publisher)
      • Client (Consumer, Subscriber)
    • Messaging
      • SOAP - standard to encode message
      • HTTP - Protocol to send message
    • Directory of Services
      • UDDI - dead
      • WSDL - Web Services Description Language - For SOAP/XML and Web Services
      • WS MetadataExchange? -handshake for WS Policy and WSDL
      • WS Policy - QoS? like policies for SOA/WSDL

-- BenBurnett - 03 Mar 2008

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r1 | More topic actions



dashboard

stats count

View My Stats (StatCounter )


Ads:


 
Burnett.ws

Ben Burnett's Website



This site is powered by the TWiki collaboration platformCopyright © 2006-2008 by Ben Burnett and the contributing authors. All material on this collaboration platform is the property of the Ben Burnett and the contributing authors.
Ideas, requests, problems regarding burnett.ws? Send feedback