The Object-Oriented Thought Process Chapter 14

Slides:



Advertisements
Similar presentations
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Advertisements

RPC Robert Grimm New York University Remote Procedure Calls.
Common Gateway Interface (CGI). CGI is a protocol: CGI is not a programming language CGI is a protocol for the exchange of information between between.
1 L54 Networking (3). 2 OBJECTIVES In this chapter you will learn:  To understand Java networking with URLs, sockets and datagrams.  To implement Java.
1 Advanced Programming Topics - II Objectives:  Background  Remoting  Types of remoting  Marshalling  Farmatters  Channels.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
CS490T Advanced Tablet Platform Applications Network Programming Evolution.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved L22 (Chapter 25) Networking.
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 1 Let’s get started. Let’s start by selecting an architecture from among.
ASP.NET Programming with C# and SQL Server First Edition
TENA Test and Training Enabling Architecture. TENA TENA is used in range environments, often in the L portion of LVC Slightly different emphasis; small.
3D Object Retrieval Client-Server Project
Client-server interactions in Mobile Applications.
Networking with Java CSc 335 Object-Oriented Programming and Design Spring 2009.
CEG3185 Tutorial 4 Prepared by Zhenxia Zhang Revised by Jiying Zhao (2015w)
INTRODUCTION TO WEB DATABASE PROGRAMMING
Jozef Goetz, Application Layer PART VI Jozef Goetz, Position of application layer The application layer enables the user, whether human.
Web Server Administration Web Services XML SOAP. Overview What are web services and what do they do? What is XML? What is SOAP? How are they all connected?
Outline Overview Video Format Conversion Connection with An authentication Streaming media Transferring media.
REVIEW On Friday we explored Client-Server Applications with Sockets. Servers must create a ServerSocket object on a specific Port #. They then can wait.
1 Cisco Unified Application Environment Developers Conference 2008© 2008 Cisco Systems, Inc. All rights reserved.Cisco Public Introduction to Etch Scott.
Running EntireX Broker. The basic started task which must be available on OS/390 is EntireX Broker. EntireX Broker.
© Lethbridge/Laganière 2005 Chap. 3: Basing Development on Reusable Technology The Client-Server Architecture A distributed system is a system in.
A Distributive Server Alberto Pareja-Lecaros. Introduction Uses of distributive computing - High powered applications - Ever-expanding server so there’s.
Sockets Sockets A socket is an object that encapsulates a TCP/IP connection There is a socket on both ends of a connection, the client side and the server.
The Alternative Larry Moore. 5 Nodes and Variant Input File Sizes Hadoop Alternative.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Java Sockets Tutorial Rahul Malik Nov 12, 2005.
Implementation of EIDE Gateway using ACES Callouts WECC DEWG EIDE Training.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Test Enabled and Training Architecture (TENA) Don McGregor Research Associate MOVES Institute
Netprog: TELNET1 The TELNET Protocol Reference: RFC 854.
Prepared by Dr. Jiying Zhao University of Ottawa Canada.
Web Service Definition Language. Web Services: WSDL2 Web Service Definition Language ( WSDL ) What is a web service? [ F. Leymann 2003 ] A piece of code.
FlowLevel Client, server & elements monitoring and controlling system Message Include End Dial Start.
Project Title: Establishing communication between the server and Envirobat using TCP/IP Presented by Apourva.P.
Server-side http General form of http response/request GET request method POST request method Responses Servlet support.
Serial Communication RS-232. In order to make two devices communicate, whether they are desktop computers, microcontrollers, or any other form of integrated.
The process of establishing a connection between a client and a server is called as Client – Server communication.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 22 World Wide Web and HTTP.
Liang, Introduction to Java Programming, Ninth Edition, (c) 2013 Pearson Education, Inc. All rights reserved. 1 Chapter 33 Networking.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
Java Distributed Computing
Java Web Services Orca Knowledge Center – Web Service key concepts.
IRMIS at the CLS E. Matias Canadian Light Source November 23, 2017
Jim Fawcett CSE775 – Distributed Objects Spring 2003
The Object-Oriented Thought Process Chapter 13
Object-Orientated Analysis, Design and Programming
Unit 2 Technology Systems
WWW and HTTP King Fahd University of Petroleum & Minerals
Java Distributed Computing
IS444: Modern tools for applications development
Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Beyond HTTP Up to this point we have been dealing with software tools that run on browsers and communicate to a server that generates files that can be.
IS444: Modern tools for applications development
Client server programming
Web Server Administration
The Object-Oriented Thought Process Chapter 12
The Object-Oriented Thought Process Chapter 05
Remote Procedure Call Hank Levy 1.
Implementation of EIDE Gateway using ACES Callouts
Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
An Introduction to Internetworking
Remote Procedure Call Hank Levy 1.
Remote Procedure Call Hank Levy 1.
Jim Fawcett CSE791 – Distributed Objects Spring 2002
Message Passing Systems Version 2
Enterprise Web Services
Thread per client and Java NIO
Message Passing Systems
Presentation transcript:

The Object-Oriented Thought Process Chapter 14 Objects and Client/Server Applications

Client/Server Approaches As we have seen in several of the previous chapters, XML has had a major impact on the development technologies used today. A distributed object model can either be build on a proprietary system or use a nonproprietary approach based on technologies like SOAP/ XML. The same can be said of a client/server model. An application can be built solely on a proprietary system or on a design using an XML.

Proprietary Approach (Java) In this design, the client creates an object and then sends it to the server. The server creates a reference to the object to access it. The server then may update the object’s attributes and send it back to the client. The client can then process and use the object.

Serialized Object Code The object is sent between the client and server. Objects are serialized so they can be marshalled between the client and server. It is important to note that the object is serialized in a proprietary (in this case Java) binary format.

Client Code The client code uses the TextMessage class to create an object and start it on a journey to the server and back. The client must perform the following tasks: Get the user information. Create an object. Set the attributes. Create a socket connection. Create the output streams. Write the object. Close the streams.

Server Code On the other side of the wire, the server code performs the following tasks: Create an object reference. Listen to the virtual port 11111. Wait for a client to connect. Create the Input/Output streams. Read the TextMessage object. Print the message.

Nonproprietary Approach The previous example was handled in a proprietary manner. To create a nonproprietary approach, we can utilize XML technology just like we did with data persistence and distributed object. Using the XML approach allows us to send the objects back and forth between applications written in various languages and, theoretically, between various platforms.

Object Definition Code When creating an XML version of the CheckingAccount class, we can immediately see, by inspecting the code, that the XML definition of the object is embedded directly in the class itself.

Object Definition Code In .NET examples (C# and VB), the class is created around the XML definitions. This approach can be accomplished with Java as well. In fact, by using the XML approach, we can use whatever language or platform we want interchangeably. That is the beauty of the nonproprietary approach.

Client Code For this example, the client performs the following tasks: Create the checkingAccount object. Create the socket. Serialize the object to XML. Create the stream. Serialize the object to the stream. Close the resources. Close the streams.

Server Code In this case we use a loop (in fact, a couple of loops) to implement this version of the server. Again, we can let the code comments provide the flow; however, the server provides the following functions: Create the checkingAccount object references. Connect to the socket and listen. Setup the input stream. Create the stream. Read the bytes off the stream. Serialize the object to the stream. Close everything down.