Question | Answer |
OOAD | object-oriented analysis and design
– its level of granularity is focused on the class level, which resides too a low level of abstraction for business service modeling and creates tight coupling. |
CBD | Component-based development - CBD carries with it all the difficulties of OO modeling and multiplies the complexity by increasing the scale of the model. Let alone if models are extended across enterprises |
BPM | Business process modeling - examines business processes, identifies ways to improve them, and addresses barriers that impede their ability to achieve their business goals. |
Shortcomings of OOAD, CBD and BPM | OOAD, CBD and BPM are not grounded on SOA principles, fail to address the three key elements of an SOA: services, service assemblies (composition), and components realizing services. |
SOA principles | 3 parts
– Service contract – Interface
– Implementation
Services also follows important principles, such as
-loose coupling,
- strong cohesion and are offered to clients at the
- appropriate level of granularity |
Service Coupling | Coupling is the degree of interdependence between any two business processes.
- Representational service coupling:
- Identity service coupling
- Temporal coupling
- Message exchange pattern coupling |
Representational service coupling | Services should not depend on specific representational or implementation details and assumptions of one another |
Identity service coupling | Connection channels between services should be unaware of who is providing the service. |
Location coupling | Clients don’t need to know(or care) about where a process or service is actually located, The client requesting the service is decoupled from the service itself |
Temporal coupling | it is achieved when service invocation is based on an event based or asynchronous messaging communication backbone |
Message exchange pattern coupling | A sender of a message should rely only on those effects necessary to achieve effective communication. The number of messages exchanged between a sender and addressee in order to accomplish a certain goal should be kept minimal |
Service cohesion | Cohesion is the degree of the strength of functional relatedness of operations within a service
- Functional service cohesion
- Communicational service cohesion
- Logical service cohesion
- Temporal Service Cohesion
- Sequential Service Cohesion |
Functional service cohesion | performs one and only one problem related task and contain only services necessary for that purpose. At the same time, the operations in the services of the business process must also be highly related to one another, i.e. highly cohesive |
Communicational service cohesion | Activities and services use the same input and output messages. Leads to cleanly decoupled business processes. |
Logical service cohesion | Services all contribute to tasks of the same general category. They perform independent but logically similar functions (alternatives) that are tied together by means of control flows |
Temporal Service Cohesion | it is achieved when parts of a process or service are grouped by the time when they are processed |
Sequential Service Cohesion | it is achieved when operations of a service are grouped because the output from one operation is the input to another part like in an assembly line |
Service granularity | Service granularity is the scope of functionality exposed by a service.
Services may come at two levels of granularity |
Service analysis | Service analysis aims at identifying and describing the processes in a business problem domain, and discovering potential overlaps and discrepancies between processes under construction and available system resources needed to realize services. |
Portfolio analysis | Portfolio analysis requires that applications and business processes that are candidates for re-engineering be prioritized according to their technical quality and business value. |
Service identification and scoping | Service identification inspects enterprise core business entities as certains business concepts and leads to the entities, formation of conceptual business processes and business services. Takes into account important issues such as |
SOA gap analysis | It aims to asses the gap between the portfolio of to-be services and IT resources that are available to implement them, and then putting in place a gap mitigation strategy |
Business service realization analysis | 1) Green-field development
2) Top-down development
3) Bottom-up development
4) Meet-in-the-middle development |
Service design concerns | The design phase encompasses the steps of:
– singular service specification
– business process specification
– policy specification for both singular services and business processes |
Orchestration | Calling different services from a central point |
Choreography | Services call each other |