wtorek, maja 18, 2004

IT-Analysis.com - A Short Defintion of Service Oriented Arch

IT-Analysis.com - A Short Defintion of Service Oriented Arch: "A Short Defintion of Service Oriented Architecture
Wednesday 5th May 2004
A Short Defintion of Service Oriented Architecture
Wednesday 5th May 2004

The phrase "Service Oriented Architecture" (SOA) is used extensively in the industry. Although it was first used eight years ago, it has only come into common use in the last year to eighteen months with the rise of Web Services. The problem with that timeline is that the people who use it now tend to use it without defining it.

This article is a synopsis of the many definitions1 that can be found on the web.

Firstly a negative definition SOA and WS are not synonymous, however there is a significant movement to suggest that future implementations of SOA will be based on WS.

An2 SOA defines how services are used to implement a business process. So what is a service? In the broadest sense a service is something that provides something for something else. For example a car hire service provides cars for business people. I have used a business service example here but in the IT industry, an SOA service is limited to mean a piece of executable code. At the end of the article, I will come back to a discussion of a business level SOA.

Not every piece of executable code is a service; in fact, the majority are not. A service will always interact with a requestor and will have certain attributes, which can be summarised as follows:

A requestor must be able to invoke a service remotely. This means that they cannot assume they have a shared environment.
There is no shared state information (for example in a shared database). The only information passed will be in the invocation process (probably in a message sent from the requestor).
A service must be able to describe and advertise itself to potential requestors. The description must be sufficient to allow the requestor to invoke dynamically the service. This implies a shared protocol at this level even though protocols for service implementation may vary.
The description not only defines the service but also defines the Quality of Service provided by the service and the Service Level Agreement. It will also define the format(s) and protocol(s) supported by the service (it is very possible, but not inevitable, that a service will mandate a single format and protocol).
The requestor must assume an asynchronous interaction with the service. This is essential to provide a reliable service. This does not preclude the service offering a real-time synchronous communication as an option.
An SOA defines how these attributes are implemented.

The attributes were developed with an IT environment clearly in mind, however they actually apply to business services as well (the car hire service should conform to these attributes). The broadening of SOA to cover business services would be helpful because we could then talk to the business in the same way as we talk within IT. To avoid confusion I would recommend that SOA is kept to mean just IT and the business version be called Business Oriented Services Architecture (BOSA).

Footnotes:

There are many definitions on the web but in particular this article is based on articles by Y Natis, C E Perez and P Gralla.
Can some style pedants help me to decide whether this should read 'A SOA' rather than 'An SOA'

Brak komentarzy: