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

Post on 14-Dec-2015

213 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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.

top related