distributed computing technologies selecting an appropriate approach l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Distributed Computing Technologies – Selecting an Appropriate Approach PowerPoint Presentation
Download Presentation
Distributed Computing Technologies – Selecting an Appropriate Approach

Loading in 2 Seconds...

play fullscreen
1 / 46

Distributed Computing Technologies – Selecting an Appropriate Approach - PowerPoint PPT Presentation


  • 117 Views
  • Uploaded on

Distributed Computing Technologies – Selecting an Appropriate Approach . Philip Maechling Web Services Workshop UNAVCO/IRIS Joint Workshop 8 June 2005. Outline. Discuss different approaches to distributed computing with examples from real life.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Distributed Computing Technologies – Selecting an Appropriate Approach' - guang


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
distributed computing technologies selecting an appropriate approach

Distributed Computing Technologies – Selecting an Appropriate Approach

Philip Maechling

Web Services Workshop

UNAVCO/IRIS Joint Workshop

8 June 2005

outline
Outline
  • Discuss different approaches to distributed computing with examples from real life.
  • Based largely on: Seismic Hazard Analysis Using Distributed Computing in the SCEC Community Modeling Environment : March/April 2005 Electronic Seismologist Column

UNAVCO/IRIS Web Services Workshop

a new computing model for scientific computing
A New Computing Model for Scientific Computing
  • Can we utilize a distributed, component-based computing model to do science?
  • What technologies are available?
  • What are the advantages/disadvantages for each?

UNAVCO/IRIS Web Services Workshop

a new computing model for scientific computing4
A New Computing Model for Scientific Computing
  • Premise is that there is no “one-best” approach that fits all Projects or needs (unfortunately).
  • Encourage Discussion and groups experiences with these technologies

UNAVCO/IRIS Web Services Workshop

a new computing model for scientific computing5
A New Computing Model for Scientific Computing

Program 1

Program 2

Program 3

Program 4

Program 5

USC

P1

P2

P3

P4

P5

IRIS

SDSC

SCEC

JPL

UNAVCO/IRIS Web Services Workshop

a new computing model for scientific computing6
A New Computing Model for Scientific Computing

UNAVCO/IRIS Web Services Workshop

why is this a hard problem
Why is this a hard problem ?
  • Multiple programming languages
  • Multiple hardware platforms
  • Multiple operating systems
  • Multiple data types and data formats
  • Reliability/Stability of components
  • Discovering what is available
  • Communications bandwidth and reliability
  • Practical issues of support, development, tools, infrastructure, funding etc.

UNAVCO/IRIS Web Services Workshop

characteristics of technologies that impact selection
Characteristics of Technologies that impact selection
  • Where does program run (Client Side or Server Side)
  • Input and output and output data types
  • How a components is called (API)
  • Support for Objects
  • Statefulness of components
  • Blocking versus non-blocking calls
  • Communication Protocol
  • Speed
  • Robustness
  • Scalability Number of Clients by a Server
  • Server Security
  • Client and Server Program languages
  • Peer to Peer between computers or Client Server Model

UNAVCO/IRIS Web Services Workshop

desirable characteristics of a solution
Desirable Characteristics of a Solution
  • Distributed
  • Secure
  • Multi-organizational
  • Multi-language
  • Loose coupling
  • High cohesion
  • Minimal modifications to existing codes
  • Minimal costs
  • Minimal training time
  • Standards-based

UNAVCO/IRIS Web Services Workshop

component characteristic
Component Characteristic
  • Stateful
    • A stateful component maintains information about previous calls.
  • Object Oriented
    • An object oriented component allows you to create an stateful instance of the component. It provides user defined interfaces to the component.

UNAVCO/IRIS Web Services Workshop

technologies not considered
Technologies Not Considered

Existing Distributed Computing technologies not consider here due to limited inroads into geophysics community:

  • Remote Procedure Calls (RPC)
  • DCOM
  • Enterprise Java Beans
  • .Net
  • Common Component Architecture (CCA)

UNAVCO/IRIS Web Services Workshop

client side techniques
Client Side Techniques

Example Client Side Technologies

  • Java Applets
  • JavaScript
  • Macromedia Flash
  • Active X

UNAVCO/IRIS Web Services Workshop

client side techniques13
Client Side Techniques
  • Java Applet Advantages
    • Download the program into your browser
    • Program runs on your computer
    • Rich User Interfaces
    • Reasonably Secure

UNAVCO/IRIS Web Services Workshop

client side techniques14
Client Side Techniques
  • Java Applet Disadvantages
    • Uses CPU on the client
    • Distribution of code only, not shared computing processing
    • Required JVM in browser on client
    • Security limitations on what applet can do (e.g. accessing files on local machine may be restricted)

UNAVCO/IRIS Web Services Workshop

considering using java applets when
Considering Using Java Applets When….
  • Want rich interface including graphics
  • Want users to use their own computer
  • Want secure run-time on users platform
  • Want to distribute new versions of code
  • Want platform independence

UNAVCO/IRIS Web Services Workshop

common distributed programs
Common Distributed Programs
  • Web Browsers
    • Variety of Client side and Server Side execution
    • Standards-based (W3C)
    • Great Interoperability for non-dynamic content
    • Interoperability issues typically on client side technologies (JavaScript, Flash etc)
    • Where’s the click stream

UNAVCO/IRIS Web Services Workshop

common gateway interface cgi scripts
Common Gateway Interface (CGI Scripts)

UNAVCO/IRIS Web Services Workshop

http based program calls
HTTP based Program calls
  • Parameters are passed as parameter_name=parameter_value pair during invocation of cgi-bin or servlet

Examples:

  • http://www.SOMEWHERE.org/cgi-bin/ice_cream.plx?flavor=mint
  • http://66.102.7.104/search?q=cache:AU7xpnWlL0wJ:pyre.third-bit.com/2004-fall/tomcat.ppt+History+of+Servlet+Containers&hl=en

UNAVCO/IRIS Web Services Workshop

cgi disadvantages
CGI Disadvantages
  • May overwhelm server
  • Security issues
  • Not stateful
  • Practical issue relating to web server technologies such as web server capacities and communications timeouts.

UNAVCO/IRIS Web Services Workshop

considering using cgi when
Considering Using CGI When….
  • Want minimal installation and operation
  • Small number of users
  • Want to use common programming/scripting languages (perl, php)
  • Dynamic web pages
  • Display data from database

UNAVCO/IRIS Web Services Workshop

java servlets
Java Servlets
  • Java-based server side technology
  • Adds memory and process management (improves scalability) through the user of a “servlet engine” or “servlet container”
  • Security and performance improvements

UNAVCO/IRIS Web Services Workshop

java servlet interface
Java Servlet Interface

UNAVCO/IRIS Web Services Workshop

servlet advantages
Servlet Advantages
  • Executable stays in memory once it is called
  • Container provides memory and process management
  • Added safety and security
  • Easy to add statefulness
  • Server side code is Java, so it’s platform independent.

UNAVCO/IRIS Web Services Workshop

servlet advantages24
Servlet Advantages
  • Executable stays in memory once it is called
  • Container provides memory and process management
  • Added safety and security
  • Easy to add statefulness

UNAVCO/IRIS Web Services Workshop

servlet disadvantages
Servlet Disadvantages
  • Not Object Oriented Interface
  • Not inherently Stateful
  • Limitations on input and output types
  • Practical issues with size of data in and out (e.g. web server time-outs)

UNAVCO/IRIS Web Services Workshop

considering using servlets when
Considering Using Servlets When….
  • Want higher performance from server
  • Want to protect server from being overwhelmed by calls
  • Want to build Dynamic web pages
  • Display data from database
  • Want platform independence on server side code
  • Want to work in Java including access to all the Java Libraries

UNAVCO/IRIS Web Services Workshop

web services
Web Services
  • Standards-based approach to distributed computing.
  • Follows Model of Web Browser/Web Server Technology
  • Establishes Exchange Format (XML), Communication Protocol (SOAP), and Interface Definition (WSDL)

UNAVCO/IRIS Web Services Workshop

web services interface
Web Services Interface

UNAVCO/IRIS Web Services Workshop

web services xml request response
Web Services XML Request/Response

UNAVCO/IRIS Web Services Workshop

web services advantages
Web Services Advantages
  • Could transform distributed computing like WWW has transformed information sharing
  • Standards-based
  • Uses standard ports
  • Interoperability between languages
  • Hardware independent

UNAVCO/IRIS Web Services Workshop

web services disadvantages
Web Services Disadvantages
  • Not Object Oriented Interface
  • Not Stateful
  • Limitations on input and output types
  • Trades performance for interoperability
  • Many standards
  • Large data transfers typically done out of band losing interoperability advantages

UNAVCO/IRIS Web Services Workshop

considering using web services when
Considering Using Web Services When….
  • Interoperability is more important performance
  • Want to interoperate between languages
  • Want standards based system
  • Want access to commercial tools and techniques

UNAVCO/IRIS Web Services Workshop

common object request broker architecture corba
Common Object Request Broker Architecture (CORBA)
  • CORBA is a specification for distributed object technology
    • Language independent (Supports C, C++, Fortran, Java, others)
    • Full Object Support
    • Robust communication Protocol
  • Stable, mature CORBA implementations are available including open source and real-time versions.

UNAVCO/IRIS Web Services Workshop

corba operation
CORBA Operation

UNAVCO/IRIS Web Services Workshop

corba operation35
CORBA Operation

UNAVCO/IRIS Web Services Workshop

corba advantages
CORBA Advantages
  • Object oriented, robust, well supported
  • Many features such as object discovery

UNAVCO/IRIS Web Services Workshop

corba disadvantages
CORBA Disadvantages
  • Fairly complex
  • May have more features than you need

UNAVCO/IRIS Web Services Workshop

corba pro cons
CORBA Pro/Cons

UNAVCO/IRIS Web Services Workshop

considering using corba when
Considering Using CORBA When….
  • Multi-language support
  • Very high reliability
  • Object oriented systems
  • Dynamic discovery of object and services

UNAVCO/IRIS Web Services Workshop

java remote method invocation java rmi
Java Remote Method Invocation (Java RMI)
  • Java RMI is distributed object technology developed to work with the Java Language
  • Comprehensive, Object-oriented, platform independent, robust, mature
  • Distributed without cost by Sun

UNAVCO/IRIS Web Services Workshop

java rmi architecture
Java RMI Architecture

UNAVCO/IRIS Web Services Workshop

java remote method invocation rmi interface
Java Remote Method Invocation (RMI Interface)

import java.rmi.Remote; import java.rmi.RemoteException;

public interface EUStats extends Remote

{

String getMainLanguages(String CountryName) throws RemoteException;

int getPopulation(String CountryName) throws RemoteException;

String getCapitalName(String CountryName) throws RemoteException;

}

UNAVCO/IRIS Web Services Workshop

java rmi disadvantages
Java RMI Disadvantages
  • Java RMI only supports Java
  • Proprietary protocol by single vendor
  • Requires RMI-lookup
  • Requires non-standard port

UNAVCO/IRIS Web Services Workshop

java rmi advantages
Java RMI Advantages
  • Full object support
  • Cross platform capabilities
  • Robust communications
  • Large objects
  • Security for client and servers
  • Distribution/updates of codes

UNAVCO/IRIS Web Services Workshop

rmi pros cons
RMI Pros/Cons

UNAVCO/IRIS Web Services Workshop

conclusions
Conclusions
  • Distributed computing allows sharing and re-use
  • Introduces uncertainties
  • Explore existing solutions before inventing your own.

UNAVCO/IRIS Web Services Workshop