Title: Introduction to ServiceOriented Architectures SOA
1Introduction to Service-Oriented Architectures
(SOA)
- B. Ramamurthy
- CSE Department, University at Buffalo (UB)
- Buffalo, NY 14260
- bina_at_buffalo.edu
- http//www.cse.buffalo.edu/faculty/bina
2Introduction
- We landed man on the moon with approx. 32K of
memory and with equally meager compute power. - What have we achieved with peta-bytes of storage,
GHz of multi-core CPU speed, ever increasing
network bandwidth, and the proliferation of
applications at all levels?
3Outline
- Evolution of Internet computing (How did we get
here?) - Challenges (What is next?)
- Service-enabling
- Service
- Service-oriented architecture (SOA)
- Principles and elements
- Definitions
- SOA roadmap and case study
- Web Services (WS)
- Alignment of business process model (BPM) to SOA
Motivation
SOA context
SOA Roadmap
SOA/BPM alignment
4Topics for Discussion
- How did we get here?
- State of computing and business
- Effect of scientific advances on industries,
information technology (IT), computing research,
environment, society, ? - Role of SOA and services
- SOA principles (Ch.1)
- Evolution of the service concept (Ch.2)
5Evolution of Internet Computing
deep web
scale
Parallel HPC
web
Semantic discovery
??????
Automate (discovery)
Discover (intelligence)
Transact
Integrate
Interact
Inform
Publish
time
6Evolution
- Industrial
- Automation
- Just-in-time
- Advances in supply chain
-
- Business
- Remote operations
- Heterogeneity
- Scale
- Integration (application, data)
- E-commerce
-
7Evolution (contd.)
- Information technology
- Internet
- World-wide web
- Grid
- Mobile and wireless
- Devices
- Software, platforms
- Search engines
- Tremendous advances
8Evolution (contd.)
- Computing research
- Programming languages
- RISC vs. CISC architectures
- Memory capacity
- Computing power
- Simple program?Object ?Component?
- Environment
- Accessibility
- Globalization (outsourcing, markets)
- ...
9Evolution (contd.)
- Society
- IT users not exclusive to Computer Science
- Digital media
- ipod, iphone, idog,..
- Youtube, myspace, social networking
- Blogs,wikies, podcasts
-
10Beyond Search Engines Enabling Information
Technology and Scientific Applications
TV/Remote
Simple Search (stateless)
Financial Build Portfolio
Medicine plan treatment
Environment Plan Forestation
Wireless device
Biotech drug discovery
Complex multi-organizational applications
11Challenges
- Need transformative solutions such as the
Internet and the Search - Alignment with the needs of the business / user /
non-computer specialists / community and society - Need to address the scalability issue large
scale data, high performance computing,
automation, response time, rapid prototyping, and
rapid time to production - Need to effectively address (i) ever shortening
cycle of obsolescence, (ii) heterogeneity and
(iii) rapid changes in requirements - Service-enabling and service-oriented-architecture
(SOA) combination is attempt at addressing these
issues.
12Pieces of the pie..
13SOA can align the pieces!!?
14Missing pieces?
- Question (Homework assignment)
- Are there any categories that I did not consider
in the pie? Ex government policies? - What should be the appropriate weight of each
category? For example, consider the heavy weight
given to IT in the picture on the right.
15SOA Principles
- Loosely coupled (service provider and service
consumer are loosely coupled why?) - Large scale complex system with high level of
heterogeneity and redundancies. - Decoupling of functionality and technology
- Service contract and agreements
- Discoverability
- On demand composability of services composite
services concept - Agility respond to changes quickly
- Statelessness
- Inherent interoperability
- Standards
- Simplicity
- Reusability
16Typical Enterprise
- Complex heterogeneous system
- Examples CRM (Customer relationship management)
system, insurance claims processing system - Stakeholders
- Highly heterogeneous teams
- Different political environments
- CEO, IT projects, customers, operations
- Different applications and middleware
- Content and data with varying lifetime
- Potentially large number of end users
- Applications have to be rolled out to a large
number of PCs, say,10000 - Major changes and ongoing incremental
optimization need to be handled efficiently in an
agile manner. - An SOA addresses these needs.
17Evolution of the service concept
- A service is a meaningful activity that a
computer program performs on request of another
computer program. - Technical definition A service a remotely
accessible, self-contained application module. - From IBM,
18Class, Component and Service
- Class is a core concept is object-oriented
architectures. An object is instantiated form a
class. - Focus on client side, single address space
programs. - Then came the component/container concept to
improve scalability and deployability. Ex EJBs. - Focus on server side business objects and
separation of resources from code. - Service came into use when publishing,
discoverability, on-demand operation among
interacting enterprise became necessity. - Focus of enterprise level activities, contracts,
negotiations, reservations, audits, etc.
19Object-oriented programming
- Object-oriented programming
- Encapsulation of data and function in a class,
instances of a class is called an object - Objects communicate through messages (invoking
methods) - Class represents a type from which another type
can be derived resulting inheritance hierarchy. - Problem level of abstraction and granularity
exposed is fine to enable reuse. - Data and functions are tightly coupled.
- Important contribution SOA concept of interface
- Service-orientation assumes that data and
functionality are separated.
20Distributed Computing
- Important challenge is find abstractions for both
remoteness and actual service task at the same
time. - Simple interfaces such a telnet, rlogin emerged
for remoting. - Distributed Computing Environment (DCE), Common
Object Request Broker Architecture (CORBA)
emerged as middleware. - interoperability was an important goal.
- IDL Interface definition language came into
existence.. - IDL is a predecessor of WSDL
- Heavy weight infrastructure resulted in discovery
of the light weight XML solution. - XML, SOAP over HTTP, WS emerged.
21Business Computing
- File systems to main frames
- Emergence of new paradigms such as Enterprise
Resource Planning (ERP) and Supply Chain
Management (SCM) placed complex requirements on
the computing machines and applications. - This was followed by huge compute (IT) demands
for Enterprise Application Integration (EAI) and
Enterprise Data Integration (EDI). - An appealing characteristic of SOA is that it
aligns these business entities by directly
mapping them to services, thus enabling an
enterprise integration on the business level, not
on the technical level.
22SOA and WS
- A Service-Oriented Architecture (SOA) is a design
model for linking computational resources, data
and applications to perform services and deliver
results to service consumers. - Web Service (WS) standard provides a
platform-independent method for messaging-based
interaction of applications.
23Topics for Discussion
- Webservices and Service Oriented Architectures
(SOA) - XML (eXtensible Markup Language)
- SOAP (Simple Object Access Protocol)
- WS (Web Services)
24Web Services and SOA
- Web Services is a technology that allows for
applications to communicate with each other in a
standard format. - A Web Service exposes an interface that can be
accessed through XML messaging. - A Web service uses XML based protocol to describe
an operation or the data exchange with another
web service. Ex SOAP - A group of web services collaborating accomplish
the tasks of an application. The architecture of
such an application is called Service-Oriented
Architecture (SOA).
25SOA in Real World Report in InfoWorld, May 2,
2005 Issue 18
- http//www.infoworld.com/article/05/05/02/18FEsoab
t_1.html?WEB20SERVICES - State of Massachusetts uses SOA to deliver
healthcare services. With HTML web application it
had no control of look and feel and handling many
hospitals. With SOAP based messaging they can
easily handle different systems, billing systems,
medical records systems etc. Use Microsoft-based
systems. - Countrywide financial simplifies lending IBM
Websphere based SOA is used to deliver services. - Guardian Life Insurance uses SOA IBM websphere
based services. Uses EJB for business logic. - British Telecom uses combination of BEA systems
and Microsofts Connected Services Framework.
Billing backend and operational support for the
organization are web services. Legacy systems are
enabled as web services. - Amazon.com provides WS API for developers to
implement applications leveraging their
architecture and data.
26XML
- XML is a markup language, developed by W3C (World
Wide Web Consortium), mainly to overcome the
limitations of HTML. - But it took a life of its own and has become a
very popular part of distributed systems. - We will examine its definition, associated
specifications (DTD, XSLT etc.), Java APIs
available to process XML, protocols and services
based on XML, and the role XML plays in a
distributed computing environment.
27First Look at XML
- It has no predefined tags.
- Such as in HTML
- Domains may specify their own set of standard
tags - It is stricter.
- Most html document have errors and the browser
have to built to take care of these. - On the other hand XML has a strict syntax.
- There is a notion of validity and
- A notion of well-formed.
28An Example Memo
- See the two documents enclosed one in html and
the other in XML formats. - Observe the meaningful tags in XML.
- Compare it to a class definition it looks like a
class with data definitions and accessors (tags).
29Memo.html vs memo.xml
- lt!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN"gt - lthtmlgt
- ltheadgt
- ltmeta http-equiv"content-type"
- content"text/html charsetISO-8859-1"gt
- lttitlegtmemo.htmllt/titlegt
- lt/headgt
- ltbodygt
- lth3gtHello Worldlt/h3gt
- Binaltbrgt
- CSE507 SOA and WS Students ltbrgt
- Wake up everyoneltbrgt
- BRltbrgt
- ltbrgt
- lt/bodygt
- lt/htmlgt
- lt?xml version"1.0" ?gt
- lt!DOCTYPE memo (View Source for full
doctype...)gt - - ltmemogt
- ltheadergtHello Worldlt/headergt
- ltfromgtbinalt/fromgt
- lttogtCSE507 SOA and WS Studentslt/togt
- ltbodygtWake up everyonelt/bodygt
- ltsigngtbrlt/signgt
- lt/memogt
30XML to SOAP
- Simple xml can facilitate sending message to
receive information. - The message could be operations to be performed
on objects. - Simple Object Access Protocol (SOAP)
31SOAP Request
ltsoapEnvelope xmlnssoap"http//schemas.xmlsoap.
org/soap/envelope/"gt ltsoapBodygt
ltgetProductDetails xmlns"http//warehouse.example
.com/ws"gt ltproductIdgt827635lt/productIdgt
lt/getProductDetailsgt lt/soapBodygt
lt/soapEnvelopegt
32SOAP Reply
ltsoapEnvelope xmlnssoap"http//schemas.xmlsoap.
org/soap/envelope/"gt ltsoapBodygt
ltgetProductDetailsResponse xmlns"http//warehouse
.example.com/ws"gt ltgetProductDetailsResultgt
ltproductNamegtToptimate 3-Piece
Setlt/productNamegt ltproductIdgt827635lt/prod
uctIdgt ltdescriptiongt3-Piece luggage set.
Black Polyester.lt/descriptiongt
ltpricegt96.50lt/pricegt ltinStockgttruelt/inSto
ckgt lt/getProductDetailsResultgt
lt/getProductDetailsResponsegt lt/soapBodygt
lt/soapEnvelopegt
33SOAP?Web Services (WS)?SOA
- Read this paper
- http//www.w3.org/DesignIssues/WebServices.html
34Service Oriented Architectures
- Lets look at some success stories.
- Amazon.com has is data collection available web
services developers. - See these URLs
- Amazon.com E-Commerce Service (ECS)
- A cool application
35Summary
- We had a first look at SOA
- We looked at foundational concepts supporting web
services XML, SOAP, WSDL and Web Services
standards.