+ All Categories
Home > Documents > CS 415 N-Tier Application Development

CS 415 N-Tier Application Development

Date post: 01-Jan-2016
Category:
Upload: geoffrey-kristian
View: 24 times
Download: 5 times
Share this document with a friend
Description:
National University of Computer and Emerging Sciences. Lecture # 8 Introduction to Service Oriented architecture. CS 415 N-Tier Application Development. By Umair Ashraf July 5 ,2013. Agenda/Contents for Today’s Lecture. SOA Introduction SOA Myths and Facts Evolution of SOA - PowerPoint PPT Presentation
32
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
Transcript
Page 1: CS 415 N-Tier Application Development

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

Page 2: CS 415 N-Tier Application Development

Agenda/Contents for Today’s Lecture

SOA Introduction SOA Myths and Facts Evolution of SOA Understanding Services SOA Reference Model Examples

Page 3: CS 415 N-Tier Application Development

Service Oriented Architecture (SOA)

SOAs are like snowflakes – no two are alike.”-    David Linthicum

Page 4: CS 415 N-Tier Application Development

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.

Page 5: CS 415 N-Tier Application Development

Problems addressed by service oriented architecture

Page 6: CS 415 N-Tier Application Development

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)

Page 7: CS 415 N-Tier Application Development

Simple Definition - SOAA 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.

Page 8: CS 415 N-Tier Application Development

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.

Page 9: CS 415 N-Tier Application Development

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. If you can describe a component in WSDL, it is

a Service.

Page 10: CS 415 N-Tier Application Development

SOA Myths and Facts

Page 11: CS 415 N-Tier Application Development

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.

Page 12: CS 415 N-Tier Application Development

SOA-Loose ArchitectureFor 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.

Page 13: CS 415 N-Tier Application Development

The Evolution of SOAService 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)

Page 14: CS 415 N-Tier Application Development

The Evolution… From Three-Tier Applications

PresentationLayer

DatabasesApplication

Application

Application

Business Layer

Page 15: CS 415 N-Tier Application Development

The Evolution to:SOA-Based Applications

DatabasesPresentation

Process #1

Process #2

Process #3

Service Components

Page 16: CS 415 N-Tier Application Development

Calls for a Paradigm Shift

Service Oriented Architecture

Functionality DrivenFunctionality Driven

Long development cyclesLong development cycles

Tightly CoupledTightly Coupled

Application SpecificApplication Specific

Designed to lastDesigned to last

Data OrientedData Oriented

Traditional Architecture

Process OrientedProcess Oriented

Iterative developmentIterative development

Loosely CoupledLoosely Coupled

HeterogeneousHeterogeneous

Designed for changeDesigned for change

Business Service OrientedBusiness Service Oriented

SOA v/s Traditional Architecture

But must be built on standards to enhance interoperability

Page 17: CS 415 N-Tier Application Development

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

Page 18: CS 415 N-Tier Application Development

DoD Concept How to Organize for SOA

Enterprise Information Environment

Business Mission WarFighting Mission Intelligence Mission

Army, NavyAir Force

Agencies CombatantCommands

Programs

Focus of this Presentation

Page 19: CS 415 N-Tier Application Development

Organization of Infrastructure Services

InfrastructureServices

(Enterprise Information)

DataServices

SecurityServices

ComputingServices

Communication Services

ApplicationServices

Page 20: CS 415 N-Tier Application Development

Organization of Data Services

DataServices

DiscoveryServices

ManagementServices

CollaborationServices

InteroperabilityServices

SemanticServices

Page 21: CS 415 N-Tier Application Development

Organization of Security Services

SecurityServices

TransferServices

ProtectionServices

CertificationServices

SystemsAssurance

AuthenticationServices

Page 22: CS 415 N-Tier Application Development

Organization of Computing Services

ComputingServices

ComputingFacilities

ResourcePlanning

Control &Quality

ConfigurationServices

FinancialManagement

Page 23: CS 415 N-Tier Application Development

Organization of Communication Services

CommunicationServices

Interoperability Services

SpectrumManagement

ConnectivityArrangements

Continuity ofServices

Resource Management

Page 24: CS 415 N-Tier Application Development

Organization of Application Services

Application Services

Component Repository

Code BindingServices

MaintenanceManagement

PortalsExperimental

Services

Page 25: CS 415 N-Tier Application Development

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.

Page 26: CS 415 N-Tier Application Development

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.

Page 27: CS 415 N-Tier Application Development

27

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

Page 28: CS 415 N-Tier Application Development

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

Sec

urity

: Aut

hent

icat

e us

er

Reg

istr

y an

d R

epos

itory

: Fin

d S

top

Pay

men

t Ser

vice

, Cha

rge

Fee

ser

vice

Man

age

and

mon

itor

Banking Examples of SOA

Page 29: CS 415 N-Tier Application Development

Place customer orders: 1. Basic Data Service – access operations, 2. Composed Services - business logic, 3. Process Services – complex business logic

Page 30: CS 415 N-Tier Application Development

A Unified Patience Journal System

Page 31: CS 415 N-Tier Application Development

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.

Page 32: CS 415 N-Tier Application Development

Reference Material http://msdn.microsoft.com/en-us/library/bb833

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

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


Recommended