By Serge Thorn, Architecting the Enterprise
This is the first installment of a three-part series discussing how to be successful in implementing an SOA initiative through TOGAF® 9.1.
Service-oriented architecture (SOA) has at times been challenged, but it is now on the verge of mainstream acceptance. It now shows maturity, success and even signs of popularity. SOA is an enterprise-scale architecture for linking resources as needed. These resources are represented as business-aligned services, which can participate and be composed in a set of choreographed processes to fulfil business needs.
In 2012, the use of SOA for pivotal emerging technologies, especially for mobile applications and cloud computing, suggests that the future prospect for SOA is favourable. SOA and cloud will begin to fade as differentiating terms because it will just be “the way we do things”. We are now at the point where everything we deploy is done in a service-oriented way, and cloud is being simply accepted as the delivery platform for applications and services. Many Enterprise Architects are also wondering if the mobile business model will drive SOA technologies in a new direction. Meanwhile, a close look at mobile application integration today tells us that pressing mobile trends will prompt IT and business leaders to ensure mobile-friendly infrastructure.
To be successful in implementing a SOA initiative, it is highly recommended that a company create a SOA Center of Excellence (CoE) and The Open Group clearly explains how this can be achieved through the use of TOGAF® 9.1. This article is based on the TOGAF® 9.1 Framework specification and specifically the sections 22.7.1.3 Partitions and Centers of Excellence with some additional thoughts on sections 22.7.1.1 Principle of Service-Orientation and 22.7.1.2 Governance and Support Strategy.
I have looked at the various attributes and provided further explanations or referred to previous experiences based on existing CoEs or sometimes called Integration Competency Centers.
The figure below illustrates a SOA CoE as part of the Enterprise Architecture team with domain and solution architects as well as developers, Quality Assurances (QAs) and Business Architects and Analysts coming from a delivery organization.
Establishing a SOA Center of Excellence
The SOA CoE supports methodologies, standards, governance processes and manages a service registry. The main goal of this core group is to establish best practices at design time to maximize reusability of services.
According to the TOGAF 9.1 Framework specification, a successful CoE will have several key attributes, including “a clear definition of the CoE’s mission: why it exists, its scope of responsibility, and what the organization and the architecture practice should expect from the CoE.”
Define a Vision
A SOA CoE must have a purpose. What do we want to achieve? What are the problems we need to solve?
It may sound obvious, but having a blueprint for SOA is critical. It is very easy for companies, especially large enterprises with disparate operations, to buy new technologies or integrate applications without regard to how they fit into the overall plan. The challenge in building a SOA is to keep people, including IT and business-side staff focused on the Enterprise Architecture goals.
In order to realize the vision of SOA the following topics should be addressed:
- What to Build: A Reference Architecture
- How to Build: Service-Oriented Modeling Method
- Whether to build: Assessments, Roadmaps, and Maturity Evaluations
- Guidance on Building: Architectural and Design Patterns
- Oversight: Governance
- How to Build: Standards and Tools
The SOA CoE would first have a vision which could be something like:
“ABCCompany will effectively utilize SOA in order to achieve organizational flexibility and improve responsiveness to our customers.”
Then a mission statement should be communicated across the organization. Below are a few examples of mission statements:
“To enable dynamic linkage among application capabilities in a manner that facilitates business effectiveness, maintainability, customer satisfaction, rapid deployment, reuse, performance and successful implementation.”
“The mission of the CoE for SOA at ABCCompany is to promote, adopt, support the development and usage of ABCCompany standards, best practices, technologies and knowledge in the field of SOA and have a key role in the business transformation of ABCCompany. The CoE will collaborate with the business to create an agile organization, which in turn will facilitate ABCCompany to accelerate the creation of new products and services for the markets, better serve its customers, and better collaborate with partners and vendors.”
Define a Structure
The SOA CoE also needs to define a structure and the various interactions with the enterprise architecture team, the project management office, the business process/planning and strategy group, the product management group, etc.
The SOA CoE also needs to create a steering committee or board (which could be associated to an architecture board) to provide different types of support:
- Architecture decision support
- Maintain standards, templates and policies surrounding Integration and SOA
- Participate in Integration and SOA design decisions
- Operational support
- Responsible for building and maintaining SOA Infrastructure
- Purchasing registries and products to grow infrastructure
- Development support
- Development of administrative packages and services
- Develop enterprise services based on strategic direction
Define Measurements
According to the TOGAF® 9.1 Framework Specification, “Clear goals for the CoE including measurements and Key Performance Indicators (KPIs). It is important to ensure that the measures and KPIs of the CoE do not drive inappropriate selection of SOA as the architecture style.”
Measurements and metrics will have to be identified. The common ones could be:
- Service revenue
- Service vitality
- Ratio between services used and those created
- Mean Time To Service Development or Service change
- Service availability
- Service reuse
- Quality assurance
Define Testing Activities
As stated in the TOGAF® 9.1 Framework specification, “The CoE will provide the “litmus test” of a good service.”
Clearly comprehensive testing activities must be described by the SOA CoE. In addition to a set of defined processes related to Web Service Definition Language (WSDL) testing, functional unit testing, regression testing, security testing, interoperability testing, vulnerability testing and load, performance testing, an analysis tool suite may be used to tailor the unique testing and validation needs of Service Oriented Architectures.
This helps test the message layer functionality of their services by automating their testing and supports numerous transport protocols. A few examples include: HTTP 1.0, HTTP/1.1, JMS, MQ, RMI, SMTP, .NET WCF HTTP, .NET WCF TCP, Electronic Data Interchange, ESBs, etc.
Only by adopting a comprehensive testing stance can enterprises ensure that their SOA is robust, scalable, interoperable and secure.
- The CoE will disseminate the skills, experience, and capabilities of the SOA center to the rest of the architecture practice.
The Center of Excellence will promote best practices, methodologies, knowledge and pragmatic leading-edge solutions in the area of SOA to the project teams.
- Identify how members of the CoE, and other architecture practitioners, will be rewarded for success.
This may sounds like a good idea but I have never seen this as an applied practice.
Define a Skill Set
According to the TOGAF® 9.1 Framework specification, “Recognition that, at the start, it is unlikely the organization will have the necessary skills to create a fully functional CoE. The necessary skills and experience must be carefully identified, and where they are not present, acquired. A fundamental skill for leading practitioners within the CoE is the ability to mentor other practitioners transferring knowledge, skills, and experience.”
Competency and skills building is needed for any initiative. SOA is not just about integrating technologies and applications – it is a culture change within the enterprise, which requires IT to move from being a technology provider to a business enabler. There may be a wide range of skills required such as:
- Enterprise Architecture
- Value of SOA
- Governance model for SOA
- Business Process Management and SOA
- Design of SOA solutions
- Modeling
- Technologies and standards
- Security
- Business communication
It has to be said that lack of SOA skills is the number one inhibitor to SOA adoption.
- Close-out plan for when the CoE has fulfilled its purpose.
Here again, I am not sure that I have observed any SOA CoE being closed…
In the second installment of this three-part series I will discuss how the Center of Excellence defines a Reference Architecture for the organization.
Serge Thorn is CIO of Architecting the Enterprise. He has worked in the IT Industry for over 25 years, in a variety of roles, which include; Development and Systems Design, Project Management, Business Analysis, IT Operations, IT Management, IT Strategy, Research and Innovation, IT Governance, Architecture and Service Management (ITIL). He is the Chairman of the itSMF (IT Service Management forum) Swiss chapter and is based in Geneva, Switzerland.