jump to navigation

Enterprise Architecture and Technology August 10, 2012

Posted by janettheresjohn in Enterprise Architecture.
trackback

Introduction

Based on the characteristics of a business, enterprise architecture can fall into one of the four operating models:

  1. Coordination – coordination model uses high business process integration and low business process standardization. This operating model involves the coordination of stakeholders to develop an enterprise architecture that has some common appearance. Coordination requires good communication between stakeholders.
  2. Unification – Unification model uses high business process integration and high business process standardization. All stakeholders work together to create unified enterprise architecture.  This operating model includes coordination, integration and common processes across the entire organization. This operating model require strong core of process and systems.
  3. Diversification – Diversification model uses low business process integration and low business process standardization. Stakeholders for each of the sub business drive the implementation of the enterprise architecture. This operating model provides diversified business appearance. Every sub businesses use some shared elements of infrastructure.
  4. Replication – Replication model uses low business process integration and high business process standardization. This model uses more standards and as a result the architecture can be replicated and customized for each sub business.  The outcome will be multiple versions of a common core. Each replica will be very consistent.

In this blog post, we will be looking into how technology supports EA. We will look into the strengths and weaknesses of these technologies with respect to the four operational models, integration and maturity.

Service Oriented Architecture

IBM SOA Center of Excellence’s provide the following definition for Service Oriented Architecture (SOA). “A Service-Oriented Architecture is an enterprise-scale IT architecture for linking resources on demand. These resources are represented as business-aligned services which can participate and be composed in a value-net, enterprise, or line of business to fulfill business needs. The primary structuring element for SOA applications is a service as opposed to subsystems, systems, or components.” [1] SOA is more than just the architecture. Similar to an Enterprise Architecture, SOA needs governance as well as a transition roadmap that allows enterprises to fully adopt it. [1] From business perspective, Service Oriented Architecture involves a set of services that a business wants to expose to its customers and partners or other portions of the organization. From an architecture perspective, it is an architectural style which requires a service provider, requester, and a service description. From implementation perspective, SOA is a programming model complete with standards, tools, and technologies, such as Web services.  [1]

Service Oriented Architecture touches the four operating models of an Enterprise Architecture; coordination, unification, diversification and replication. SOA touches the coordination operating model by demonstrating business process integration and standardization. For the efficient use of a SOA, the architecture must demonstrate good business process integration and apply business process standardization. Interoperability among different systems and programming languages provides the basis for integration between applications. [2] Service oriented architecture integrates widely disparate applications for a Web-based environment and uses multiple implementation platforms. Service oriented architecture defines the interface in terms of protocols and functionality, which require coordination between business units.

SOA demonstrate the unification operating model by applying standards, tools and integration techniques. Services and their consumers communicate with each other by passing data in a well-defined, and shared format, or by coordinating an activity between two or more services. [2] Each service implement one action and it will not use other services. Therefore, SOA support diversification operating model. Services are defined by the different business functionalities (coordination) and they can be reused for different purposes (replication).  Users can combine and reuse services (unification).[2] SOA uses high level of business process integration. As the system matures, to create a new application from existing services, one requires only orchestration of the existing services and the marginal cost of creating a new application is very low.  [2]

Enterprise Service Bus

The Enterprise Service Bus (ESB) is a key component for delivering a service-oriented infrastructure for IT agility and alignment with business needs. The Enterprise Service Bus should have seamless integration with the service registry and service management components to accelerate configuration and deployment management and management of shared services across the enterprise. The service bus should be able to receive any synchronous or asynchronous message in any protocol and route it to the destination based on configuration rules. In addition, ESB should provide the capability to transform the message to the format required by the destination. [3]

The service bus supports the diversification operating model as it support message brokering between heterogeneous environments. ESB supports multiple message formats including SOAP, SOAP with attachments, XML, structured non-XML data, raw data, text, and e-mail with attachment. [3] ESB supports the unification operating model as it supports multiple standards and protocols to transport messages between service end points. ESB support protocols such as file, FTP, HTTP(s), multiple JMS providers, RMI, web services, CORBA, DCOM, and e-mail (POP, SMTP, IMAP), and SIP.  It supports the latest security standards and multiple authentication models. ESB support configuration driven routing as it route messages based on some policies. ESB support the replication operating model and provide high availability. It can deploy new versions of services dynamically through configuration.

A service registry acts as a catalog of services available to architects, developers, operations and business managers. [3] The service producer publishes the service to the service registry which is leveraged by the service consumers. It also acts as the system of record for the business policies that it enforces at runtime. The service registry also supports the four operating models of EA. The registry provides replication, service mapping, configuration management, and it is platform independent. [3]

Web Services

The W3C definition for web service is that it is a software system designed to support interoperable machine-to-machine interaction over a network. In general, web service is a method of communication between two electronic devices over the internet.  [4] Using Web services, applications can publish its function or message to the rest of the world. Web service has an interface described in a format called Web Services Description Language (WSDL). The basic web service platform is XML and HTTP. Web services use XML to code and to decode data, and SOAP to transport it. Other systems interact with the Web service using SOAP messages.

In the previous section we have looked into service oriented architecture. Web services can implement a service-oriented architecture. Web services make functional building-blocks accessible over standard Internet protocols independent of platforms and programming languages. [2] Web services can play the role of either the service provider or the service consumer or both. The service provider creates a web service and publishes its interface and access information to the service registry. Each provider must decide which services to expose, how to make trade-offs between security and easy availability, how to price the services, or whether to exploit them for other value. The web service client (service consumer) locates entries in the service registry and then binds to the service provider in order to invoke one of its web services. Whichever service the service consumer’s needs, they have to search in the service registry and bind with the required service and use it. [2]

A common database

Service Oriented Architecture creates a federation of resources. It establishes and maintains data flow to a federated database system. This allows new functionality developed to reference a common business format for each data element. [2]

CORBA

Wikipedia definition for the Common Object Request Broker Architecture (CORBA) is that it is a standard defined by the Object Management Group (OMG) that enables software components written in multiple computer languages and running on multiple computers  to work with each other like a single application or set of services . [5] CORBA uses an interface definition language (IDL) to specify the interfaces which objects present to the outer world. CORBA specifies a mapping from IDL to a specific implementation language.

Service Oriented Architecture and CORBA have many similarities. Both SOA and CORBA are ways to interoperate with application.  CORBA services, such as transaction, security, and directory, are similar infrastructure services required of Web services in an SOA. [6] However, the key differences between SOA and CORBA, makes SOA more successful than CORBA. CORBA is a broker-based architecture that was challenged to take the industry to the next level. On the other hand, a SOA is flexible and amenable to change. An SOA addresses business-process interoperability between partners and customers over the Internet with compensated transactions, not only short-lived transactions.  For business programming, CORBA is best suited for tightly coupled transactional systems requiring high security. [6] CORBA and SOA based on Web services have different objectives. CORBA focuses on objects to create a distributed computing environment and Web-service-based SOA focuses on business-process interoperability and documents. [6]

Summary

Now a days, a large number of third-party software companies offer software services for a fee.  SOA systems mayconsist of such third-party services combined with others created in-house. This has the potential to spread costs over many customers and customer uses, and promotes standardization both in and across industries. [2] As enterprises move more and more into cloud computing platform, the Service Oriented Architecture might help them with an easy transition to cloud. However, enterprises should be careful with adopting SOA while developing EA. According to IBM developer works white paper, an enterprise that’s adopting SOA while developing EA and its governances may encounter problems if the similarities and overlaps between EA and SOA are not recognized and accounted for. [1] Interoperability among different systems and programming languages is a big strength of service oriented architecture and it also support the four EA operations models.

Reference

  1. Ibrahim, Mamdouh, Service-Oriented Architecture and Enterprise Architecture, IBM developer works, Published on 26 April 2007,  http://www.ibm.com/developerworks/webservices/library/ws-soa-enterprise1/, Retrieved on 8 August 2012
  2. Service-oriented architecture, http://en.wikipedia.org/wiki/Service-oriented_architecture, Retrieved on 24 July 2012
  3. Durvasula, S. et al., SOA Practitioners’ Guide Part 2: SOA Reference Architecture, 15 September 2006, http://www.soablueprint.com/whitepapers/SOAPGPart2.pdf , Retrieved on 8 August 2012
  4. Web service, http://en.wikipedia.org/wiki/Web_service , Retrieved on 24 July 2012
  5. Common Object Request Broker Architecture, http://en.wikipedia.org/wiki/Common_Object_Request_Broker_Architecture, Retrieved on 8 August 2012
  6. West, Kenneth, SOA vs. Corba: Not Your Father’s Architecture, Published on 06 July 2004, http://www.wallstreetandtech.com/articles/22103721, Retrieved on 9 August 2012
Advertisements

Comments»

No comments yet — be the first.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: