SOA reference architecture definition to support the following goals:
- Provide a common language for services and SOA.
- Provide consistency of implementation, business purpose, and semantics across services.
- Provide an architectural-based design methodology.
- Support SOA governance.
- Support Enterprise Architecture.
- Define how the reference architecture is used.
Components of the SOA reference architecture includes :-
1. Service Metamodel —
Defines the concepts, characteristics, and details of a service and how services relate to other parts of the architecture.
Specifically, this defines the service types (business, domain, utility,integration, external, and foundation), the service dimensions, and how these concepts are represented and manifest themselves in a service definition.
2. EA Perspectives— Comprise of the following standard Enterprise Architecture domains : -
Business Metamodel :—
- Defines the concepts used to describe the business architecture.
- Defines the relationship of traditional business architecture concepts (strategy, goals, outcomes, organization,value chain, contexts, and processes) to service-oriented systems.
Information Metamodel :—
- Defines the concepts used to characterize the information architecture such as semantic, domain, and physical data.
-Defines the relationship between traditional information architecture concepts and service-oriented systems.
Application Metamodel :—
- Defines the concepts used to characterize the application architecture.
- Defines the relationship between traditional application architecture concepts and service-oriented systems.
For example, it describes how services are used in an n-tier architecture.
Technology Metamodel :—
- Defines the concepts used to characterize the technical architecture.
- Defines the relationship between technical architecture concepts and service-oriented systems.
For example, how specific platforms and networks support service SLAs for quality of service.
MBD Perspectives :—
- Support model-based development approaches with specific profiles.
- MBD profiles are related to architectural metamodels, but provide a mechanism to embed the metamodel into a standard modeling and generation tool.
Business Profile :—
- Defines the concepts used to describe the business problem in nontechnical terms.
- Defines the relationships among concepts, rules, and constraints.
Application Profile :—
- Defines the logical structure of applications,typically in terms of layers, tiers, and architectural elements.
- Defines where and how services fit into the overall application structure.
Platform Profiles :—
- Defines the details of the technology platform that will be used for implementation.
- There will typically be multiple different platform metamodels to support different technologies, such as .NET, Java,ESB, and so on.
Transformations :—
- Defines how concepts in one model are transformed into concepts in another model and the traceability between model elements.
3. Process Metamodel — - Defines a process for the design and implementation of services, starting at the business level, moving through service design, to platform-specific implementation.
- Defines the overall workflow, the goals and concerns of each step in the process, the inputs,the metamodel elements involved in each step, the work products produced,and the metrics.
4. Governance Metamodel —
- Defines the fundamental concepts of governance, what metamodel elements they apply to, relationships and constraints, and the interaction of governance with the rest of the reference architecture at design and run time.
5. Architectural Relationships Model—
- Defines the relationships among all the different aspects of the reference architecture, and the relationships with other common architectural frameworks such as EA and software architecture.
6. Architectural Usage Model —- This describes how to use the reference Architecture.