Some common confusions (terms :)) with respect to SO
It consists of a sequence of activities that produce a valuable result.
Business activities or tasks are the units that when combined form the business process, Cost, revenue, resources, timelines, input and output are all examples of business activities; they are a key in SOA governance and thus vital in identifying services.
A service is a resource that can be discovered (disco, UDDI …) to execute a specific task (representing a specific business process) and is described by an external service specification which explicitly defines the semantics of the service (XSD); the consumer of the service must follow these specifications (WSDL).
Key Concepts behind a service:
- Business Alignment: Services are always based on the business needs rather than on IT capabilities.
- Specification: Services are self contained and described in terms of Interfaces, operations, policies etc.
- Reusability: Services are designed to promote reusability, they are created to perform a specific repetitive task.
- Hosting and Discoverability: Services need to be hosted (IIS, WAS, custom host) and are discoverable through services metadata.
- Aggregation: Loosely coupled services together act as a solution to a composite business process or application.
Service Orientation (SO)
It is a way of integrating a business as a set of linked services.
It provides a means of effectively implementing business processes using services within the organization, across geographical locations and with disparate partner organizations.
Enterprise Architecture (EA)
It is a strategy for laying down the current / future structure and behavior for an organization’s processes, people, business units to achieve the common goals of the organization.
Service Oriented Architecture (SOA)
SOA = EA + SO
SOA lays down the architecture for an organization using loosely coupled services that aggregate to achieve the business goals of the organization.
One of the key concepts of SOA is Loose Coupling and the separation between specification (business model, interface) and implementation (technology) which minimizes the impact of change and maximizes interoperability.
It is an extension to the IT processes followed by an organization and specifically focuses on how services are implemented within the organization, It defines the methods and processes around service discovery, design, implementation, deployment, reuse, access etc.
SOA Governance defines the rules and decisions about the “what” (what business processes needs to be implemented as services) , “how” (how these services will be implemented), “why” (why do we need this business functionality as a service) and “whom” (what roles, users will be involved and have access to the service) of services and is an essential part of the SOA life cycle.
It is an interface that describes the operations that are offered by the service and the service messages that act as input, output or fault parameters to these operations.
It is the Contract between the service provider and the service consumer
It is the realization or implementation of one or more service specification. It defines how all the functional and non functional requirements and structural and behavioral specifications are implemented.
It defines the required service specification (contract) and provides a means to connect to the service (address), it also exposes the transport channel to communicate with the service (bindings).