Title: Chapter 1: Computing with Services
1- Chapter 1Computing with Services
Service-Oriented Computing Semantics, Processes,
Agents Munindar P. Singh and Michael N. Huhns,
Wiley, 2005
2Highlights of this Chapter
- Visions for the Web
- Open Environments
- Services Introduced
- The Evolving Web
- Standards Bodies
3The 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
4The 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
5Historical View of Services over the Web
6Viewpoints 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
7What 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
8Scope
- 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
9Service 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?
10Applications of Composable Services
- Portals
- Legacy system interoperation
- E-commerce
- Virtual enterprises
- Grid computing
11Autonomy
- 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
12Heterogeneity
- 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
13Dynamism
- Independence of system administrators
- Needed because the parties change
- Architecture and implementation
- Behavior
- Interactions
- Make configurations dynamic to improve service
quality and maintain flexibility
14Locality 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
15System Architectures Centralized
Terminal
Terminal
3270
Terminal
Terminal
Terminal
Mainframe
Terminal
Terminal
Terminal
Terminal
Terminal
Terminal
16System Architectures Client-Server
Workstation Client
PC Client
PC Client
PC Client
E-Mail Server
Web Server
Database Server
Master-Slave
17System Architectures Peer-to-Peer
Application
Application
Application
Application
E-Mail System
Web System
Database System
18System Architectures Cooperative
Agent
Application
Application
Application
Agent
Agent
Agent
Application
Agent
Agent
E-Mail System
Agent
Agent
Database System
Web System
(Mediators, Proxies, Aides, Wrappers)
19Chapter 1 Summary
- Evolving perspectives on the Web
- Evolutions in IT architectures
- Open environments challenge some fundamental
assumptions of computer science - Autonomy
- Heterogeneity
- Dynamism
- Services, if understood correctly, can support IT
in open environments