Learning Center
Plans & pricing Sign in
Sign Out



									ActiveX and The Web
Architectural & Technical Overview

                 Research Presentation for CS616
                 By Hai Huang
                 April, 2001

   What is ActiveX?
   Elements of ActiveX
    COM/DCOM, Controls, Java Applets,
    Documents,    Scripting
   ActiveX and Internet Explorer
    Building the browser from reusable components
1.   ActiveX is a marketing name for a set of technologies
     and services, all based on the Component Object Model
2.   ActiveX is a technology built on the COM that allows the
     developer to create objects or controls that can be used to
     "activate" content on the World Wide Web.
3.   ActiveX enable software components to interact with one
     another, regardless of the language in which the
     components were created.
4.   Many popular Web sites contain ActiveX controls to
     provide user interface objects such as list boxes and
    ActiveX Bridges the “Islands”
Makes it easy to integrate and reuse any component

          Document               JavaScript™

           VBScript              Non-HTML
                       ActiveX   Document
        Motivation For ActiveX
 Bring Component-based Development to the Internet

 Software Developers - want
  to easily create, reuse and
  integrate software components     Developers

 Web Producers - want to build
  rich, engaging Web sites            Web
  quickly and easily

 End Users - want an intriguing,
                                    End Users
  exciting experience
    Component-based Web Development

ActiveX Controls              Editing and               High Impact
                              Layout Tools                Content
 Pre-fabricated components    Content creation
 Packaged by programmers                                Entertainment
                               Visual content layout
 Components for animation,                              Commerce
                               Integrated scripting
   video, sound, 3D, etc.                                Information
                               One button publishing
 Include visual and                                       gathering
                               Content management
   design-time behavior
User Experience: How It Works

                          ActiveX Control
                          or Java applet
                          download            HTTP
  HTML content                                server
 (text and images)               HTTP
ActiveX Control
or Java applet
  ActiveX Script                        COM objects or
                                        ActiveX Controls
                     COM objects or
                     ActiveX Controls
           Elements Of ActiveX
Web Pages, Documents, and Applications/Containers

   Visual Basic, Scripting Edition, JScript, Tck/Tk, etc.

                 Controls and Applets
         C++, Delphi®, Java, Visual Basic®, etc.

              Components and Services
 URLs, hyperlinking, browser frame, HTML, Java VM, etc.
           Component Object Model (COM)
             Standard component packaging

Windows®              Macintosh®                   UNIX®

                   Distributed COM
            Internet/distributed computing
 COM is Microsoft's framework for developing and supporting
  program component objects.
 COM is aimed at providing similar capabilities to those defined
  in CORBA, a framework for the interoperation of distributed
  objects in a network that is supported by other major
  companies in the computer industry.
 Whereas Microsoft's OLE provides services for the compound
  document that users see on their display, COM provides the
  underlying services of interface negotiation, life cycle
  management, licensing, and event services
 COM includes COM+, DCOM, ActiveX interfaces and
  programming tools.
    The COM Architecture
    A scaleable programming model
    In the same
     Fast, direct
     function calls

    On the same               Client Process         Server Process

                          Client                                       Component
     Fast,   secure
   Across machines            Client Machine         Server Machine

     Secure,  reliable
                          Client                DCE
     and flexible DCE-                COM RPC COM                      Component

     RPC based DCOM
Lets ActiveX components run anywhere
   Client                  Server
Object running
  on client
                       Remote object on

                         any server

Object running
  on client
                 COM Runtime Architecture

                        Pluggable Transports

     Client Machine                                          Server Machine

                                    TCP, UDP
                      COM Runtime

                                               COM Runtime
COM                                 SPX,IPX
            Proxy                   Net BUI                         Component
             COM Runtime Architecture
                    Pluggable Security Providers

     Client Machine                                             Server Machine
                      COM Runtime

                                                  COM Runtime
Client                              SSL, Certs.
            Proxy                                                      Component
                                    NT Kerberos

   What Are ActiveX Controls?
 Controls are components that can be manipulated
  visually by GUI development tools

    Distinction between design-time and run-time
    user interface

 Code that makes the Web come alive

 Programmable by other components and scripts
                     ActiveX control
   ActiveX control can be created in any programming language that
    recognizes Microsoft's Component Object Model (COM).
   ActiveX control is a component or self-contained program package
    that can be created and reused by many applications in the same
    computer or in a distributed network (DCOM). In implementation, an
    it is a Dynamic Link Library (DLL) module.
   ActiveX control runs in a container, an application program that uses
    the COM program interfaces. This re-useable component approach to
    application development reduces development time and improves
    program capability and quality.
   Windows 95,98/NT application development programs such as
    Powerbuilder and Microsoft Access take advantage of ActiveX
   An ActiveX control is a user interface element created using ActiveX
    technology. ActiveX controls are small, fast, and powerful, and make
    it easy to integrate and reuse software components.
           ActiveX Control Pad
   Microsoft® Internet Explorer 3.x and ActiveX™
    technologies provide a smart, compelling Web
    development platform: Microsoft ActiveX Control Pad.
   The ActiveX Control Pad is an authoring tool that lets you
    add ActiveX controls and ActiveX scripting ( VBScript or
    JavaScript ) to your HTML pages with point and click
   Using the ActiveX Control Pad, you can easily author
    pages that include advanced layout and multimedia
    features--such as exact object placement, object layering,
    and transparency effects.
    What the ActiveX Control Pad Does
   With the ActiveX Control Pad, you can create interactive, multimedia Web sites and applications that
    go beyond the capabilities of standard HTML. You can create Web pages that combine HTML code,
    ActiveX controls, HTML Layouts, and VBScript or JavaScript.
   The ActiveX Control Pad uses an HTML file as the master container for each Web page you create.
    You can write and edit HTML directly using the HTML Source Editor.
   You can add a single ActiveX control, such as a TextBox or a ScrollBar, onto an HTML page using
    the ActiveX Control Editor. The ActiveX Control Editor lets you set properties for the control, then
    places an <OBJECT> tag into HTML at the insertion point.
   The ActiveX Control Pad introduces the concept of the HTML Layout to Web design. An HTML
    Layout is a WYSIWYG drawing board to which you can add multiple controls. You can draw
    controls in the precise sizes and locations you want, group and align them, and even put one control
    on top of another.
   The ActiveX Control Pad saves each HTML Layout in a file format with an .alx extension. You
    insert the HTML Layout into HTML, which incorporates the HTML Layout at run time. You can use
    multiple HTML Layouts on a single Web page.
   Using the Script Wizard, you can assign events and actions to each of the controls you’ve added. You
    can also create custom scripts in VBScript or JavaScript. The Script Wizard then inserts the
    appropriate <SCRIPT> tag into HTML.
   The result for each Web page is a single HTML file that, at run time, can display all of the elements
    described above.
    Mapping Controls To HTML
     Use the W3C <OBJECT> tag
        <EMBED> also supported for plug-ins
     ID = name used by scripting language
     CLASSID=Globally unique identifier for the
      ActiveX Control
     CODEBASE = Control to download
     <PARAM> = Properties of the Control
ALIGN=CENTER CLASSID="clsid:99B42120-6EC7-11CF-A6C7-
00AA00A47DD2" WIDTH=200 HEIGHT=200 ID=MyObject
<PARAM NAME="ScrollStyleX" VALUE="Circular">
       ActiveX and Java
             What is Java?
   Programming language
   Virtual machine/Byte codes

Java Development            Java
      Tool                 Applet

                      Internet Browser

                       Machine (VM)
    ActiveX Complements Java
 ActiveX and Java DO NOT COMPETE!
 ActiveX IS a set of integration technologies
    – Every Java object IS an ActiveX object!
   ActiveX is NOT
    – A language
    – A platform
    – An operating system
    How Does Java Fit With ActiveX?
   Java VM is an ActiveX component
    – Run Java applets in any application, not just
   Java component is an ActiveX component
   Automatic integration of Java applets with other
    languages and scripts
    – Lets Java applets talk to other Java applets
    – Lets Java applets talk to ActiveX components
    – Gives Java applets access to all PC functionality
 How Does Java Fit With ActiveX?

(C++, VB, etc.)                              Java
                      invoke methods        applet
                                       ActiveX Java VM
(VBScript, JScript,
    Microsoft’s Java Commitment
   Microsoft is hard core about Java the language
    – Reference Java VM for Windows
    – Fastest Just-in-Time Java Compiler
    – Visual J++ development tool
    – Java support on the server
   Windows is the best execution environment for Java
    – Fastest safest, most functional
   Microsoft will compete with Java the operating
What Are ActiveX Documents?

 Lets users view and edit non-HTML
  documents through the browser

 ActiveX Documents
   Use the entire client area
   Provides printing support
   Menu merging
   Integrates existing documents into browser or
   any other application
      What Is ActiveX Scripting?
   Mechanism for rapid “wiring” together of diverse set
    of components
   Supports any scripting language - VBScript, JScript,
    Perl, PowerScript, Tck/Tk, etc.
   Scripting languages are the most broadly accessible
    development tools
   Scripting plus HTML is the fastest and easiest cross
    platform solution
   Internet Explorer 3.0 ships with VBScript, JScript
 Scripting: A Simple Solution
 Pioneered by Visual Basic
  Objects expose events for the purpose of
   coordinating their activity with the rest of the
  Script code can be attached to an object’s
   events to customize behavior - this is

                        Sub Button_Click
Button    Click            MsgBox “Hello world”
Object    Event         End Sub
     Architecture Overview
                    ActiveX documents
                   Internet Explorer
                    Internet Explorer
                    Windows Shell controls
                           VRML        HTML
                    Office Binder
                          RealAudio MPEG
                              ActiveX scripting
                             Visual Basic
                            Visual Basic REXX
                           Shockwave ODBC
                             JavaScript    PERL

Services   URL resolution
                                           Code download
            HTTP, FTP                       and security
 ActiveX is the first and only component
  technology to achieve commercial success
 Today’s thriving ActiveX software
  component industry makes it quick and easy
  to build great web sites
 Componentized architecture is not just the
  future; it is here today with ActiveX

To top