service oriented architecture (soa)

56

Upload: mazhar-khokhar

Post on 16-Jul-2015

110 views

Category:

Presentations & Public Speaking


2 download

TRANSCRIPT

Service Oriented Architecture

(SOA)

Architecture

Architecture Definition in IEEE 1471

Architecture :

The fundamental organization of a system embodied in it’s components, their relationships to each other, and to the environment, and the principles guiding it’s design and evolution

Architect :

The person, team, or organization responsible for designing systems architecture

Software Architecture What is Software Architecture?

The software architecture of a program or computing system is a depiction of the system that aids in the understanding of how the system behave

Serves as blueprint for both the system and the project developing

The primary carrier of system qualities

An artifact for early analysis

Set of structures needed to reason about the system

Documentation of a system

SOA

SOA An architecture style that model system’s information

into services

Old division between business and IT

Basic understanding of SOA development as a application that describe web services

Logical evolution of the software’s modeling

Not a new concept

SOA Definition from various viewpoints

SOA is a journey that promises to :

reduce the lifetime cost of the

application portfolio

Maximize RIO in both application

and technology resource

Reduce lead times in delivering

solutions to business

SOA Definition from various viewpoints

SOA is a set of services that can be:

Exposed to their customers ,partners

and other part of organization

Business capabilities , function , and

business logic can be combined

Application serve the business

SOA Definition from various viewpoints

SOA is a way of unlocking value

SOA Definition from various viewpoints

SOA is a means to create dynamic ,

highly configurable and collaborative

application built for change

SOA reduce IT complexity and

rigidity

SOA becomes the solution to stop

the gradual entropy

SOA reduces lead times and costs

SOA Definition from various viewpoints

SOA is the architectural solution for

integrating diverse systems by

providing an architectural style that

promotes loose coupling and reuse

SOA Definition from various viewpoints

SOA is a programming model or paradigm

where web services and contracts becomes

a dominate design for interoperability

Use WSDL or equivalent specification

for describing the service

SOA DefinitionDelivering on the promises of SOA :

Improved business agility

Maximized ROI

Reduce IT complexity and rigidity

Reduce costs

Reduce lead times

Reduce risk

New opportunities to deliver value

Increased participation in value networks

Incremental implementation

Is SOA an Architectural Style?

What Are The Fundamental Constructs Of SOA?

What Are The Fundamental Constructs Of SOA?

The most basic construct or building block of SOA is a service

Service consumer, service provider, service description, service broker, and a registry are all part of the DNA of SOA

A service in SOA is the logical, self-contained business function

What Are The Fundamental Constructs Of SOA?

Services in SOA have the following attributes:

Stateless

Discoverable

Self-describing

Compostable

Loose coupling

Governed by policy

Independent location, language, and protocol

What Are The Fundamental Constructs Of SOA?

Services in a service-oriented architecture typically have the following characteristics:

Coarse-grained

Asynchronous

What Are The Fundamental Constructs Of SOA?

What Are The Fundamental Constructs Of SOA?

SOA Terms Service-Orientation

Services

Service-Models

Service Composition

Service Inventory

Service-Oriented Analysis

Service Candidate

Service-Oriented Design

Service Contract

Service-Related Granularity

Service-Orientation design paradigm intended for the creation of solution logic

units

As a design paradigm for distributed computing, service-orientation can be compared to object-orientation

Service-Orientation

Services A unit of solution logic to which service-orientation

has been applied to a meaningful extent.

As a physically independent software program with specific design characteristics

Each service is assigned its own distinct functional context and is comprised of a set of capabilities related to this context

Considered a container of capabilities associated with a common purpose

Services Service capabilities declare in service contract

Services

Three common service implementation is :

Services as Components

Services as Web Services

Services as REST Services

Services as Component A software program designed to be part of a

distributed system

It provides a technical interface comparable to a traditional API

have typically relied on platform-specific development and runtime technologies

Services as Web Services Is a body of solution logic that provides a physically

decoupled technical contract consisting of a WSDL definition and one or more XML Schema definitions and also possible WS-Policy expressions

Web service contract exposes public capabilities as operations

Service-orientation can be applied to the design of Web services

Services as Web Services

Services as REST Services Are designed in compliance with the REST

architectural style

Focuses on the resource as the key element of abstraction

Can be further shaped by the application of service-orientation principles

Services Models Is a classification used to indicate that a service

belongs to one of several predefined types

Three service models are common to most enterprise environments and therefore common to most SOA projects: Task Service

Entity Service

Utility Service

Play an important role during service-oriented analysis and service oriented design phases

Services Composition Is an aggregate of services collectively composed to

automate a particular task or business process

To qualify as a composition, at least two participation services plus one composition initiator need to be present

Can be classified into primitive and complex variations

Services Composition

Services Inventory Is an independently standardized and governed

collection of complementary services within a boundary that represents an enterprise or a meaningful segment of an enterprise

When an organization has multiple service inventories, this term is further qualified as domain service inventory

Services-Oriented Analysis Represents one of the early stages in an SOA initiative

and the first phase in the service delivery cycle

The service-oriented analysis process is commonly carried out iteratively, once for each business process

A key success factor of the service-oriented analysis process is the hands-on collaboration of both business analysts and technology architects

Services-Oriented Analysis

Services Candidate Is used to help distinguish a conceptualized service

from an actual implemented service

Services-Oriented Design Represents a service delivery lifecycle stage dedicated

to producing service contracts in support of the well-established “contract-first” approach to software development

The typical starting point for the service-oriented design process is a service candidate

There is a different service-oriented design process for each of the three common service models

Services Contract Is comprised of one or more published documents that

express meta information about a service

The fundamental part of a service contract consists of the documents that express its technical interface

When services are implemented as Web services, the most common service description documents are the WSDL definition, XML schema definition, and WS-Policy definition

Services Contract

Services Contract

Services Contract

Services-Related Granularity

there are different granularity levels as follows:

Service Granularity

Capability Granularity

Constraint Granularity

Data Granularity

Services-Related Granularity

What Is The Difference Between a Web Service and an SOA Service?

Benefits Of SOA New products or processes simply execute

Flexible systems are not obstacle to changing and rapid evolution of processes

Benefits Of SOA Solving complex integration problem of large systems

Benefits Of SOA Divided of project into smaller components that can

be done independent is simply

Control of progress in each subproject is calculated

Benefits Of SOA Integration and connecting to other systems is

dominant approach

Benefits Of SOA Systems easily meet the requirements of users

The problem of data transfer between systems is solved with integration

Complexity of systems hidden from users

Benefits Of SOA

Enterprise architects believe that the SOA can help the business to response faster and more cost-effective to market conditions changing

This style of architecture use reusability in macro level instead micro level

Orchestration and Choreography

Without process engine Sequence of transaction messages register and controlled by players

Have a process engineCall set of services to completeprocess Maybe call external servicesSample of this system is

BPMS

Principles of SOA Loose coupling

Service contract to communications agreement

Encapsulation of internal implementation

Reusability

Composability

Statelessness Services

Discoverability Services

Autonomy Services

SOA Tools

Company Tools Name

Oracle Oracle SOA Suite

Microsoft BizTalk Server - WCF

IBM WebSphere