A quick overview of Network communications A quick overview of Network communications Anthony Lomax Anthony Lomax Scientific Software Mouans-Sartoux, France Anthony Lomax Anthony Lomax Scientific Software Mouans-Sartoux, France
ftp: http: Java-RMI Corba SOAP … Distributed, Network-based software
networkInternetmessages FTP (File Transfer Protocol) HTTP (HyperText Transfer Protocol) Java-RMI (Remote Method Invocation) CORBA (Common Object Request Broker Architecture) SOAP (Simple Object Access Protocol) FTPHTTPJavaRMICORBASOAP… hardware dependent transmission protocol IP (Internetwork Protocol – message delivery) TCP (Transmission Control Protocol – management)
hardware dependent transmission protocol IP (Internetwork Protocol – message delivery) TCP (Transmission Control Protocol – management) FTPHTTPJavaRMICORBASOAP… FTP FTP commands data connection + simple, widely used x limited functionality (file transfer) + simple, widely used x limited functionality (file transfer) FTP (File Transfer Protocol) FTP server FTP client
hardware dependent transmission protocol IP (Internetwork Protocol – message delivery) TCP (Transmission Control Protocol – management) FTPHTTPJavaRMICORBASOAP… HTTP Request message: POST data HTTP Request message: GET cgi-bin script HTTP (HyperText Transfer Protocol) HTTP Request message: GET HTTP/1.0 HTTP Response message: HTTP/ OK Date: 22 Sep :18:59 GMT Server: Apache/1.0.0 Content-type: text/html Content-length: 1579 HTML document HTTP + simple & standard + formatted document display + secure x limited functionality x server overhead + simple & standard + formatted document display + secure x limited functionality x server overhead
hardware dependent transmission protocol IP (Internetwork Protocol – message delivery) TCP (Transmission Control Protocol – management) FTPHTTPJavaRMICORBASOAP… server client Java-RMI interface method invocation + relatively simple (~Java) + secure + low server overhead (uses client) + efficient, powerful, flexible + pure Java x pure Java + relatively simple (~Java) + secure + low server overhead (uses client) + efficient, powerful, flexible + pure Java x pure Java Java-RMI (Remote Method Invocation) JavaRMI HTTP
hardware dependent transmission protocol IP (Internetwork Protocol – message delivery) TCP (Transmission Control Protocol – management) FTPHTTPJavaRMICORBASOAP… servant (C,C++,Java,…) client (C,C++,Java,…) CORBA interfaces CORBA Object Request Broker (ORB) request-response + heterogeneous platforms/languages + use “legacy” programs + secure + low server overhead (uses client) + efficient, powerful, flexible x complexity x no direct FORTRAN support + heterogeneous platforms/languages + use “legacy” programs + secure + low server overhead (uses client) + efficient, powerful, flexible x complexity x no direct FORTRAN support CORBA (Common Object Request Broker Architecture)
hardware dependent transmission protocol IP (Internetwork Protocol – message delivery) TCP (Transmission Control Protocol – management) FTPHTTPJavaRMICORBASOAP… service (C,C++,Java,…) client (C,C++,Java,…) SOAP interfaces SOAP XML messages (HTTP) request-response HTTP SOAP + heterogeneous platforms/languages + use HTTP / XML + secure + low server overhead (uses client) + powerful, flexible + standardized, w/ registry services x complexity x poor efficiency (?) + heterogeneous platforms/languages + use HTTP / XML + secure + low server overhead (uses client) + powerful, flexible + standardized, w/ registry services x complexity x poor efficiency (?) SOAP Response message: HTTP/ OK Content-Type: text/xml; charset="utf-8" Content-Length: nnnn 6.7 SOAP Request message: POST /Magnitude HTTP/1.1 Host: orfeus.nl Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "Some-URI" SOAP (Simple Object Access Protocol)
A quick overview of Network communications References A quick overview of Network communications References General: Developer.com - O'Reilly Network - W3Schools - Connected: An Internet Encyclopaedia - HTTP: HTTP Made Really Easy - Java & JavaRMI: java.sun.com - CORBA: Object Management Group - Two papers on CORBA and FORTRAN SOAP soapware.org General: Developer.com - O'Reilly Network - W3Schools - Connected: An Internet Encyclopaedia - HTTP: HTTP Made Really Easy - Java & JavaRMI: java.sun.com - CORBA: Object Management Group - Two papers on CORBA and FORTRAN SOAP soapware.org Anthony Lomax Scientific Software, Mouans-Sartoux, France Anthony Lomax Scientific Software, Mouans-Sartoux, France