Lecture # 8

gabonesedestructionΛογισμικό & κατασκευή λογ/κού

17 Φεβ 2014 (πριν από 3 χρόνια και 3 μήνες)

94 εμφανίσεις

CS 415 N
-
Tier Application Development



By Umair Ashraf

July 5 ,2013

National University of Computer and Emerging Sciences

Lecture

# 8


Introduction to Service Oriented architecture

Agenda/Contents for Today’s Lecture



SOA Introduction


SOA Myths and Facts


Evolution of SOA


Understanding Services


SOA Reference Model


Examples




Service Oriented Architecture (SOA)




SOAs are like snowflakes


no two are alike.”

-

David Linthicum



Introduction to SOA


The SOA Elephant


SOA is a bit like John Godfrey Saxe’s poem about the blind men and the elephant.










The man touching the trunk believes it to be a snake


The man touching the tusk believes it to be a spear


The man touching the ear believes it to be a fan


The man touching the elephant’s side believes it to be a wall


The man touching the tail believes it to be a rope


The man touching the legs believes they are trees.


Problems addressed by service oriented architecture

Definitions for SOA



A loosely
-
coupled architecture designed to meet the business
needs of the organization.



A set of components which can be invoked, and whose
interface descriptions can be published and discovered (W3C).



A paradigm for organizing and utilizing distributed capabilities
that may be under the control of different ownership domains.
It provides a uniform means to offer, discover, interact with
and use capabilities to produce desired effects consistent with
measurable preconditions and expectations. (OASIS)


Simple Definition
-

SOA

A method of design, deployment, and management of both
applications and the software infrastructure where:



All software is organized into business services that are
network accessible and executable.


Service interfaces are based on public standards for
interoperability.


Characteristics of SOA



Quality of service, security and performance are specified.


Software infrastructure is responsible for managing.


Services are cataloged and discoverable.


Data are cataloged and discoverable.


Protocols use only industry standards.


What is a service ?




A Service is a reusable component.


A Service changes business data from one state to
another.


A Service is the only way how data is accessed.


I
f you can describe a component in WSDL, it is a Service.


SOA Myths and Facts

Example


A City



Let's take your average cosmopolitan city.


It
is already full of service
-
oriented businesses. Individual
companies are service
-
oriented in that each provides a
distinct service that can be used by multiple consumers.


Collectively
, these businesses comprise a business
community.


It
makes sense for a business community not to be
served by a single business outlet providing all services.


By
decomposing the community into specialized,
individual outlets, we achieve an environment in which
these outlets can be distributed.


SOA
-
Loose Architecture

For
services to interact and accomplish something meaningful, they must exchange
information. A communications framework capable of preserving their loosely coupled
relationship is therefore required. One such framework is messaging. After a service
sends a message on its way, it loses control of what happens to the message thereafter.
That is why we require messages to exist as "independent units of communication."
This means that messages, like services, should be autonomous.

The Evolution of SOA

Service Orientation (SO) is the natural evolution of current
development models



The, 80s saw object
-
oriented models


Component
-
based development model in the 90s


Now we have service orientation (SO)


The Evolution…

From Three
-
Tier Applications

Presentation

Layer

Databases

Application

Application

Application

Business Layer

The Evolution to:

SOA
-
Based Applications

Databases

Presentation


Process #1

Process #2

Process #3

Service

Components




Calls for a Paradigm Shift

Service Oriented Architecture

Functionality Driven

Long development cycles

Tightly Coupled

Application Specific

Designed to last

Data Oriented

Traditional Architecture

Process Oriented

Iterative development

Loosely Coupled

Heterogeneous

Designed for change

Business Service Oriented













SOA v/s Traditional Architecture

But must be built on standards

to enhance interoperability

Service
-
Oriented Architecture:
Key Concepts

Service

A unit of business functionality that can be
invoked over the network

Web service

A service that is called in a standard way, so
anyone can use it without knowing its internals

“Loosely
coupled”

When services are self
-
contained, and can be
easily combined and disassembled, they are called
loosely coupled.

Service
-
Oriented
Architecture

A standards
-
based platform that lets you model,
develop, find, and combine services into flexible
business processes

Orchestration

Combining and assembling services into a
coherent business process


also known as
business process management



DoD

Concept How to Organize for SOA

Enterprise Information Environment

Business Mission


WarFighting Mission

Intelligence Mission

Army, Navy

Air Force

Agencies

Combatant

Commands

Programs

Focus of this

Presentation

Organization of Infrastructure Services

Infrastructure

Services

(Enterprise Information)

Data

Services


Security

Services

Computing

Services


Communication


Services

Application

Services

Organization of Data Services

Data

Services


Discovery

Services


Management

Services


Collaboration

Services


Interoperability

Services


Semantic

Services


Organization of Security Services

Security

Services


Transfer

Services


Protection

Services


Certification

Services


Systems

Assurance

Authentication

Services




Organization of Computing Services

Computing

Services


Computing

Facilities


Resource

Planning


Control &

Quality


Configuration

Services

Financial

Management



Organization of Communication Services

Communication

Services


Interoperability

Services


Spectrum

Management


Connectivity

Arrangements

Continuity of

Services

Resource

Management



Organization of Application Services

Application

Services


Component

Repository


Code Binding

Services


Maintenance

Management

Portals

Experimental

Services



A Few Key SOA Protocols


Universal Description, Discovery, and Integration,
UDDI
. Defines the
publication and discovery of web service implementations.


The Web Services Description Language,
WSDL
, is an XML
-
based
language that defines Web Services.


SOAP

is the Service Oriented Architecture Protocol. It is a key SOA
in which a network node (the client) sends a request to another node
(the server).


The Lightweight Directory Access Protocol, or
LDAP

is protocol for
querying and modifying directory services.


Extract, Transform, and Load,
ETL
, is a process of moving data from a
legacy system and loading it into a SOA application.





SOA Interoperability Goals for the
Department of Defense


Interoperability of solutions across the
DoD

strategic goal.


Rules for sharing of data and services across the enterprise.


Enforcement of standards.


All data, services, and applications shall be accessible,
understandable, and trusted.


Global Information Grid for sharing of information with
Federal Departments, Department of Homeland Security, the
Intelligence Community, state and local governments, allied,
coalition, non
-
governmental organizations (NGOs), academic,
research and business partners.


27

Example of Customizable Web Services
(
www
.
salesforce.com
)

Fee database

Data Services

ESB: Routes to appropriate core system

DDA / Current Account

Internet Banking

Business Process: Stop Payment

Process Services




Orchestration:


Business Logic: If
Customer_Status = Gold
Service_Fee = $8 else
Service_Fee = $20

Security: Authenticate user

Registry and Repository: Find
Stop Payment Service, Charge
Fee service

Manage and monitor

Banking Examples of SOA

Place customer orders:

1. Basic Data Service


access
operations, 2. Composed Services
-

business logic, 3. Process Services


complex business logic


A Unified Patience Journal System



Why SOA Saves Code


Provides a standard way of interacting with shared
software.


Enables software to become building blocks for reuse.


Shifts focus to application assembly rather than design.


Creates new applications out of existing components.


Integrates with applications in other enterprises.

Reference Material



http://msdn.microsoft.com/en
-
us/library/bb833022.aspx


http://msdn.microsoft.com/en
-
us/library/aa480021.aspx


http://edizsaykol.weebly.com/serviceorientedarchitectures.html