1 / 8

Andrew Harrison a.b.harrison@cs.cf.ac.uk

CMT607 Distributed Computing Systems Objects, Services, Resources or know your cat before you skin it. Andrew Harrison a.b.harrison@cs.cf.ac.uk. Remote Objects. Remote Objects are the transferral of a local/single address space paradigm to a distributed environment.

kolton
Download Presentation

Andrew Harrison a.b.harrison@cs.cf.ac.uk

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CMT607Distributed Computing SystemsObjects, Services, Resourcesorknow your cat before you skin it Andrew Harrison a.b.harrison@cs.cf.ac.uk

  2. Remote Objects • Remote Objects are the transferralof a local/single address space paradigm to a distributed environment. • The fact that the object you are invoking resides on a different machine is often transparent • Simple to use - no new concepts to digest • Example remote object technologies: • CORBA, DCOM, Java RMI • But distributed environments are different from local ones.

  3. Problems with RPC • Stem from the fact that distributed environments are different from local ones: • What if the remote node goes down? • What if the network goes down? • How long should I wait before deciding something has gone wrong if I hear nothing? • How do I find a remote object? • How do I make sure my concept of its lifetime/state are synchronized with the remote host’s concept of its lifetime/state? • How do I ensure that the messages I send arrive in the same sequence at the other end? • A single address space is tightly coupled through the operating system

  4. Service Orientation • Service Orientation is an attempt to make distributed systems more loosely coupled. • SOA is an example of a composite computing model: • “an architecture that uses distributed, discovery-based execution to expose and manage a collection of service-oriented software assets” • In Object Orientation an object maintains data, and operations for accessing/mutating that data. • State and operations are combined into single entity - think BankAccount.java • In Service Orientation state and the operations on it are separated • A service is an interface to something with state, but we don’t know and don’t care what that thing is. • All we see is the service interface which definescapabilities. • The Service interface provides operations on the state but doesnot have state in itself. Example: Web Services

  5. Benefits of Service Orientation • A service does not have state, so I don’t have to worry about lifetime issues • The service interface is defined in a contract • The contract describes the messages received and sent by the service. (The service is the contract) • Each message contains everything the service needs to know to perform its task - nothing is implied through ‘shared knowledge’. • So I don’t have to ‘know’ what sort of thing it is, or what classes it inherits from like I do with objects. Instead, I can interpret the contract at runtime and communicate with the service immediately. • Service interfaces are usually coarse-grained • because of the composite model • The lack of state in services and the fact that messages contain all necessary information means many interactions can be idempotent • They have no further side-effects if they are repeated. - I send a message, wait… get no response, so send it again without worrying that I have induced an inconsistent state at the server side. • Easy to swap out/replicate backend

  6. Resource Orientation • How is Resource Orientation different from Service Orientation? • Everything that can be named is a resource. • More commonly, resources are anything that can be located on the network. • A resourcehas state, but no operations over that state. • Operations on resource state are defined by the address scheme at which resources are located. • If a resource is located at: http://example.com/abc, then the operations potentially allowed on that resource are defined by the HTTP protocol, i.e. GET, PUT, POST, DELETE etc. - use OPTIONS to find out • Example: The Web

  7. Benefits of Resource Orientation • No proliferation of service interfaces • The Web is based on a handful of operations defined by HTTP. • Imagine if every website had its own programmatic interface • In contrast every Web Service has its own proprietary interface. • State is explicit • Because a resource is a representation of state, firewalling and caching are much simpler because servers are not receiving unknown application-specific payloads. • Provenly scalable…

  8. Objects, Services, Resources data resource object service data data representation operations operations operations Access protocol

More Related