You are on page 1of 7

What is a Service Oriented Architecture (SOA)?

Definition

Service Oriented Architecture (SOA) is based on loosely coupled applications that interface with each other typically using web services. Business processes are packaged as a service that can be reused. SOA states that all public software components are developed as services.

SOA is not actually a specific architecture that is why there are lots of different definitions. It is a conceptual architecture that allows distributed applications to communicate with each other without having to worry about the programming language and operating system.

Car Ordering Business Processes

In the above e ample! you can see the high level processes to order a car. ". $. %. #heck Stock Address validation Bank Account &alidation

'. (. *.

#redit #hecking #ontract )eneration +elivery

,ach of the above processes could be completed by the same company! however! it is usually more efficient and cost effective to have a company that specialises in this service.

Why use Service Oriented Architecture (SOA)?


Below are some of the reasons companies should look into using SOA-

. . . . . .

#ost #utting Better #ollaboration with organisations Improved customer Service /oose coupled businesses 0euse data 1 access data without having to store it yourself 2ocus on core competencies 1 focus on what the business is good at.

3ewlett 4ackard implemented an SOA that has seen up to 567 million in savings. 34 says the initial paybacks from SOA came through consolidation! reduction of redundancy and reuse across services through its e8business centre. #omponents of Service Oriented Architecture (SOA)

Components of Service Oriented Architecture (SOA)


1. service is self contained and loosely coupled 2. dynamically located and invoked services

3. interface contract (used to access the service)

1. Service is self contained and loosly coupled

9he service does not depend on other services to funcion. It has interactions which are loosely coupled! so that they remain independent of other interactions and services. 9he tasks that the service carries out are pre8determined

2or e ample! a service Address &alidation does not need the #heck Stock service to function. 9his means that other applications can call the Address &alidation service and reused it. /oose coupling is good because if a service changes its internal mechanism! other services using the change service will not re:uire ma;or changes.

2. dynamically located and invoked services

9he services can be located and invoked dynamically. 9his means if a service moves from one server to another server! it does not matter as its physical location does not matter.

. interface contract (used to access the service)

An interface is established of how to access the service. 9his clear interface makes it possible for the

service to change and improve its internal processes without affecting the users of the service.

9his makes it easy to move from one platform (<ava) to another platform (.=,9). 9he interface is kept the same but the mechanisms specific to the platform are updated.

What is a We! Service?


>eb services are commonly implemented as part of a move towards a Service Oriented Architecture (SOA). >eb Service technologies such as ?@/ are used to define the service interface.

Definition of We! Services

>eb Services are a collection of standards and specifications that enable computer to computer communication. #omputer software functions can be developed to e pose public interfaces which are accessible over the Internet without having to worry about the platform or programming language used.

9here are three parts which enable web services to work-

". +iscovery (A++I) $. Interface (>S+/) %. #ommunication (SOA4)

Aniversal +escription! +iscovery and Integration (A++I) 1 this is how the web service is found.

>eb Services +escription /anguage (>S+/) 1 this describes the web service in a standard way.

Simple Ob;ect Access 4rotocol (SOA4) 8 SOA4 is a lightweight communication protocol based on the e?tensible @arkup /anguage (?@/).

SOA "rivate #a!el


Another consideration is the branding of a service.

If a website makes use of several different services! should the users of the web site see the services being used.

2or e ample! a website that sells computers may use several services to get the computer product delivered to the customer. 9hey may include-

". payment process and fraud protection $. international devliery company %. notification of the order via te$t messa%e

=ow the customer may not be confident to spend money online unless they see a trusted online payment provider (such as 4ay4alB@astercardB&isa). So in this scenario there may be benefit to the website to show they use 4ay4al as their payment provider. 3owever! if the website sends notification of the order via te t message! this is :uite uni:ue and they might not want the customer (or competitors) to know they are using an e ternal service.

So when creating a service! it is important to understand the re:uirements of the service consumer and end users. In some cases it may be beneficial to make the service a private label. >hat this means is that the service can be re8branded by the consumer but still use the service providers infrastructure.

Another e ample is the use of CahooD email. 2ree email users are willing to have Cahoo add branding (this email was sent via Cahoo) if they do not have to pay. #orporate customers pay a premium for a private label service (with their own company branding)

SOA &overnance
@ost people think of SOA E >eb Services. >ell that is not true. It is correct that >eb Services (covered in the ne t section) are important and play a ma;or part in the implementation of services but there are lots of non8technical issues that need to be considered.

SOA is not ;ust about the technical solutions but also about the correct decisions. ,ach of the SOA services is used for a purpose and some :uality threshold needs to be established.

2or e ample! if a delivery company is using an Address &alidation service from an e ternal supplier then it is critically important that the Address &alidation service keeps on working. 3owever! services need to be updated as well so a Service /evel Agreement between the customer and the service supplier need to be agreed.

If SOA is to create a more dynamic environment for services to interact and to encourage reuse of services! controlling how these services interact with each other then it also needs to be controlled and standardised. 9hese controls and standards help to guide SOA Services and makes agreements with suppliers (providers) and customers (consumers).

SOA )overnance is about

") 4eople B 9raining

$) Standards B 4rocedures

%) #omponents (such as authentication! encryption! auditing! validation and logging)

As companies use SOA to better align I9 with the business! they can ideally use SOA governance to improve overall I9 governance. ,mploying SOA governance is key if companies are to realise the benefits of SOA. 2or SOA to be successful! SOA business and technical governance is not optional! it is re:uired.

Aspects of SOA )overnance-

+efinition (scope! interface! boundaries of the service) +eployment &ersioning @igration B +eprecation +ependencies @essaging @onitoring Ownership 9esting Security

You might also like