Download presentation
Presentation is loading. Please wait.
Published byWilfrid Lyons Modified over 9 years ago
1
1 G52IWS: Distributed Computing Chris Greenhalgh
2
2 Contents Distributed Computing Pre-WS Distributed Computing Platforms CORBA Java RMI Message-Oriented Middleware Common Challenges & relation to Web Services Supporting protocols HTTP DNS TCP See “Developing Java Web Services” chapter 1 See W3C HTTP specifications; see IETF DNS RFCs; See G51WPS notes
3
3 Distributed Computing Application Internet Object TCP/IP Object TCP/IP Object TCP/IP After “Developing Java Web Services” figure 1.1 “Objects” / services / servers / ports
4
4 The Importance of Distributed Computing Higher performance though concurrency Collaboration between multiple applications Higher reliability and availability with replicated services Scalability through replication Extensibility through dynamic (re)configuration Higher productivity, shorter development cycles and reduced cost through decomposition & re-use
5
5 Client-Server Applications Server (e.g. database) Application TCP/IP After “Developing Java Web Services” figure 1.2 Application TCP/IP Application TCP/IP Clients
6
6 Client-Server 1 – simple model or building block of distributed computing Single server exposes common facilities to multiple clients Each client make explicit requests to the server(s) according the client’s requirements/logic 2 – minimal (“two tier”) approach to distributed application development Complex client with extensive business logic intermingled with presentation & user interaction Simple server (e.g. database) for coordination/persistence (singular server?!)
7
7 Common Object Request Broker Architecture (CORBA) CORBA Object Request Broker (ORB) Client StubsServer Skeletons ClientsServer objects CC++JavaCC++Java IDL After “Programming Java Web Services” figure 1.3 Networking
8
8 CORBA Features Open standard from the Object Management Group (OMG) OS, programming language and platform independent interfaces defined in CORBA IDL (Interface Definition Language) Rich set of services and features e.g. lifecycle, events, naming, transactions, security Location transparency through location- independent object references
9
9 CORBA features cont. Network transparency using the IIOP (Internet Inter-ORB Protocol) Remote callback support with asynchronous messages Dynamic invocation interface for run-time interface discovery
10
10 CORBA issues High initial investment in training, application porting etc. Availability of CORBA services still limited in most implementations Scalability may be limited due to tightly coupled distributed object model (e.g. Direct object invocations)
11
11 Java Remote Method Invocation Java clientRMI Stubs Java RMI Server RMI Skeleton Remote Ref. Layer JRMP After “Developing Java Web Services” figure 1.4
12
12 Java RMI Features Developed by Sun Microsystems Allows distributed Java application development with invocation of methods on remote Java objects i.e. Java objects in other Java Virtual Machines (VMs) Exploits Java Serialization and Java Remote Method Protocol (JRMP) Stub “intercepts” the client request and passes over RMI/JMRP to server skeleton and hence to server object
13
13 Java RMI Features cont. Includes a simple registry for non-persistent naming/lookup of remote services Interoperates with CORBA using RMI-IIOP (RMI over IIOP) as an alternative to JRMP
14
14 Java RMI Issues Limited to the Java Platform (excepting bridging to CORBA/RMI-IIOP) Tend to be tightly coupled via remote object references No specific session management support Each Remote Method Invocation is handled independently
15
15 Message-Oriented Middleware (MOM) Application A Persistence Adapter API Application B MOM infrastructure Adapter API After “Developing Java Web Services” figure 1.6 Messages sent & received (& transactions contexts)
16
16 MOM Features Loosely coupled asynchronous communication based on messages Messages typically sent via queues MOM infrastructure supports reliable delivery, transactions, security. Often used for Enterprise Application Integration Various technology options, including OBM MQSeries, TIBCO, SunONE Message Queue, Java Message Service (JMS) API
17
17 MOM Issues APIs are often proprietary and language- specific Message formats are often proprietary MOM infrastructure is often designed to be managed by a single organisation/entity
18
18 Common Challenges in Distributed Computing Maintenance of client/server stubs in heterogeneous environments Quality of Service goals such as scalability, performance & availability take a lot of work Interoperability between different protocols is almost impossible (e.g. RMI to DCOM) Led to disjoint communities with little/no interoperability Typically work well with a local network: not firewall friendly, or easy to access over the Internet
19
19 Relation to Web Services Similar concerns – distributed applications Growing emphasis on composition and re-use Growing emphasis on platform-neutral and inter-organisational distribution Increasingly sophisticated architectural & interactional models Multi-tier designs within and across organisations Distributed messaging and complex choreography as well as client-server approaches
20
20 Supporting standards HTTP DNS TCP/IP
21
21 HTTP Simple text-based request/response protocol over TCP/IP Main request types: POST, GET End-point identified by http: URL Host Optional non-default port (default 80) Path Optional fragment reference and arguments See G51WPS notes on HTTP
22
22 DNS Simple binary request/response over UDP Request: asks questions about a domain name e.g. “What is the IP address of www.nottingham.ac.uk” www.nottingham.ac.uk Response: returns known information and/or refers request to another DNS server which is more likely to know Used for host part of HTTP URLs to identify server IP address See G51WPS notes on TCP/IP
23
23 TCP/IP The Internet Protocol suite An open standard of the Internet Engineering Task Force (IETF). Includes IP – host-to-host delivery, globally UDP – unreliable datagram delivery service TCP – reliable byte stream delivery service to a particular host (IP address) and TCP port ICMP – control and management messages See G51WPS notes on TCP/IP
24
24 Summary Its still distributed computing… With added: Inter-organisational emphasis Interoperability Platform/language neutrality Business requirements XML
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.