1. Standardized Service Contracts
- A SOAP Web Service has the following as part of the contract
- WSDL
- XSD
- WS Policy
- SLA (Service Level Agreement)
- Service Contract is standardized through the application of design standards(contract first approach)
- Standardized naming conventions(expressive)
- Standardized data types(reduces the transformations between data types)
2. Loose Coupling
The different types of coupling are
- Logic-to-Contract Coupling
- Created when the "contract first" approach is followed
- Tight coupling of Service Logic on the Service Contract
- Positive
- Contract-to-Logic Coupling
- Created when the Service Contract is auto generated from the Service Logic
- The Service Contract is dependent on the underlying Service Logic
- Also, auto generation of schemas from the database tables
- Negative
3. Service Abstraction
- Hides the implementation details from the Service Consumers(to be hidden - includes technology, functional, programmatic logic and quality of service information)
- This provides the freedom to evolve the service implementation as required.
4. Service Reusability
- Services should contain and express agnostic logic so that they can be reused across the enterprise.
- Achieving this is very important as the ROI is highly dependent on the degree of reuse achieved
- Some of the design characteristics are
- The Service is defined by an agnostic functional context
- The Service Logic is highly generic
- The Service Contract is generic and extensible
- The Service Logic can be accessed concurrently
5. Service Autonomy
- The level of control over the underlying runtime execution environment.
- Task Services have less autonomy as they compose other services over which they have less control.
6. Service Statelessness
- Stateless Services
- Increase Service Scalability
- Increase Service Reusability
- Consume less computing resources
- Orchestrated Task Services are expected to be stateful
- Entity and Utility Services are generally stateless
7. Service Discoverability
- Services are supplemented with meta data by which they can be effectively discovered
8. Service Composability
- Services should be composable
Nice post ,keep update at
ReplyDeleteOracle SOA Online Training