Thursday, December 25, 2008

Need for Service Oriented Architechture

Need for integrating an existing business model with new business model: Upgrading the existing business model is a need to adapt to the new customer bases and business partners. Sharing the IT system with another organization is the new trend in business. A practical example could be any online auction sites like the ebay where other third party organizations will register and try to sell their products their by increasing their customer base. In this direction SOA offers a cost effective solution. Legacy systems developed based on a earlier business model might need to be upgraded in order to integrate with the systems developed with new business models. The complexity of this whole process is the biggest challenge for the organizations.

Need for reusability: SOA implements functionalities as services. Each service describes a unique functionality. Organizations IT system is composed of a collection of these services, each one of which can evolve and change.This can be better explained with the following example. Assume there is an iphone for auction. This iphone could be available for auction either through ‘ebay’ or ‘sedo’ or ‘bidz’ or any other auction sites. When users click on this iphone link through any of these auctioning sites, in all scenarios it has to be redirected to the same web page which gives the details of the auction. This single web page which describes the product can be implemented as a service. Here the single web page service is used by multiple auction sites.

Need for Agility:   The ability to adapt rapidly, and taking advantage of change. For example, when a new opportunity arrives (e.g., a new product offering) or a business condition changes (e.g., a merger), companies need technology solutions to support this changing environment. By service enabling systems – grafting an XML and Web services interface onto existing applications – executives can access data that they need to make decisions more quickly, and firms can service their customers more effectively than before.

Efficiency:  Leveraging existing resources as much as possible. It is financial burden for the organization to reinvest time and money to recreate existing software, whether decades-old mainframe, 10-year-old client/server, or two-year-old Internet computing applications. By service-enabling these systems, companies can keep them in place but make it easier to access them or integrate them with other applications. This is achieved, where SOA provides an interface for all the systems, suitable for communication with other systems involved in the process. SOA can even create new solutions by combining existing service-enabled applications into more comprehensive, multiservice solutions called composite applications

Terminologies

Legacy system: is an old computer system or application program that continues to be used because the user does not want to replace or redesign it.

Business model: is a conceptual tool that contains a big set of elements and their relationships and allows expressing the business logic of a specific firm.

Also, a business model is simply a working description that includes the general details about the operations of a business. 

Customer base: is the group of current clients and consumers that a business serves.

Friday, July 25, 2008

Service Oriented Architechture

Introduction

Services-Oriented Architecture (SOA) is a software architecture where functionality is grouped around business processes and packaged as interoperable services. SOA also describes IT infrastructure which allows different applications to exchange data with one another as they participate in business processes. The aim is a LOOSE COUPLING of services with operating systems, programming languages and other technologies which underlie applications.

SOA separates functions into distinct units, or services, which are made accessible over a network in order that they can be combined and reused in the production of business applications. These services communicate with each other by passing data from one service to another, or by coordinating an activity between two or more services.

Overview

Companies have long sought to integrate existing systems in order to implement information technology (IT) support for business processes that cover all present and prospective systems requirements needed to run the business end-to-end. A variety of designs can be used to this end, ranging from rigid point-to-point electronic data interchange (EDI) interactions to Web auctions. By updating older technologies, such as Internet-enabling EDI-based systems, companies can make their IT systems available to internal or external customers; but the resulting systems have not proven to be flexible enough to meet business demands. A flexible, standardized architecture is required to better support the connection of various applications and the sharing of data. SOA is one such architecture.

Services

SOA unifies business processes by structuring large applications as an ad hoc collection of smaller modules called services. A service could be; filling out an online application for an account, viewing an online bank statement, or placing an online booking or airline ticket order.

Services are intrinsically unassociated units of functionality, which have no calls to each other embedded in them. Instead of services embedding calls to each other in their source code, protocols are defined which describe how one or more services can talk to each other. This architecture then relies on a business process expert to link and sequence services, in a process known as orchestration, to meet a new or existing business system requirement. The new applications built from a mix of services from the global pool which exhibit greater flexibility and uniformity.

Connections

The technology of Web services is the most likely connection technology of service-oriented architectures. Web services essentially use XML to create a robust connection.The term "Web Services" can be confusing. It is, unfortunately, often used in many different ways.
Here, the term Web Services refers to the technologies that allow for making connections. Services are what you connect together using Web Services. A service is the endpoint of a connection. Also, a service has some type of underlying computer system that supports the connection offered. The combination of services - internal and external to an organization - make up a service-oriented architecture.

Related Descriptions

Business process

A business process or business method is a collection of interrelated tasks, which accomplish a particular goal.

There are three types of business processes:

  1. Management processes, the processes that govern the operation of a system. Typical management processes include "Corporate Governance" and "Strategic Management".
  2. Operational processes, processes that constitute the core business and create the primary value stream. Typical operational processes are Purchasing, Manufacturing, Marketing and Sales.
  3. Supporting processes, which support the core processes. Examples include Accounting, Recruting, IT-support.
A business process begins with a customer’s need and ends with a customer’s need fulfillment.

Orchestration (computers)

Orchestration describes the automated arrangement, coordination, and management of complex computer systems, Middleware, and services.