Download - CS 415 N-Tier Application Development
![Page 1: CS 415 N-Tier Application Development](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/1.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/2.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/3.jpg)
Service Oriented Architecture (SOA)
SOAs are like snowflakes – no two are alike.”- David Linthicum
![Page 4: CS 415 N-Tier Application Development](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/4.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/5.jpg)
Problems addressed by service oriented architecture
![Page 6: CS 415 N-Tier Application Development](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/6.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/7.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/8.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/9.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/10.jpg)
SOA Myths and Facts
![Page 11: CS 415 N-Tier Application Development](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/11.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/12.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/13.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/14.jpg)
The Evolution… From Three-Tier Applications
PresentationLayer
DatabasesApplication
Application
Application
Business Layer
![Page 15: CS 415 N-Tier Application Development](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/15.jpg)
The Evolution to:SOA-Based Applications
DatabasesPresentation
Process #1
Process #2
Process #3
Service Components
![Page 16: CS 415 N-Tier Application Development](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/16.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/17.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/18.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/19.jpg)
Organization of Infrastructure Services
InfrastructureServices
(Enterprise Information)
DataServices
SecurityServices
ComputingServices
Communication Services
ApplicationServices
![Page 20: CS 415 N-Tier Application Development](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/20.jpg)
Organization of Data Services
DataServices
DiscoveryServices
ManagementServices
CollaborationServices
InteroperabilityServices
SemanticServices
![Page 21: CS 415 N-Tier Application Development](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/21.jpg)
Organization of Security Services
SecurityServices
TransferServices
ProtectionServices
CertificationServices
SystemsAssurance
AuthenticationServices
![Page 22: CS 415 N-Tier Application Development](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/22.jpg)
Organization of Computing Services
ComputingServices
ComputingFacilities
ResourcePlanning
Control &Quality
ConfigurationServices
FinancialManagement
![Page 23: CS 415 N-Tier Application Development](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/23.jpg)
Organization of Communication Services
CommunicationServices
Interoperability Services
SpectrumManagement
ConnectivityArrangements
Continuity ofServices
Resource Management
![Page 24: CS 415 N-Tier Application Development](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/24.jpg)
Organization of Application Services
Application Services
Component Repository
Code BindingServices
MaintenanceManagement
PortalsExperimental
Services
![Page 25: CS 415 N-Tier Application Development](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/25.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/26.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/27.jpg)
27
Example of Customizable Web Services (www.salesforce.com)
![Page 28: CS 415 N-Tier Application Development](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/28.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/29.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/30.jpg)
A Unified Patience Journal System
![Page 31: CS 415 N-Tier Application Development](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/31.jpg)
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](https://reader030.vdocument.in/reader030/viewer/2022032709/568131dc550346895d9843d6/html5/thumbnails/32.jpg)
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