Presentation on theme: "Harithan R velagala CSE 532 TERM PAPER. First what is a service? A service is a reusable component which transforms business data. It is self contained."— Presentation transcript:
First what is a service? A service is a reusable component which transforms business data. It is self contained. SOA is nothing but a software architecture model. It is also a method of design, deployment, management of applications and infrastructure over a distributed network.
Can create new business applications faster Reusability is achieved Logic duplication is reduced Deriving new functionality from existing services in real time. SOA defines the interface in terms of protocols and functionality rather than an API
The most important are the Architecture principles of SOA. 1.Standardization Of contract 2.Loose coupling. 3.Reusability. 4.Composability. 5.Discoverability. These are defined on services.
The services should follow a communications agreement, which is defined by the service agreement document. The service should know how its output is utilized All the services should be able to exchange messages in the same format Services should use the contract to express their purpose and capabilities.
Services maintain a relationship that would minimize the dependencies Services are aware of the existance of other services
Services which contain a logic can be considered as reusable enterprise resources. Each reusable component has a specific function and can be accessed concurrently
This ensures that services are able to form multiple and complex compositions Composability is mainly achieved by identification of services and their interfacing
Every service has a communicative metadata The services are identified using this meta data and new services can be created after identification of the useful services.
Interoperability and modifiability of a systrem can be achieved Adopting SOA may some times effect the quality attributes that might be importatant to the consumers. There can be slight degrade in performance in some applications.
SOA is an architectural style of developing and using distributed systems. SOA is appropriate in some situations and completly unnecessary in other situations, so it should be applied only if necessary. SOA cannot be applied at instances where memory and processing are limited for example the embedded systems.
SOA increases the complexity of a system, but decreases the effort when changes in a system are frequent. Duplication of logic is reduced when SOA is applied. SOA is recommended only when the modifications and changes in a system are imminent.