lecture 2: service oriented computing. enter 21 st century!

63
Lecture 2: Service Oriented Computing

Upload: dustin-perry

Post on 14-Dec-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Lecture 2: Service Oriented Computing. Enter 21 st Century!

Lecture 2: Service Oriented Computing

Page 2: Lecture 2: Service Oriented Computing. Enter 21 st Century!

Enter 21st Century!

Page 3: Lecture 2: Service Oriented Computing. Enter 21 st Century!

Our Information Landscape

Image from: http://www.socialmedia.biz/images/masssocialmedia.png

Page 4: Lecture 2: Service Oriented Computing. Enter 21 st Century!

The Future of Information

Image from: http://novaspivack.typepad.com/nova_spivacks_weblog/metaweb_graph.JPG

Page 5: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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?

Page 6: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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/

Page 7: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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/.

Page 8: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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/

Page 9: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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/

Page 10: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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

Page 11: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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

Page 12: Lecture 2: Service Oriented Computing. Enter 21 st Century!

Why Go Global?

Power of networks

Screen Shot from: Chrissy Hellyer @ Teaching Sagittarian: http://teachingsagittarian.edublogs.org/

Page 13: Lecture 2: Service Oriented Computing. Enter 21 st Century!

New Interfaces?

Tap into the energy that people are bringing through new interfaces.

Image from: http://flickr.com/photos/bigduke6/90086641/

Page 14: Lecture 2: Service Oriented Computing. Enter 21 st Century!

The Technology Toolbox

How to pick the right tools for the job

Image from: http://flickr.com/photos/mamabarns/747588843/

Page 15: Lecture 2: Service Oriented Computing. Enter 21 st Century!

The Technology Toolbox

Page 16: Lecture 2: Service Oriented Computing. Enter 21 st Century!

ToolBox: Blogs

When to use a blog: individual reflection seeking feedback

Grade 5 Student Blog: http://heejae.learnerblogs.org/

Page 17: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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/

Page 18: Lecture 2: Service Oriented Computing. Enter 21 st Century!

ToolBoox: Wikis

When to use a wiki collaborative knowledge building

Grade 6 Student Wiki: http://ancientafricah.wikispaces.com

Page 19: Lecture 2: Service Oriented Computing. Enter 21 st Century!

ToolBox: Social Networking

When to use Social Networks

Connecting students and teachers

Grade 4 Flat Classroom Project: http://connectedclassroom.ning.com/

Page 20: Lecture 2: Service Oriented Computing. Enter 21 st Century!

Collaborative Multimedia

creative representation of ideas

Sample VoiceThread: http://voicethread.com/#home.b6073.i45532

Page 21: Lecture 2: Service Oriented Computing. Enter 21 st Century!

ToolBox: VoIP

When to use VoIP Communicating with

personal learning network

Connecting on a personal level

Page 22: Lecture 2: Service Oriented Computing. Enter 21 st Century!

ToolBox: VoIP

Features of VOIP Audio/video e-mail Audio/video chat Recording

discussions

7th Grade YackPack

Page 23: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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

Page 24: Lecture 2: Service Oriented Computing. Enter 21 st Century!
Page 25: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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

Page 26: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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

Page 27: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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

Page 28: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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

Page 29: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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

Page 30: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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

Page 31: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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

Page 32: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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?

Page 33: Lecture 2: Service Oriented Computing. Enter 21 st Century!

Applications of Composable Services

Portals Legacy system interoperation E-commerce Virtual enterprises Grid computing

Page 34: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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

Page 35: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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

Page 36: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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

Page 37: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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

Page 38: Lecture 2: Service Oriented Computing. Enter 21 st Century!

System Architectures: Centralized

Mainframe

Terminal3270

Terminal

Terminal

Terminal

Terminal

TerminalTerminal

Terminal

Terminal

Terminal

Terminal

Page 39: Lecture 2: Service Oriented Computing. Enter 21 st Century!

System Architectures: Client-Server

E-MailServer

WebServer

DatabaseServer

PCClient

PCClient PC

Client

WorkstationClient

Master-Slave

Page 40: Lecture 2: Service Oriented Computing. Enter 21 st Century!

System Architectures: Peer-to-Peer

E-MailSystem

WebSystem

DatabaseSystem

Application

ApplicationApplication

Application

Page 41: Lecture 2: Service Oriented Computing. Enter 21 st Century!

System Architectures: Cooperative

E-MailSystem

WebSystem

DatabaseSystem

Application

ApplicationApplication

Application

(Mediators, Proxies, Aides, Wrappers)

Agent

Agent

Agent

Agent

Agent

Agent

Agent

Agent

Page 42: Lecture 2: Service Oriented Computing. Enter 21 st Century!

An Introduction to Web Services

Page 43: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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

Page 44: Lecture 2: Service Oriented Computing. Enter 21 st Century!

Component Architecture

Components

Method 1……

User submits

parameters

AppropriateMethod called

Returns

the result

Application

Method 2……

Page 45: Lecture 2: Service Oriented Computing. Enter 21 st Century!

Application

Computing Over the Years (1)

DatabaseStand-alone Computers

Page 46: Lecture 2: Service Oriented Computing. Enter 21 st Century!

Client-Server Computing

Server

Clients: Smart terminals

PC

Computing Over the Years (2)

Page 47: Lecture 2: Service Oriented Computing. Enter 21 st Century!

Distributed Computing

Smart terminals

Network

Distributed Computing

Component A

Windows OS

Component B

Component F

Linux OS

Component C Component D

Component E

Page 48: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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

Page 49: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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

Page 50: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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

Page 51: Lecture 2: Service Oriented Computing. Enter 21 st Century!

Web Services

Network

Network may be LAN, WAN, MAN or Internet

Web Services: Internet based modular applications

Web Service

Page 52: Lecture 2: Service Oriented Computing. Enter 21 st Century!

Web Services Solutions

Two of the most popular Web Services Solutions

SUNTM OPEN NET ENVIRONMENT (SUN ONE)

Page 53: Lecture 2: Service Oriented Computing. Enter 21 st Century!

Web Service Example

EMI Calculator Web Service Loan Application Using Web Service

Running on

Another Web Service

Page 54: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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

Page 55: Lecture 2: Service Oriented Computing. Enter 21 st Century!

Important Components

Service Broker

ServiceRequestor

ServiceProvider

Service Registry

Publish

Find

Bind

Page 56: Lecture 2: Service Oriented Computing. Enter 21 st Century!

Web Services: Generic Architecture

Page 57: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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

Page 58: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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

Page 59: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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

Page 60: Lecture 2: Service Oriented Computing. Enter 21 st Century!

Accessing Web Services over HTTP

HTTP GET operation

HTTP POST operation

SOAP

Page 61: Lecture 2: Service Oriented Computing. Enter 21 st Century!

Business Process

Web Service

Organization AOrganization B

Advantages of Web Services

Cross business integrationImproved efficiencyCloser customer relationshipsFacilitates just-in-time integrationReduces complexityLegacy applications

Page 62: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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

Page 63: Lecture 2: Service Oriented Computing. Enter 21 st Century!

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.