Many organizations are now facing challenges around keeping pace with current business trends and managing complex systems. So organization are looking for better business agility, better business automation, and better IT alignment to speed their business growth.
In most of the cases, SOA helps in simplifying the business and eases communication with different departments. It separates functions into distinct business services - units which can easily be accessible and reusable. SOA focuses on agility and flexibility. The point is to create services that are easily accessible across enterprise and can be consumed in different environments.
As per Wikipedia, "Service-oriented architecture (SOA) is a flexible set of design principles used during the phases of systems development and integration in computing. A system based on a SOA will package functionality as a suite of interoperable services that can be used within multiple, separate systems from several business domains."
SOA generally provides a way for consumers of services, such as web-based applications, to be aware of available SOA-based services.
Below are guiding principles SOA during development, governance and usage:
- Reusability, granularity, modularity, and interoperability
- Industry standard compliance
- Provisioning and Monitoring/Tracking
One common reason for the failure of an SOA initiative in any given organization is poor governance. SOA governance plays a major role in managing and tracking services. It helps in maintaining version and life-cycle, provisioning, quality-of-service, and other aspects of a service. Enterprise architecture helps organizations with the development and maintenance of their SOAs by providing the framework, tools, and techniques. It also helps the business side to align with IT.
According to The Open Group, "The Open Group Architecture Framework (TOGAF) is a framework - a detailed method and a set of supporting tools - for developing an enterprise architecture. It may be used freely by any organization wishing to develop an enterprise architecture for use within that organization."
TOGAF ADM (Application Development Method) is a step-by-step process to develop an enterprise architecture which will meet the business and information technology needs of an organization. It may be tailored to the organization's needs and then employed to manage the execution of architecture planning activities. The following figure, courtesy of The Open Group, illustrates the ADM Cycle:
SOA with TOGAF
While TOGAF is defined as a detailed method of developing enterprise architecture, it also entails guidelines and techniques that help an architect decide where and how to use SOA.
During the process of ADM, following things needs be to taken care of:
This phase focuses on the preparation and initiation activities required to meet the business directive for new enterprise architecture. In this phase, the enterprise architect should adopt the principle of service-orientation. This will help tailor two additional outputs of the phase: a governance and support strategy and the content of the initial architecture repository.
- Add the service-orientation principles under architecture principles
- Do the SOA maturity assessment using The Open Group Service Integration Maturity Model (OSIMM)
- Define the SOA Governance and support strategy – SOA governance should extend IT & EA governance
- Populate a SOA-related architecture repository like SOA Reference Architecture, SOA Building Blocks, SOA SBB, or SOA technical components
- Form the SOA Center of Excellence (CoE) while establishing the architecture team.
This phase focuses on the vision, scope, business drivers and readiness assessment.
Vision: Take care when defining your vision. SOA has its own terminology (jargon like contracts, services, etc.), models, policy and matrices. The Open Group has published the SOA Ontology, which formally defines the terminology, semantics, and fundamental concepts of SOA.
Scoping: Architecture scope is dependent on the type & size of an enterprise. As a general practice, It is not recommended to make a single architecture (if it is very complex or large). First define the Strategic Architecture, which will have a long-term view. This architecture will have several segments of SOA. Each segment can be detailed out in Segment Architecture and will have a single, integrated SOA. Segments can further divide into smaller and less complex units called Capability Architecture. The diagram below shows the TOGAF scope mode:
Business Drivers & Concerns: While defining the concerns and viewpoint of your business drivers, the principles and tenets of SOA need to be adhered to.
Readiness: While evaluating business capabilities, evaluation of SOA readiness activity needs to be done.
This phase focuses on business architecture aspects such as people, processes, and function. From an SOA perspective, TOGAF’s meta-models need to be extended to cover the business architecture. Also contracts, one of the main parts of SOA, are needed to formalize the functional and non-functional properties of business service interaction with both external and internal entities. Regarding non-functional requirements, SOA service quality objects should be modeled.
Information Systems Architecture
This phase focuses on the application portfolio and entity of organization. The major changes need to be done at the application architecture layer. SOA artifacts are different from those of TOGAF and the process of gap analysis between base and target architecture is different.
This phase defines the software and hardware infrastructure required for architecture. SOA related activity can be started with the SOA Reference Architecture and can be customized with respect to Organization. For defining the technology, SOA Reference Model should be used.
Opportunities & Solutions
This phase focuses on the initial level implementation planning and then identifies the delivery vehicles for the architecture defined in the previous phases. In SOA, identification of service and solution portfolios is a key thing. Identification of solution portfolios, integration and management, and internal or external service providers is done in this phase. SOA & SOI roadmaps, SOA solution matrices & diagrams are the output of this phase.
This phase focuses on forming a set of detailed sequence of transition architectures with a supporting previous phase identified plan. In this phase, SOA governance and strategy should mesh with the TOGAF suggested governance model and should be finalized before implementation starts.
This phase focuses on the architectural oversight of the implementation. An architecture implementation should adhere to the TOGAF and SOA governance and strategy model defined in the previous phase.
Architecture Change Management
This phase focuses on managing the changes to the new architecture and also helps in considering adopting the principle of service-orientation.
The main aspects to focus on while realizing SOA with TOGAF are:
- Content Meta-Model
- Reference Model
- Maturity Model
- Organization SOA readiness
- SOA Governance Model
- SOA CoE
When realizing SOA with TOGAF, the architect should remember that the object is to have SOA solutions that focus on managing the enterprise's complexity and provide business agility.
- TOGAF 9 (http://pubs.opengroup.org/architecture/togaf9-doc/arch/index.html)
- SOA Ontology (http://www.opengroup.org/projects/soa-ontology/)
- IBM SOA Reference Architecture (http://www.ibm.com/developerworks/library/ar-archtemp/)
- OASIS Reference Model for Service-Oriented Architecture (http://www.oasis-open.org)
- More tips and articles on enterprise architecture issues (https://searchmicroservices.techtarget.com/)
About the Author
Gaurav Tripathi (http://in.linkedin.com/in/gauravtripathi) works at one of the leading IT conglomerate as a Solutions Architect. His primary job responsibility is to provide architecture consulting of large scale/ complex Enterprise Applications and Application Portfolio Optimization, IT Strategy, Technology roadmaps. Other keen interest areas are participation and contribution towards architecture governance, mentoring, technical training and blogging. Please visit: http://visitgaurav.blogspot.com/ to know more.