lecture 2: service oriented computing. enter 21 st century!
TRANSCRIPT
Lecture 2: Service Oriented Computing
Enter 21st Century!
Our Information Landscape
Image from: http://www.socialmedia.biz/images/masssocialmedia.png
The Future of Information
Image from: http://novaspivack.typepad.com/nova_spivacks_weblog/metaweb_graph.JPG
What is 21st Century Business?
Buyers and sellers who are:
Effective Learners Effective Collaborators Effective Creators
Image from: http://www.uniquecare.org/Collaborate%20250.jpg
What do you think?
21st Century Learners: Lifelong learners Can learn how to
learn Independent learners Metacognitive Intrinsically motivated Focus on self
improvement
Image from: http://flickr.com/photos/akaicker/38149570/
21st Century Collaborators: Are effective communicators. Are socially and culturally aware. Take responsibility for their role. Are flexible.
Image from: http://flickr.com/photos/wainwright/351684037/.
21st Century Collaborators: Are able to delegate or
share responsibility when necessary.
Are equally comfortable as either leaders or participants.
Appreciate and internalize the essential interdependence of being part of society.
Image from: http://flickr.com/photos/pedrosimoes7/1301014184/
21st Century Creators: Effectively analyze and
synthesize. Originality, innovative
and creative contributors to society.
“think outside the box”. Systems thinkers. Goal oriented and
productive. Demonstrate ethical
responsibility.
Image from: http://flickr.com/photos/jimfrazier/525695141/
Why Go Global?
“The World is Flat” We are no longer
bound by four walls of classroom
Authentic development experiences
Image from: http://www.csupomona.edu/~sfenglehart/%20Hst%20Images%20/Berlin%20Wall.JPEG
Why Go Global?
Learning (and life) is networked, digital, connected.
Create an authentic classroom environment.
Image from: http://www.psychologicalscience.org/observer/2006/0306/images/old_classroom.jpg
Why Go Global?
Power of networks
Screen Shot from: Chrissy Hellyer @ Teaching Sagittarian: http://teachingsagittarian.edublogs.org/
New Interfaces?
Tap into the energy that people are bringing through new interfaces.
Image from: http://flickr.com/photos/bigduke6/90086641/
The Technology Toolbox
How to pick the right tools for the job
Image from: http://flickr.com/photos/mamabarns/747588843/
The Technology Toolbox
ToolBox: Blogs
When to use a blog: individual reflection seeking feedback
Grade 5 Student Blog: http://heejae.learnerblogs.org/
ToolBox: Blogs
Features of a blog: Entries posted in consecutive order,
newest on top Comments from readers extend
classroom learning Personal journal
Grade 5 Student Blog: http://heejae.learnerblogs.org/
ToolBoox: Wikis
When to use a wiki collaborative knowledge building
Grade 6 Student Wiki: http://ancientafricah.wikispaces.com
ToolBox: Social Networking
When to use Social Networks
Connecting students and teachers
Grade 4 Flat Classroom Project: http://connectedclassroom.ning.com/
Collaborative Multimedia
creative representation of ideas
Sample VoiceThread: http://voicethread.com/#home.b6073.i45532
ToolBox: VoIP
When to use VoIP Communicating with
personal learning network
Connecting on a personal level
ToolBox: VoIP
Features of VOIP Audio/video e-mail Audio/video chat Recording
discussions
7th Grade YackPack
The Ultimate Goal
Learning anytime, anywhere.
Develop a global Personal Learning Network
Communicate, Connect and Collaborate
Image from: http://prblog.typepad.com/strategic_public_relation/images/2007/06/22/simple_social_network.png
Chapter 1
25Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Highlights of this Chapter
Visions for the Web Open Environments Services Introduced The Evolving Web Standards Bodies
The Web As It Is
Not easy to program Designed for people to get information
Focuses on visual display (as in HTML) Lacks support for meaning
Supports low-level interactions HTTP is stateless Processing is client-server Creates avoidable dependencies among
what should be independent components
The Web As It Is Becoming
Enable interactions autonomous, heterogeneous parties (information providers and users) Go beyond visual display to capture
meaning Semantic Web Support standardized interfaces Web
services Support complex activities processes Support rich interactions among
autonomous parties agents
Historical View of Services over the Web
Generation
Scope Technology
Example
First All Browser Any HTML page
Second Programmatic
Screen scraper
Systematicallygenerated HTMLcontent
Third Standardized
Web services
Formally described service
Fourth Semantic Semantic Web services
Semantically described service
Viewpoints on Services
Traditionally, a capability that is provided and exploited, often but not always remotely Networking: bundle of bandwidth-type properties Telecom: features (caller ID, forwarding) Systems: operational functions (billing, storage);
parceled up into operation-support systems Web or Grid: Web pages or Grid resources Wireless: Wireless access; messaging
By contrast, we treat services as resembling real-life services or business partners
What is a Web Service?
A piece of business logic accessible via the Internet using open standards (Microsoft)
Encapsulated, loosely coupled, contracted software functions, offered via standard protocols (DestiCorp)
A set of interfaces providing a standard means of interoperating between different software applications, running on a variety of platforms and frameworks (W3C)
Our working definition: A service is functionality that can be engaged
Scope
Includes wherever Internet and Web technologies are employed
Internet Intranet: network restricted within an
enterprise Extranet: private network restricted to
selected enterprises Virtual Private Network (VPN): a way to
realize an intranet or extranet over the Internet
Service Composition
Vision Specify and provide services independently,
hiding implementations Use services in combination in novel ways Going beyond the idea of a passive object
Obviously desirable and challenging But is this what we want?
Can or should implementations be hidden? What about organizational visibility? How to assess risk? How to handle
exceptions?
Applications of Composable Services
Portals Legacy system interoperation E-commerce Virtual enterprises Grid computing
Autonomy
Independence of business partners (users and organizations)
Political reasons Ownership of resources Control, especially of access privileges Payments
Technical reasons Opacity of systems with respect to key
features, e.g., precommit in distributed databases
Heterogeneity
Independence of component designers and system architects
Political reasons Ownership of resources
Technical reasons Conceptual problems in integration Fragility of integration Difficult to guarantee behavior of
integrated systems
Dynamism
Independence of system administrators
Needed because the parties change Architecture and implementation Behavior Interactions
Make configurations dynamic to improve service quality and maintain flexibility
Locality: How to Handle the Above
Reduce sharing of data and metadata to reduce inconsistencies and anomalies
Reduce hard-coding, which reflects out-of-band agreements among programmers Bind dynamically to components Use standardized formats to express data Express important knowledge as metadata Use standardized languages to express
metadata Relax consistency constraints
Obtain remote knowledge only when needed Correct rather than prevent violations of
constraints: often feasible
System Architectures: Centralized
Mainframe
Terminal3270
Terminal
Terminal
Terminal
Terminal
TerminalTerminal
Terminal
Terminal
Terminal
Terminal
System Architectures: Client-Server
E-MailServer
WebServer
DatabaseServer
PCClient
PCClient PC
Client
WorkstationClient
Master-Slave
System Architectures: Peer-to-Peer
E-MailSystem
WebSystem
DatabaseSystem
Application
ApplicationApplication
Application
System Architectures: Cooperative
E-MailSystem
WebSystem
DatabaseSystem
Application
ApplicationApplication
Application
(Mediators, Proxies, Aides, Wrappers)
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Agent
An Introduction to Web Services
Objectives
Discuss distributed computing Explain web services and their characteristics Discuss the generic architecture of web
services Describe the life cycle of a web service Identify the requirements for a web service Explain the working of a web service Discuss the advantages and disadvantages of
web services
Component Architecture
Components
Method 1……
User submits
parameters
AppropriateMethod called
Returns
the result
Application
Method 2……
Application
Computing Over the Years (1)
DatabaseStand-alone Computers
Client-Server Computing
Server
Clients: Smart terminals
PC
Computing Over the Years (2)
Distributed Computing
Smart terminals
Network
Distributed Computing
Component A
Windows OS
Component B
Component F
Linux OS
Component C Component D
Component E
Distributed Component Architectures
The three main Distributed Component Architectures are:
CORBA
Developed by OMG
DCOM
Developed by Microsoft
RMI
Developed by SUN. Uses CORBA for Heavy-Duty Distributed Systems
Inter-Module Communication
Application developed using C# Application developed using VB.net
Inter-Module communication needs:
1. Set of rules for communication
2. Standard Language for interfaces
3. Interfaces for the modules
Web-based Applications
Must be simple, self explanatory and easy to use
Services Offered
e-mail, browsing, searching the net, chat applications
Devices Used to Access the Web
Web Services
Network
Network may be LAN, WAN, MAN or Internet
Web Services: Internet based modular applications
Web Service
Web Services Solutions
Two of the most popular Web Services Solutions
SUNTM OPEN NET ENVIRONMENT (SUN ONE)
Web Service Example
EMI Calculator Web Service Loan Application Using Web Service
Running on
Another Web Service
Characteristics of Web Services
Should be registered
Uses XML
Uses standard web protocols
Accessed over the web
Web Services
Has a service interface
Supported by loosely coupled
applications
Integrated Just In Time
Important Components
Service Broker
ServiceRequestor
ServiceProvider
Service Registry
Publish
Find
Bind
Web Services: Generic Architecture
Life Cycle
1. Create a web service
2. Define service interface, invocation methods for the web service
3. Publish the web service on the Internet or Intranet
5. Invoke the web service
6. Unpublish the web service when not needed
4. Search for the web service
Requirements for a Web Service
XML: Represent data in a standard format
SOAP: Common extensible message format
WSDL: Common, extensible, service description language
UDDI: Maintains registries storing information aboutservice providers and their services
Working of a Web Service
Soap ProtocolXML over HTTP
Parameters
Return Value
Get Type info
(XML Schema)Service
Description
Web Server (With Web Service)Client
Application
Accessing Web Services over HTTP
HTTP GET operation
HTTP POST operation
SOAP
Business Process
Web Service
Organization AOrganization B
Advantages of Web Services
Cross business integrationImproved efficiencyCloser customer relationshipsFacilitates just-in-time integrationReduces complexityLegacy applications
Constraints
Businesses not willing to expose the
functionalities
The only technology that forms the base
is XML, that means we cannot do without
XML
The cost involved is very high
How it works? Consider a simple account-management and order -processing system. The
accounting personnel use a client application built with Visual Basic or JSP to create new accounts and enter new customer orders.
The processing logic for this system is written in Java and resides on a Solaris machine, which also interacts with a database to store the information.
The steps illustrated above are as follows:1. The client program bundles the account registration information into a SOAP
message.2. This SOAP message is sent to the Web Service as the body of an HTTP POST
request.3. The Web Service unpacks the SOAP request and converts it into a command
that the application can understand. The application processes the information as required and responds with a new unique account number for that customer.
4. Next, the Web Service packages up the response into another SOAP message, which it sends back to the client program in response to its HTTP request.
5. The client program unpacks the SOAP message to obtain the results of the account registration process. For further details regarding the implementation of Web Services technology, read about the Cape Clear product set and review the product components.