What do you mean by Service Oriented Architecture? How can you characterize Service Oriented Architecture?
Service-oriented architecture (SOA)
Service-oriented architecture (SOA) references a set of principles and methodologies applied by software engineers to design and develop software in the form of interoperable services. Services are usually built in the form of components that can be reused for different purposes than originally intended. For this reason, the interfaces are often defined in a practical manner, allowing use across varying applications and multiple platforms.
We can characterize SOA as follows:
• In SOA, Services should be independent of other services. Altering a service should not affect the calling service.
• Services should be self-contained. When we talk about Register Customer service it means, the service will do all the necessary work for us, we are not required to care about anything.
• Services should be able to define themselves. Services should be able to answer the question of what it does? It should be able to tell the client what all operations it does, what data types it uses, and what kind of responses it will return.
• Services should be published in a location (directory) where anyone can search for them.
• As said, SOA comprises collection services that communicate via standard Messages. Standard messages make them platform-independent. (Here standard doesn’t mean standard across Microsoft it means across all programming languages and technologies.)
• Services should be able to communicate with each other asynchronously.
• Services should support reliable messaging. This means there should be a guarantee that the request will be reached the correct destination and the correct response will be obtained.
• Services should support secure communication.
Comments
Post a Comment