You may have invested significant time and effort creating services. Have you reached maximum service agility, adaptability, adoption? Are applications now easier to build? Is it time for a SOA portfolio review?
SOA portfolio review objectives include determining if the service design methodology, service contract boundaries, and service coupling minimize portfolio redundancy and duplication while maximizing adoption. Discrete tasks may evaluate:
- Service contract boundaries and resultant impact on consumption and orchestration.
- Coupling between service design, service description, proxy/stub code, and core business logic code to determine expected agility, development cost, and maintenance burden.
- Service design guidelines, service contract definition and associated policies
- Expected service consumption and orchestration.
- Process used by developers to discover, gain access, evaluate, and integrate portfolio services .
- How the team builds and deploys artifacts and how the team develops services.
- Does the design allow for the accomplishing key goals such as: modularity, configurability, and flexibility. This should lead to consideration of principles like loose coupling, abstraction, granularity, interoperability, and separation of concerns.
- Can service consumers readily discover relevant services, and can consumers easily understand how the service matches their functional and non-functional requirements
- How can service design, service development guidelines, service governance, service management, and service storefronts increase service adoption and minimize redundancy
Client deliverables into the evaluation process may include:
- Any existing high-level uses cases, requirements, and descriptions for planned and existing service interfaces and service deployments
- Business process and business capability models
- Service models and interface descriptions
- Review code artifacts and Maven artifacts generated during the implementation
Development governance practices (i.e. application, integration, services)
- Service design guidelines
- Development tooling and frameworks
- Service implementation process, code artifacts, and Maven artifacts.
Service integration, deployment and release engineering guidelines (i.e. administration, monitoring, solution provisioning, API key management, security integration)
Run-time policy requirements and enforcement mechanisms
- Security policies (i.e. application, integration)
- Service level agreements
- Organizational structure (i.e. IT departments, competency centers, team roles and responsibilities)
Service Portfolio Map
- Applications / Projects
- Services / API
- Business capabilities and business domain
SOA Portfolio Review recommendations should span the following workstreams:
- Service Models
- Development processes
- Organizational dynamics
For more insight, read: