Extend Your NT Web Server

Two years ago, World Wide Web pages that combined static hypertext and graphics looked pretty good, and we enthusiasts widely dispersed Hypertext Markup Language (HTML) documents made with these elements. But soon users are going to yawn at the thought of browsing such static Web sites. Many new technologies that promise to breathe dynamic capabilities into the Web are maturing, promising to forever change the face of the Internet. You will be able to turn your Web page into a fully functional multimedia presentation by integrating sophisticated 2D- and 3D-viewing environments with your embedded graphics and hypertext.

While Web programmers developed, enhanced, and deployed HTML across the Internet, basic elements of the graphics industry were undergoing revolutionary changes. Graphical presentation technology, multimedia development, and new 3D graphics standards, such as the Virtual Reality Modeling Language (VRML), began to intersect with HTML to offer major presentation enhancements to the Web.

System support for new graphics applications also broadened. At one time, most of these tools required proprietary engines for their operation. Now, sophisticated graphics capabilities are built right into network operating systems via standard application programming interfaces (APIs). Microsoft Windows NT 3.51 includes Silicon Graphics' OpenGL graphics capability, as well as Reality Labs' API and DirectDraw. These APIs let you develop and display high-quality 2D and 3D graphics directly from the Windows NT operating system.

At the same time, competition and other market factors have pushed the cost/performance envelope. Better, faster video accelerators and displays allow the majority of desktop PC users to create and view the powerful, dynamic images that these new, open graphics standards deliver. Your NT Server is designed to take full advantage of these advances.

Browser Extensions
HTML, which was originally defined by the researchers at CERN (the European Particle Physics Laboratory in Geneva, Switzerland), remains the basic vehicle to deliver information on the Web. HTML 1.0 was the first public manifestation of that standard, and we have been adding to it ever since. New formatting capability in HTML 2.0 gave us the flexibility to create more appealing and more responsive pages.

But the pace of standards development is too slow for many people. The phenomenal success of HTML and the Web have pushed the pace of Web development beyond the ability of standards bodies to keep up. The Navigator 1.1 browser, released by Netscape Communications in 1995, included extensions to the current standard, in the form of new HTML tags and modifications to existing standard tags. Later releases have continued to include this extension standard.

Netscape's resounding success in the browser market indicates that others might adopt its extensions. These extensions might not end up as part of a future "official" HTML standard, but Netscape isn't the only player trying to set Web standards. Two other industry players, Sun Microsystems and Microsoft, also have plans to extend the Web's capabilities. Both are sure to make a mark on future standards as well.

Sun Microsystems has introduced--or reintroduced--Java as an object-oriented, cross-platform, client/server programming language. Originally developed in 1990 for handheld Personal Digital Assistant (PDA) machines, which were never released to the marketplace, Java has found a new lease on life as a technology for use on the Web.

Java is both a compiled and interpreted language that extends the capabilities of client-side viewing environments, such as Web browsers. Java components include the source code, a compiler (javac), an interpretive runtime environment, and full-fledged applications and applets. Once you have compiled Java code into an architecture-neutral form, called bytecode, your server can deliver it across the Internet to a machine whose runtime environment executes the code and handles any system dependencies. Java enables you to embed small programs (called applets) into Web documents. They load into memory on a client machine and run right in the window of a Java-enabled browser. Although applets are referenced on Web pages using special HTML tags, just like sound files and static graphics, they are actually snippets of executable code that are launched from a Web browser.

TABLE 1: Internet Studio Tools, Environments, and Resources
Because Internet Studio is still in beta, resources available on the Internet are limited. The best places for you to gather information and resources are listed in the sites below:
Microsoft's primary Web location includes some useful information on Internet Studio
For a current list of NT-related Web sites:

Before Java's debut, clients who wanted to view animation on the Web had to configure at least one, and possibly several, external viewing applications for use with their Web browser. Many users found the complexity of all this configuration a little daunting, and many never even tried. But we could simplify things for the clients by using Java to create special cross-platform applications that load from a Web server right onto a client's machine. Such applications would eliminate the need for multiple-browser configurations.

How does all this look on your server? Java applets are dynamic, distributed, real-time client/server applications, they don't take up any overhead on the server side and they run thriftily on the client side (a positive legacy of their PDA roots). Better yet, Java-enabled Web pages aren't limited to static text content. You can update tables, charts, and fields "on the fly" and embed video segments, animation, audio, and even SQL statements on your Web pages when you use Java. If your clients have a Java-compliant browser, they can actually participate in the creation and presentation of Java-enabled pages.

Java's Appeal
Part of Java's appeal is its ability to run on multiple platforms without requiring you to recompile or recode applications. Often we develop cross-platform applications first for UNIX, then port them to Windows, and then later to the Mac. Because these adaptations add to development time, full release of an application is often delayed. If you use Java, however, you can write and deploy applications once and not have to rewrite them for specific platforms.

Java can make your life simpler in other ways, as well. After compilation, roughly 80% of the program will be in binary bytecode format that runs on multiple platforms as-is. The remaining 20% of the uncompiled code is interpreted within Java's runtime environment, implementations of which are tailored to a specific hardware platform. It is this relatively high level of portability makes Java particularly suitable for the Web, where multiple platforms are inescapable. Equally appealing are Java's syntax, expressions, and statements, which are almost identical to those of ANSI C++. This helps programmers who are familiar with C or C++ avoid a lengthy learning curve. Java also provides a multithreaded programming environment which contains features, such as synchronization, to make programming friendlier than it is in other multithreaded programming environments.

Java Tools
Java and HotJava are free if you use them for noncommercial purposes. The source code for the Java compiler, runtime interpreter, and HotJava browser are also free, although there are some restrictions. Make sure you check the licensing information (http://java.sun.com/) before you start using any of the Java components.

As with any new technology, Java's acceptance and deployment will depend on third-party adoption and support. One of the great advantages of Java is its C++ -like nature, which promises to attract programmer interest. But plenty of vendors have already announced support for Java. As of December, 1995, the following vendors have licensed or taken steps to work with Java technology:

  • Microsoft has signed a letter-of-intent to license Java technology and plans to work with Sun Microsystems to optimize Java for the Windows environment. Microsoft users can expect Java technology to be integrated into the Internet Explorer browser during 1996.
  • Netscape and Sun Microsystems intend to develop an open scripting language called JavaScript.
  • Silicon Graphics/Macromedia and Sun Microsystems plan to co-develop for Java multimedia APIs and file formats that will permit you to integrate 3D and interactivity into Web pages.
  • IBM has licensed Java technology and plans to port it to AIX, OS/2, and Windows 3.1.
  • Adobe Systems has licensed Java technology and plans to integrate it into its PageMill and SiteMill Web authoring and management tools. It also plans to enable Acrobat to support embedded applets.
  • Sybase plans to license Java technology for use with its databases and commercial tools.

Although Java is on its way to becoming a sound and accepted technology, it's still in a pre-beta state and there's much work ahead to liberate Java from its "hard-core programmers-only" image. Currently, novice developers can't jump in and start writing code (that's why Sun Microsystems and Netscape are collaborating on JavaScript). As more third-party vendors jump onto the Java bandwagon, we should see a reduction in the level of complexity.

Microsoft Internet Studio
Also pushing the envelope of Web capability is Microsoft Internet Studio, Microsoft's Web publishing system. It includes an authoring system, a Web server, and a browser. Internet Studio is an object-oriented environment, and it enjoys a special relationship with and use of Microsoft's Object Linking and Embedding (OLE), just as Microsoft Office does. Currently, its beta releases can be used only on Microsoft's Network, with Microsoft's Internet Information Server (née Gibraltar). The viewer can handle only those pages that were created with Internet Studio. Although Internet Studio doesn't exactly comply with HTML standards, it isn't a new development language. It's a full-fledged Web publishing environment, and Microsoft plans to use it to create a new standard for Web publishing. Eventually, Internet Studio will operate directly on the Internet and be able to read ordinary HTML documents, and thus interact with a full range of Web servers and services.

Internet Studio uses a Visual Basic (VB)-style language, which differs from the C-based Java language. To develop a Web page with Internet Studio, you start with a blank page on which you create text, graphics, animation, and sound elements with familiar desktop tools, such as Macromedia's Freehand or Microsoft Office. You can then integrate your creations into the Internet Studio environment for Web access--all without any HTML coding. Because Internet Studio is VB-oriented, it might have a wider appeal than Java does. Internet Studio's tight integration with NT promises to make it uniquely well-suited for this platform, whether you want to use it for in-house "intranets" or to access the Internet at large. (Consult Microsoft's Web site for more information.)

Blackbird Language
The Internet Studio uses its own proprietary format, called the Blackbird Markup Language (BML). It's similar to HTML, but it has additions to make it OLE 2.0-aware. Microsoft has already released BML's current specifications and plans to continue this practice in later releases. Even though Microsoft has announced its intention to license Java, some industry pundits contend that Microsoft is vying to make OLE a standard to compete with Java for dynamic client-side capability. Others believe the two will be married within Microsoft's newly minted Internet architecture.

What kind of development environment does this architecture currently support? Besides being able to leverage the convenience and capability of the Microsoft Office products, you can use any application that complies with the OLE document standard to create content for Internet Studio. Support exists for a variety of graphics files and formats, including .BMP, .TGA, .TIF, .PCX, .WMF, .GIF, .DIB, and .JPG. Special controls let you include Macromedia Shockwave (see subsequent section) content on your pages and display and view forms and file formats such as Acrobat Portable Data Format (PDF) files. Microsoft also has licensed InterVista's VRML environment and Caligari 3D development tools for inclusion into Internet Studio. For NT-based developers, it's the closest thing to a state-of-the-art Web production facility available today, even if it requires the use of numerous third-party components.

TABLE 2: 3D Software Tools & Resources

If you want to place yourself in a 3D pilot's seat, visit these Internet sites for a VRML viewer (or information about VRML):

InterVista's WorldView: a VRML viewer for Windows 3.11, Windows NT, and Windows 95
Silicon Graphics' WebSpace: currently supports only high-end Silicon Graphics workstations, but expect a Windows version of WebSpace soon
http://www.sgi.com/Products /WebFORCE/WebSpace/
NeTpower's VRML Studio: a 3D viewer and VRML development toolset
Vream's Web Interactive Reality Layer (WIRL): a 3D viewer
The VRML Repository site at the San Diego Supercomputer Center provides good links to VRML-based software
The VRML FAQs contain nearly everything you want to know about VRML
Chat Worlds offers the same 3D Web technology environment used by Steven Spielberg's Starbright Pediatric Network for hospitalized children
The VRML Repository is an impartial resource for the distribution of information pertaining to VRML
Newsgroups and mailing lists pertaining to VRML
A great site with links to other VRML locations
The VRML 1.0 Specification

Virtual Worlds
Born at the first Web conference (1994) in Geneva, Switzerland, VRML promises to provide an intuitive, interactive way to navigate the Internet. Although HTML may be properly credited with the current growth of the Web, HTML can render only 2D images and text; plus it requires a variety of "helper applications" to support multimedia. VRML could create a new interactive paradigm for Web usage. Its developers fully intend for VRML to become a Web standard for graphical presentation.

VRML's capabilities let you build the 3D objects and scenes to create simulated multi-user interactive worlds. Web browsers that are capable of launching VRML viewers permit users to navigate and participate in these worlds on the Internet. If you aren't sure what virtual reality means to you or your business, imagine your clients being able to sit at a computer and interact fully with your products, your information server, and other Web-surfers. If they find a product that interests them, they can rotate and view it as if it were being manipulated manually. Although VRML's capabilities aren't quite that advanced yet (the current 1.0 VRML standard doesn't support interaction), you'll eventually be able to interact with people who are visiting those virtual worlds. Today's VRML specification for virtual worlds is limited to scalable objects in which details become fine-tuned as a client "approaches" them. The specification allows the objects to have links to other VRML worlds or HTML documents. Future versions of VRML will permit clients to interact in real-time and will include motion physics and embedded animation. (For more information on VRML tools and specifications, visit the Web sites listed in table 2.)

Easy Animation
Although VRML holds promise for the future of the Web, currently available animation software and hardware offer plenty of options. The software and hardware you'd use to create your animation depends on your scope. To find out more about animation in general, check out the Animation frequently asked-questions (FAQ) site at http://www.cis.ohio-state.edu/hypertext/faq/usenet/animation-faq/faq.html, or go to the sites listed in table 3.

So that you can leverage your multimedia presentations, including animation, for use on your web page, Macromedia has introduced a new Web browser extension, Shockwave for Director. With more than 250,000 practicing developers, Macromedia's Director is already widely used in the multimedia publishing community, particularly for creating CD-ROM titles. Director 4.0 for Windows and Macintosh is a popular tool for combining text, animation, sound, video, graphics, and interactive media into seamless production units. Director gives you control over text-sequencing and external hardware components, such as videodiscs, VCRs, and CD-ROM players. With Director, you also can import file formats from most Windows and Macintosh applications for use in a presentation. Director's robust qualities bring life to the endless progression of static text pages in presentations.

Macromedia's Shockwave works with your client's Web browser: It ports the multimedia presentations you created in Director to the Web environment and plays them back within Web documents. Shockwave's processor for Director files, Afterburner, compresses Director presentations by as much as 60% while optimizing them for downloading from Internet servers. Clients with Shockwave-enabled browsers can view an entire Director presentation in the time it now takes to download a few static GIF files.

Gateway Technology
Access to a corporation's database is the key to the development of many important interactive Web business-applications. Managing, publishing, and providing secured access to that information is at the heart of business computing. With a Web server that is linked to a relational database, users can access information through a variety of views defined at runtime.

Most of us use general-purpose development environments, such as Sybase's PowerBuilder, along with proprietary toolsets from vendors such as Oracle, Informix, and Ingres, to create front-end applications to query these databases. We also can use a variety of other methods and products to create the critical links between data and the Web. The most common link is the Common Gateway Interface (CGI), which is a standard for interfacing Web servers with external applications on information servers. Clients use their Web browsers to invoke CGI programs, but CGI programs run on a server and reside in a special directory on the server (usually ".../cgi-bin"). You can write CGI programs in any language that the server system can execute, such as C, C++, TCL, or Perl. If you use a full-blown programming language to create a CGI, obviously you must compile the program to create an executable file before it can run. But scripts, written in Perl or TCL, must merely reside in the appropriate directory. For this reason, most of us prefer to write scripts instead of full-blown programs: Scripts are easier to debug, modify, and maintain than are typical front-end applications.

Connectivity Products
Although custom CGI scripts and applications are viable options for Web-based database access, there are several products that can do the job for you. For instance, Allaire's Cold Fusion uses 32-bit Open Database Connectivity (ODBC) drivers to communicate with a variety of relational database systems in the NT environment. Cold Fusion uses some static CGI elements to provide database access but lets clients create custom queries. Leading database engine suppliers, such as Oracle and Sybase, also have tailored tools for the Web environment. Oracle's InterOffice Server is a new breed of enterprise server that integrates Web server capability, multimedia, messaging, text, and a database server into one product. Sybase has deployed its Sybase web.sql, a product that provides a high-speed link between Web servers and Sybase database servers. Sybase also is integrating support for Java into all of its Internet products.

TABLE 3: Macromedia Software Tools & Resources

Netscape Communications plans to bundle Macromedia's Director into its browser (Navigator), which should lend further credence to its success on the Web. The following sites provide information and pointers to animation and multimedia software:

Macromedia's home page, where you can find information about Director and Shockwave
Macromedia's Cool List page of links to other multimedia pages on the Internet
The Berkeley Multimedia Research Center (BMRC) at the University of California, Berkeley
A good site with lots of multimedia information
National Multimedia Association of America's page

These products have turned traditional proprietary database engines into powerful Web tools. Check out the DB Web site at http://dweb.csie.ncu.edu.tw, or related sites:

  • Cold Fusion: http://www.coldfusion.com/cfusion
  • Oracle: http://www.oracle.com/info/products/bandwgon
  • Sybase: http://www.sybase.com/www/Press
  • CGI: http://hoohoo.ncsa.uiuc.edu/cgi/intro.html

Dynamic Web
Animation, 3D presentation, and dynamic Web authoring and publishing are already making the Internet more palatable for consumers of the television generation. This generation has grown used to marketing presentations that "jump out and grab" its attention. The Web industry is sure to follow this track, where nothing short of a spectacular presentation will do. New Web products must promise to add impact to data presentations and to increase the scope and reach of the data that the Web can deliver.

Today, these innovations are mostly experimental, or at best they are still in the very early stages of deployment. But as the Web matures, you can expect these innovations to mature apace. Advances in hardware and software are destined to give the Web the kind of interactivity and user involvement that users just can't get from television. Besides, television was never intended to include its viewers.

Cold Fusion
Allaire * 612-831-1808
Web: http://www.allaire.com
Macromedia * 800-945-4061
Web: http://www.macromedia.com
Macromedia * 800-945-4061
Web: http://www.macromedia.com
Internet Information Server
Microsoft * 206-882-8080
Web: http://www.microsoft.com
Internet Studio
Microsoft * 206-882-8080
Web: http://www.microsoft.com
Interoffice Server
Oracle * 800-633-0596
Web: http://www.oracle.com
Sun Microsystems * 800-821-4643
Web: http://www.sun.com
Sybase * 800-792-2731
Web: http://www.sybase.com
Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.