Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.

Slides:



Advertisements
Similar presentations
What is RMI? Remote Method Invocation –A true distributed computing application interface for Java, written to provide easy access to objects existing.
Advertisements

COM vs. CORBA.
Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins.
Building Applications using ASP.NET and C# / Session 1 / 1 of 21 Session 1.
Technical Architectures
Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (
Session 6 Server-side programming - ASP. An ASP page is an HTML page interspersed with server-side code. The.ASP extension instead of.HTM denotes server-side.
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
Using Visual Basic 6.0 to Create Web-Based Database Applications
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
INTERNET DATABASE Chapter 9. u Basics of Internet, Web, HTTP, HTML, URLs. u Advantages and disadvantages of Web as a database platform. u Approaches for.
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
Active X Microsoft’s Answer to Dynamic Content Reference: Using Active X by Brian Farrar QUE
Introduction to Web Interface Technology (CSE2030)
Introduction to Web Interface Technology (CSE2030)
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
WWW and Internet The Internet Creation of the Web Languages for document description Active web pages.
M.Sc. Course, Dept. of Informatics and Telecommunications, University of Athens S.Hadjiefthymiades “Web Application Servers” Basics on WAS WAS are necessary.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
The Client/Server Database Environment
Web-based Software Development - An introduction.
Server Side Scripting Norman White. Where do we do processing? Client side – Javascript (embed code in html) – Java applets (send java program to run.
Electronic Commerce Last Week
INTRODUCTION TO WEB DATABASE PROGRAMMING
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
Student Learning Environment on the World Wide Web l CGI-programming in Perl for the connection of databases over the Internet. l Web authoring using Frontpage.
Understanding the CORBA Model. What is CORBA?  The Common Object Request Broker Architecture (CORBA) allows distributed applications to interoperate.
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
Using Visual Basic 6.0 to Create Web-Based Database Applications
Chapter 3: Objects, Components, and the Web Textbook IT Architectures and Middleware, Second Edition Chris Britton and Peter Bye AIT 600 Jeff Schmitt September.
Introduction to Internet Programming (Web Based Application)
An program As a simple example of socket programming we can implement a program that sends to a remote site As a simple example of socket.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Other Topics RPC & Middleware.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Fundamentals of Database Chapter 7 Database Technologies.
第十四章 J2EE 入门 Introduction What is J2EE ?
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
Comparison of Web Services, RMI, CORBA, DCOM Usha, Lecturer MCA Department of Computer Science and Engineering.
1 Distributed Systems Distributed Objects & Remote Invocation II (CORBA VS DCOM) Dr. Sunny Jeong. With Thanks to.
2-1 WEB DATABSE INTERFACING Colorado Technical University IT420.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
3-Tier Client/Server Internet Example. TIER 1 - User interface and navigation Labeled Tier 1 in the following graphic, this layer comprises the entire.
CORBA Common Object Request Broker Architecture. Basic Architecture A distributed objects architecture. Logically, an object client makes method calls.
Presented By:- Sudipta Dhara Roll Table of Content Table of Content 1.Introduction 2.How it evolved 3.Need of Middleware 4.Middleware Basic 5.Categories.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
S imple O bject A ccess P rotocol Karthikeyan Chandrasekaran & Nandakumar Padmanabhan.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
7-1 Active Server and ADO Colorado Technical University IT420 Tim Peterson.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
A S P. Outline  The introduction of ASP  Why we choose ASP  How ASP works  Basic syntax rule of ASP  ASP’S object model  Limitations of ASP  Summary.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
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
Web-based Software Development - An introduction
The Object-Oriented Thought Process Chapter 13
Web Concepts Lesson 2 ITBS2203 E-Commerce for IT.
Distributed Computing
The Client/Server Database Environment
What is RMI? Remote Method Invocation
The Client/Server Database Environment
Presentation transcript:

Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some applications involving animations and graphics scripting languages are not powerful enough. Other technologies are used in such cases. Java Applets. COM objects.

Java Applets Can be considered as a software component that can be embedded into an HTML page. An applet cannot run independently. Needs an applet viewer or a web page to call it. A file compiled to byte code (.class extension) contains the applet on the server and is downloaded by the browser along with HTML page to run on the local machine Security Issues Java virtual machine Applet example.

Component Object Model (COM) Objects Microsoft technology Provides a specification and infrastructure for use of compiled ActiveX components. Each component is designed to provide specific functionality and can be reused many times. An ActiveX control is an object that supports a customizable, programmatic interface. Using the methods, events, and properties exposed by a control, Web authors can automate their HTML pages. Examples of ActiveX Controls include text boxes, command buttons, audio players, video players, stock tickers, and so on. You can develop ActiveX Controls using Microsoft Visual Basic, Microsoft Visual C++, and Java. Security Issues

ActiveX Data objects for Database connectivity ODBC (Open Database Connectivity) driver is a low level program that translates messages from an application into the syntax expected by a specific database. Each different type of database (access, Oracle, Db2, etc) requires a different ODBC driver. Applications that need to access databases have to be able to communicate with ODBC drivers. To simplify this communication Microsoft has developed some COM objects: Data Access Object (DAO) - does not support queries that change the content in some databases. Remote Data Object (RDO) -is full-featured but only available in Microsoft high-end programming environments. ActiveX Data Object (ADO) - is full featured and available in most Microsoft environments.

Database Application DAORDOADOAccessOracleDB2 Data Objects ODBC Drivers Microsoft Data Access Architecture using ODBC

Beyond DHTML DHTML along with CGI scripting works well for most applications but more complex applications need additional technologies. Consider a scenario: An HTML page has a form that asks the user to input mailing address. In order to make the page look dynamic we want the postal code field be filled automatically when the user fills in the street and city fields. Last Name: First Name: Street Address: City: Postal Code:

Beyond DHTML How to achieve the functionality described in previous slide? 1. Send form contents to server w/o postal code. Server has complete list of postal codes in the country. It finds the correct postal code and creates a new page with a form containing all data including postal code, sends it to browser where it is displayed. Additional effort, time, annoying wait for user. 2. When the first page is sent by the server the entire file containing complete list of postal codes in the country is also sent to the browser. Now browser can look into the list locally and update the relevant field in the form. Long download time, heavy network traffic. A more efficient solution is to use Distributed Objects.

Distributed Objects Remote procedure call (RPC) A process on client machine can execute a procedure that exists on the server and get the results back. Remote Method Invocation (RMI) Based on Java Remote Method Protocol (JRMP). An object on a client machine can invoke a method of an object that exists on the server machine and get results. Common Object Request Broker Architecture (CORBA) Is a specification from Object Management Group (OMG) governing the remote communication between objects. Implementations from many vendors. Interoperability. Uses Object Request Broker (ORB) that handles requests and responses from / to different objects.

Remote Procedure Call (RPC) A process on client machine can execute a procedure that exists on the server and get the results back.

RMI (Remote Method Invocation) Based on Java Remote Method Protocol (JRMP). An object on a client machine can invoke a method of an object that exists on the server machine and get results. Client ObjectServer Object Stubs Skeletons RMI Infrastructure JRMP/IIOP transport layer

Web Server with HTML pages Applet StubRMI Infrastructure Skeleton Remote Object Application Server Client Browser HTTP HTML Applet using RMI

CORBA(Common Object Request Broker Architecture) ClientObject Implementations Request ORB Is a specification from Object Management Group (OMG) governing the remote communication between objects. Implementations from many vendors. Interoperability. Uses Object Request Broker (ORB) that handles requests and responses from / to different objects.

Web Server with HTML pages Applet ORBInternet Inter-ORB Protocol (IIOP) ORB Remote Object Application Server Client Browser HTTP HTML Use of CORBA in Web Application

Distributed Component Object Model (DCOM) Microsoft’s solution to distributed objects is to use COM objects by suitably deploying and registering them. COM objects are assigned a special class identifier (CLSID). Clients wanting instances of a particular COM request them with CLSID from the operating system. When a client machine supports DCOM, it is possible to locate these objects on a remote server. A module called “Service control manager” SCM has the responsibility to locate the objects.

DCOM (Distributed Component Object Model) Client Server ClientProxy SCM StubComponent SCMDCOM network protocol