Dynamic HTML - a new buzzword at one time. Everyone is still talking about it. Everyone's looking forward to it. Most people think it is already here. Some software Vendors talk about it every business hour, every day, every week. Since the original posting in this FAQ back on 16 June, 1996 ( an era ago in WebTime ), both Microsoft and Netscape are slinging this "Dynamic HTML " phrase around enough to generate a new jet stream! Come on, this is not a new concept on the Web - so let's cut through the hype and look at what's truely there. What's it all about?
"Developments" in Dynamic HTML
Both Netscape, the Web Browser/Web Server software company, and Microsoft, the desktop software maker, now each offer a different spin on HTML compatible scripting interfaces to Java applets and Active X OLE objects referenced within HTML pages delivered by a Web Server to a Web Browser.
Netscape's scripting language, JavaScript, coordinates complex behaviors between Java applets and any Active X OLE objects that can understand JavaScript commands. An HTML page delivered to your Web Browser from a Web Server may contain both:
- A set of Java applets and Active X OLE object references
- A particular JavaScript
Your Web Browser first downloads the necessary Java applets and Active X OLE objects that understand Java messages. Next, it executes the included JavaScript. The included JavaScript sets up and coordinates messages between these objects on your PC inside the Web Browser. Effectively, a complex Client Program - put together out of HTML-accessible parts! - assembles and executes on your PC. The intent is to make your Web Browser look like a client desktop application for a server somewhere out on the Web.
Since it starts from Java, any Java-aware Web Browser that also understands Java and JavaScript, such as Netscape Navigator on UNIX, Windows 95, Apple Macintosh System 7, Windows 3.11, OS/2 and Windows NT - can execute the same HTML page.
The hope is to offload "mundane tasks" such as information gathering for queries and Web Server requests onto the Web Browser side to reduce network traffic and Web Server computational load. CGI scripts with Forms in HTML do the EXACT SAME THING - EXCEPT - you don't get the complete look of a PC client application!
Microsoft's scripting language, Visual Basic Script, coordinates complex behaviors between Active X OLE objects and any Java applets that can understand Visual Basic Script commands. An HTML page delivered to your Web Browser from a Web Server may contain both:
- A set of Active X OLE object and Java applet references
- A particular Visual Basic Script
Your Web Browser first downloads the necessary Active X OLE objects and Java applets that understand Active X messages. Next, it executes the included Visual Basic Script. The included Visual Basic Script sets up and coordinates messages between these objects on your PC inside the Web Browser. Effectively, a complex Client Program assembles and executes at your PC. The intent is to make your Web Browser look like a Visual Basic client desktop application - put together out of HTML-accessible parts! - for a server somewhere out on the Web.
Since it starts from Microsoft Visual Basic and Microsoft OLE, only Web Browser's on operating systems that support Active X, such as Windows 95, Windows NT and now Apple Macintosh System 7, can use HTML pages with Visual Basic Scripts.
The hope is to offload "mundane tasks" such as information gathering for queries and Web Server requests onto the Web Browser side to reduce network traffic and Web Server computational load. CGI scripts with Forms in HTML do the EXACT SAME THING - EXCEPT - you just don't get the complete look of a PC client application!
Both companies refer to the sum-total package of scripting interfaces coordinating Java applets and Active X OLE objects as "Dynamic HTML." Both companies forget that "Dynamic HTML" existed long before JavaScript and Visual Basic Script. That's the next part of our story...
Back in the Early Days...
Originally, Web Servers acted as file servers for Web Browsers. A Web Browser would request a file or a service by its Universal Resource Locator - URL. The items fetched by an HTTP or Web Server and sent back to a Web Browser looked the same every time they were fetched and viewed. Such unchanging, fixed files are called static.
Then Along Came CGI....
Along came CGI - the Common Gateway Interface Standard. Through CGI, Web Servers could now ask a CGI Script pinpointed by its URL to execute an action and return the results for transmission back to the requesting Web Browser. CGI Scripts could and even now do generate custom, on-the-fly HTML files. The World Wide Web got somewhat dynamic. These HTML files could be filled with the results of database queries, graphics generators, video camera pictures - in fact, ANYTHING that a stand-alone application could do and convert into a format to fit the CGI protocol.
Here is an example of CGI Script in action:
-
An interactive camera mounted on an
antenna in the Bay Area of California, USA
- Ask for an Internet-wide search on any subject you care to choose - just enter a word or phrase and submit the query:
And Then There Was Java...
Sun Microsystems and a man named James Gosling joined the Personal Digital Assistant action of the early 1990s. While Sun Microsystems never released a PDA (like the Apple Newton MessagePad or the General Magic/Sony Magic Link), James Gosling did develop a new, mobile interpreted computer language to run on PDAs and other consumer electronics devices. It got the name Java because the development team drank a lot of coffee. (No kidding.)
Java executes on a "virtual machine" - a simulated computer. The simulated computer is rewritten to run on different operating systems. Applications or programs written to run on the virtual machine don't care about what is running UNDERNEATH the virtual machine - they run exactly the SAME. The Java Virtual Machine "translates" or interprets the Java program into the actual machine language of the platform UNDERNEATH the virtual machine!
So here's the scoop on Java:
The same Java program will run on any machine that has the Java Virtual Machine already running on it. It can move from one operating system to another to another as long as it's interpreted by a Java virtual machine. If a Web Browser has the Java Virtual Machine built into it, then any HTML page it reads and parses with Java applications embedded in it can be DYNAMIC run in the Web Browser!
Sun Microsystems proceeded to produce a Web Browser with a Java Virtual Machine built into it and a set of Java Application ) Development tools - and they gave it away for free! (And they still are giving it away for free - if you want the Java Software Development Kit you can get it from Sun right now.)
A World-Wide Contest sponsored by Sun Microsystems lead to the development of a great many instant Java Applets ready for use in Web Pages today. They are all FREE! These small self-contained applications that you can drop into a Web Page bring animation and functionality beyond the capabilites of CGI scripts or Web Server custom APIs. Just write them into your existing HTML pages and watch the action!
And Then Came Active X...
Active X is Microsoft's answer to Dynamic HTML. Active X is a set of Microsoft's OLE controls designed for use with Internet protocols. Active X is a play on OCX - the 3 character extension of OLE objects used in Windows. Active X component objects behave just like today's drop-in component objects for Microsoft Visual Basic and Microsoft Visual C++. With so many years invested in the Component Object Model and Object Linking and Embedding (or OLE), it's no wonder that Microsoft repackaged its desktop client-server solution into Active X for the Internet. It didn't take as long as developing something new like Java and it's already familiar to those in the Windows world.
Active X needs today's complete infrastructure of OLE as found in the Microsoft Operating Systems, as implemented on the Apple Macintosh or as provided by the Microsoft Interent Explorer Web Browser to operate. The OLE infrastructure allows these Internet OCXs to operate in any Microsoft application that uses Microsoft OLE.
So here's the scoop on Active X:
The same Active X control will run on any machine that has the OLE supporting infrastructure already running on it. It can move from one operating system to another to another as long as it's supporting OLE. If a Web Browser has OLE support built into it, then any HTML page it reads and parses with Active X controls embedded in it can be DYNAMICLY run in the Web Browser!
If you know how to program in Visual C++ from Microsoft, you can download the Active X software development kit to incorporate the Active X component objects available today or to develop your own Active X component objects using the guidelines of traditional, old Object Linking and Embedding (OLE).
Copyright © 1997 HomeWorlds (TM) All Rights Reserved
If you have updated information about Dynamic HTML, please let us know!