Showing posts with label SOA. Show all posts
Showing posts with label SOA. Show all posts

May 22, 2007

Why SOA?

SOA architecture enables seamless Enterprise Information Integration. Here are some of the Benefits of the Service Oriented Architecture:

  • Due to its platform independence, it allows companies to use the software and hardware of their choice .
  • There is no threat of vendor lock-in
  • SOA enables incremental development, deployment, and maintenance.
  • Companies can use the existing software (investments) and use SOA to build applications without replacing existing applications
  • The training costs are low, so the available labor pool can be used for running the applications

Connections

Connections means the link connecting these self-contained distributed services with each other, it enable client to Services communications. In case of Web services SOAP over HTTP is used to communicate the between services

Services

A service is a function or some processing logic or business processing that is well-defined, self-contained, and does not depend on the context or state of other services.

Loose coupling

Loose coupling describes a resilient relationship between two or more systems or organizations with some kind of exchange relationship.
In Web Services or Service Oriented Architecture, loose coupling may mean simply that the implementation is hidden from the caller.

May 21, 2007

SOA Overview

Service Oriented Architecture or SOA for short is a new software architecture for the development of loosely coupled distributed applications.
In fact service-oriented architecture is collection of many services in the network. These services communicate with each other and the communications involves data exchange & even service coordination.
Broadly SOA can be classified into two terms: Services and Connections.

May 18, 2007

Definition of Service-Oriented Architecture


A Service-Oriented Architecture (SOA) is a software architecture that is based on the key concepts of an application frontend, service, service repository, and service bus. A service consists of a contract, one or more interfaces, and an implementation.
APPLICATION FRONTENDS
Application frontends are the active players of an SOA. They initiate and control all activity of the enterprise systems.
It is always an application frontend that initiates a business process and receives the results.
SERVICES
A service is a software component of distinctive functional meaning that typically encapsulates a high-level business concept. It consists of several parts:
Contract. The service contract provides an informal specification of the purpose, functionality, constraints, and usage of the service. The form of this specification can vary, depending on the type of service. One non-mandatory element of the service contract is a formal interface definition based on languages such as IDL or WSDL.
Interface. The functionality of the service is exposed by the service interface to clients that are connected to the service using a network. Although the description of the interface is part of the service contract, the physical implementation of the interface consists of service stubs, which are incorporated into the clients[3] of a service and dispatcher.
Implementation. The service implementation physically provides the required business logic and appropriate data. It is the technical realization that fulfills the service contract. The service implementation consists of one or more artifacts such as programs, configuration data, and databases.
Business logic. The business logic that is encapsulated by a service is part of its implementation. It is made available through service interfaces. However, programming against interfaces is desirable, whether or not one applies a service-oriented approach.
Data. A service can also include data.

SERVICE REPOSITORY
A service repository provides facilities to discover services and acquire all information to use the services, particularly if these services must be discovered outside the functional and temporal scope of the project that created them. Although much of the required information is already part of the service contract, the service repository can provide additional information, such as physical location, information about the provider, contact persons, usage fees, technical constraints, security issues, and available service levels.

SERVICE BUS
A service bus connects all participants of an SOAservices and application frontendswith each other. If two participants need to communicatefor example, if an application frontend needs to invoke some functionality of a basic servicethe service bus makes it happen. In this respect, the service bus is similar to the concept of a software bus as it is defined in the context of CORBA. However, significant differences exist between these concepts. Most importantly, the service bus is not necessarily composed of a single technology, but rather comprises a variety of products and concepts.