distributed computing

Download Distributed Computing

If you can't read please download the document

Upload: adil-raja

Post on 16-Jul-2015

144 views

Category:

Software


2 download

TRANSCRIPT

  • Distributed Computing

    DISTRIBUTED COMPUTING

    Muhammad Adil Raja

    Roaming Researchers, Inc.

    cbna

    April 24, 2015

  • Distributed Computing

    OUTLINE I

    1 INTRODUCTION

    2 REFERENCES

  • Distributed Computing

    Introduction

    INTRODUCTION

    In this chapter we will explore some of the implications ofprogramming in a distributed environment.Network programming.Mobile programming.Component based programming.

  • Distributed Computing

    Introduction

    AN OBJECT ORIENTED COMMUNITY

    Recall that we have been asserting that an object-orientedprogram is properly thought of as a member of acommunity.If we relax the rules for membership in this community, wemove the paradigm in different directions.

    FIGURE : A distributed system.

  • Distributed Computing

    Introduction

    RELAXING THE RULES

    What are some of the ways we can relax the rules?Allowing objects to be written in different languages (corba, dcom).Allowing objects on the same machine to form connectionsdynamically (java beans).Allowing objects to reside on different computers (distributed computing).Allowing objects on different computers to formconnections dynamically (mobile computing).All of these are conceptually easy, but the devil is in thedetails.

  • Distributed Computing

    Client-Server Computing

    CLIENT-SERVER COMPUTING

    The simplest type of interaction is allowing objects toreside on different computers, but with known interfaces.This is termed client/server computing.The book describes a simple client/server system.

  • Distributed Computing

    Client-Server Computing

    MAKING IT EASIER TO WRITE CLIENT-SERVERSYSTEMS

    Java simplifies the production of client/server systems byproviding ready-made library routines for:Address IP addresses or domain names.Ports an address in a computer for creating connections.Sockets a connection between one computer and anaddress/port on another computer.Streams for reading from and writing to a socket.Doesnt mean it cant be done in other languages, but Javamakes it a lot easier since they have spent a lot of timegiving you simple interfaces for these activities.

  • Distributed Computing

    Client-Server Computing

    NEXT LEVEL OF COMPLEXITY

    The next level of complexity is a general server who isready to accept connections from many clients, perhapsmany at one time.The book describes a system for this.

  • Distributed Computing

    Client-Server Computing

    OBJECT SPECIALIZATION

    Another useful feature (which should perhaps have beendescribed in the metaprogramming chapter) is the ability totransfer objects across a network connection andregenerate them on the far side.Called object serialization, sometimes marshalling.Again, Java has a nice facility for this. Other langaugesmay as well, but Im less familiar with them.The book gives an example of object serialization.

  • Distributed Computing

    Client-Server Computing

    ASKING AN OBJECT ABOUT ITS STATE

    Moving back to a single machine, there are systems thatallow a program to dynamically inquire the capabilities ofanother class, and then add it into a running program.A good example is Java Beans, which is not described inthe book.Again, this is built on the reflection facilities described inthe previous chapter.The programmer collects a bunch of components, thenassembles them into a new application.Often components have a visual interface, and can beassembled using a visual tool, without needing to write(much) programming.

  • Distributed Computing

    Client-Server Computing

    ACROSS A NETWORK

    The next level of complexity is to do the same sort of thing,but allow the components to exist across the network.This is part of what MS is trying to do with its dot-netprogram.Allow the creation of components which can then beassembled even when they exist on widely separatedcomputers.Many parts of this problem:Registration how do you find out what components existout there?Interface Query how do you find out what interfacesthese components useConnection how do you make a dynamic connection witha remote objectInteraction how do you communicate with a remoteobjectEach of these steps is at the moment unstandarized, but alot of effort is going into each.Expect a lot of work on this in the future.

  • Distributed Computing

    Client-Server Computing

    THE FUTURE

    I expect that in three years time this chapter will be a lotricher and a lot thicker.There is an awful lot of work going on in this area right now.Some of these ideas will be successful and continue, somewill die out and be replaced.You should expect to be hearing more about distributing /network / web based computing as time goes on.

  • Distributed Computing

    References

    REFERENCES

    Images and content for developing these slides have beentaken from the follwoing book with the permission of theauthor.An Introduction to Object Oriented Programming, TimothyA. Budd.This presentation is developed with Beamer:

    JuanLesPins, monarca.

    IntroductionReferences