Chapter 14 Advanced Architectural Styles
Objectives Describe the characteristics of a distributed system Explain how middleware supports distributed computing Describe the characteristic of a web service Explain the web service life cycle Describe the operation of a peer to peer network Explain the characteristics and purpose of grid computing
Architectural Styles More complex, enterprise-level information systems usually go beyond the simple client-server paradigm Alternatives include: –Distributed –Web Services –Grid –Peer to Peer
Distributed System A distributed system comprises subsystems that may be –Written in different languages –Based on different platforms –In different locations –Developed with different tools and methods –Governed by different security policies
Distributed System
Distributed System Middleware Distributed Systems depend upon middleware, such as CORBA, to enable interaction among components CORBA hides the complexity of routing a procedure call from one subsystem to another The caller (client) and called (server) components actually communicate through proxies that hide their differences
CORBA Structure A believes it is calling B when it calls the Stub B believes it is being called by A when it is called by the skeleton
Web Services A web service is a server that provides service to other online systems, using WS protocols (WSDL, UDDI, SOAP) Services are loosely coupled so that they can be easily composed, interchanged, and replaced
Web Services The Stock Brokerage application uses three web services to support its own end-user service The three web services can be replaced if needed, with no interruption of the Stock Brokerage function
Web Services There are three steps in the web service lifecycle 1.A web service registers with a service broker / directory 2.A service user inquires in the directory and finds a needed service 3.The service user binds the web service and the service is provided
Web Services
Web Services Protocols Web Services Definition Language (WSDL): Allows a web service to create a standard description of its service Universal Description Discovery and Integration: Allows services to publish its description, and allows users to find it Simple Object Access Protocol: Allows a web service and service user to execute a service transaction
Web Services Protocol Stack
Peer to Peer Computing In a peer-to-peer system, each node can be either client or server Peers form their own networks, and call on each other as needed Examples include file-sharing, and instant messaging
Client-Server / Peer-to-Peer
Peer-to-Peer Variations Pure peer-to-peer: There is no central service at all; peers form ad-hoc networks Brokered peer-to-peer: A central server helps to arrange connections between peers, then the peers communicate directly Centralized peer-to-peer: Also brokered, and all communication goes through the broker as well
Peer-to-Peer Variations
Grid Computing A computing grid is a large collection of computing resources that can be allocated as needed to incoming tasks Tasks might require dozens or hundreds of computing nodes or other resources One goal of grid computing is to take advantage of idle computers by distributing computation-intensive tasks
Task A Task B Grid Computing Tasks are distributed over the grid
Review Distributed Systems Web Services Peer-to-Peer Computing Grid Computing