Top Banner
Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web ActiveX and The Web Architectural & Technical Overview Architectural & Technical Overview
28

Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web Architectural & Technical Overview.

Dec 20, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web Architectural & Technical Overview.

Research Presentation for CS616By Hai HuangApril, 2001

ActiveX and The WebActiveX and The WebArchitectural & Technical OverviewArchitectural & Technical Overview

Page 2: Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web Architectural & Technical Overview.

What is ActiveX?

Elements of ActiveX

COM/DCOM, Controls, Java Applets,

Documents, Scripting

ActiveX and Internet Explorer

Building the browser from reusable components

OutlineOutline

Page 3: Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web Architectural & Technical Overview.

ActiveXActiveX

1. ActiveX is a marketing name for a set of technologies and services, all based on the Component Object Model (COM).

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 buttons.

Page 4: Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web Architectural & Technical Overview.

JavaApplet

JavaApplet

JavaScript™JavaScript™

VBScriptVBScriptActiveXControl

ActiveXControl

HTMLDocument

HTMLDocument

Non-HTMLDocument

Non-HTMLDocument

ActiveX Bridges the “Islands”ActiveX Bridges the “Islands” Makes it easy to integrate and reuse any componentMakes it easy to integrate and reuse any component

Page 5: Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web Architectural & Technical Overview.

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

Web Producers - want to build rich, engaging Web sites quickly and easily End Users - want an intriguing, exciting experience

DevelopersDevelopers

WebWebProducersProducers

End UsersEnd Users

Motivation For ActiveXMotivation For ActiveXBring Component-based Development to the InternetBring Component-based Development to the Internet

Page 6: Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web Architectural & Technical Overview.

Component-based Web Development

Editing and Editing and Layout ToolsLayout Tools Content creationContent creation Visual content layoutVisual content layout Integrated scriptingIntegrated scripting One button publishingOne button publishing Content managementContent management

ActiveX ControlsActiveX Controls

Pre-fabricated componentsPre-fabricated components Packaged by programmersPackaged by programmers Components for animation, Components for animation, video, sound, 3D, etc. video, sound, 3D, etc. Include visual andInclude visual and design-time behavior design-time behavior

High Impact High Impact ContentContent

EntertainmentEntertainment CommerceCommerce Information Information gathering gathering

Page 7: Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web Architectural & Technical Overview.

HTML contentHTML content(text and images)(text and images)

HTTP HTTP serverserver

HTTPHTTP

ActiveX Control ActiveX Control or Java applet or Java applet downloaddownload

ActiveX Control ActiveX Control or Java appletor Java applet

COM objects or COM objects or ActiveX ControlsActiveX Controls

(D)COM(D)COM

COM objects or COM objects or ActiveX ControlsActiveX Controls

ActiveX ScriptActiveX Script

User Experience: How It WorksUser Experience: How It Works

Page 8: Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web Architectural & Technical Overview.

Component Object Model (COM)Component Object Model (COM)Standard component packagingStandard component packaging

Windows®Windows® UNIX®UNIX®Macintosh®Macintosh®

Distributed COMDistributed COMInternet/distributed computingInternet/distributed computing

Components and ServicesComponents and ServicesURLs, hyperlinking, browser frame, HTML, Java VM, etc.URLs, hyperlinking, browser frame, HTML, Java VM, etc.

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

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

Web Pages, Documents, and Applications/ContainersWeb Pages, Documents, and Applications/Containers

Elements Of ActiveXElements Of ActiveX

Page 9: Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web Architectural & Technical Overview.

COMCOM 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.

Page 10: Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web Architectural & Technical Overview.

The COM ArchitectureA scaleable programming model

In the sameIn the same

process process Fast, direct Fast, direct function callsfunction calls

On the same On the same machinemachine

Fast, secure Fast, secure IPCIPC Across machinesAcross machinesSecure, reliable Secure, reliable and flexible DCE-and flexible DCE-RPC based RPC based DCOMDCOM protocolprotocol

ClientClientComponentComponent

ComponentComponent

ComponentComponent

ClientClient

ClientClient

COMCOM

COMCOMDCERPCCOMCOM

Client ProcessClient Process

Client MachineClient Machine

Server ProcessServer Process

Server MachineServer Machine

Page 11: Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web Architectural & Technical Overview.

ServerServerClientClient

COM/DCOMCOM/DCOMLets ActiveX components run anywhereLets ActiveX components run anywhere

CO

MC

OM

Remote object onRemote object onany server any server

Object runningObject runningon clienton client

Object runningObject runningon clienton client

COM

Page 12: Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web Architectural & Technical Overview.

Pluggable Transports

COMCOMClientClient

COM Runtime ArchitectureCOM Runtime Architecture

Component

CO

M R

unti

me

Server MachineClient Machine

TCP, UDP

SPX,IPX

Net BUI

HTTP

“Falcon”CO

M R

unti

me

Proxy

Other Component

Page 13: Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web Architectural & Technical Overview.

Pluggable Security Providers

COMCOMClientClient

COM Runtime ArchitectureCOM Runtime Architecture

Component

CO

M R

unti

me

Server MachineClient Machine

DCE

NT Kerberos

SSL, Certs.

NTLM

CO

M R

unti

me

Proxy

Other Component

Page 14: Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web Architectural & Technical Overview.

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

What Are ActiveX Controls?What Are ActiveX Controls?

Page 15: Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web Architectural & Technical Overview.

ActiveX controlActiveX 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 controls

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.

Page 16: Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web Architectural & Technical Overview.

ActiveX Control Pad 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 ease.

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.

Page 17: Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web Architectural & Technical Overview.

What the ActiveX Control Pad DoesWhat 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.

Page 18: Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web Architectural & Technical Overview.

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

<OBJECT<OBJECTALIGN=CENTER CLASSID="clsid:99B42120-6EC7-11CF-A6C7-ALIGN=CENTER CLASSID="clsid:99B42120-6EC7-11CF-A6C7-00AA00A47DD2" WIDTH=200 HEIGHT=200 ID=MyObject 00AA00A47DD2" WIDTH=200 HEIGHT=200 ID=MyObject CODEBASE="http://foo/bar/myoc.ocx#ver=4,70,0,1062">CODEBASE="http://foo/bar/myoc.ocx#ver=4,70,0,1062"><PARAM NAME="ScrollStyleX" VALUE="Circular"><PARAM NAME="ScrollStyleX" VALUE="Circular"></OBJECT></OBJECT>

Page 19: Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web Architectural & Technical Overview.

ActiveX and JavaActiveX and JavaWhat is Java?What is Java?

Programming language Virtual machine/Byte codes

Virtual Virtual Machine (VM)Machine (VM)

Internet BrowserInternet Browser

Java Development Java Development ToolTool

JavaJavaAppletApplet

Page 20: Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web Architectural & Technical Overview.

ActiveX Complements JavaActiveX 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

Page 21: Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web Architectural & Technical Overview.

How Does Java Fit With ActiveX?How Does Java Fit With ActiveX?

Java VM is an ActiveX component– Run Java applets in any application, not just

browser

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

Page 22: Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web Architectural & Technical Overview.

ActiveXActiveXControlControl

(C++, VB, etc.)(C++, VB, etc.)

ActiveXActiveXScriptingScripting

(VBScript, JScript, (VBScript, JScript, etc.)etc.)

JavaJavaappletapplet

ActiveX Java VM

SecurelySecurelyinvoke methodsinvoke methods

How Does Java Fit With ActiveX?How Does Java Fit With ActiveX?

Page 23: Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web Architectural & Technical Overview.

Microsoft’s Java CommitmentMicrosoft’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 applets– Fastest safest, most functional

Microsoft will compete with Java the operating system

Page 24: Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web Architectural & Technical Overview.

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 Toolbars Integrates existing documents into browser or any other application

Page 25: Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web Architectural & Technical Overview.

What Is ActiveX Scripting?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 runtimes

Page 26: Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web Architectural & Technical Overview.

Scripting: A Simple SolutionPioneered by Visual Basic

Objects expose events for the purpose of coordinating their activity with the rest of the world Script code can be attached to an object’s events to customize behavior - this is “scripting”

ButtonButtonObjectObjectButtonButtonObjectObject

ClickClickEventEventClickClickEventEvent

Sub Button_ClickSub Button_Click MsgBox “Hello world”MsgBox “Hello world”End SubEnd Sub

Sub Button_ClickSub Button_Click MsgBox “Hello world”MsgBox “Hello world”End SubEnd Sub

Page 27: Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web Architectural & Technical Overview.

ContainersContainers

Office BinderOffice BinderOffice BinderOffice Binder

MosaicMosaicMosaicMosaic

Internet ExplorerInternet ExplorerInternet ExplorerInternet Explorer

Windows ShellWindows ShellWindows ShellWindows Shell

Architecture OverviewArchitecture Overview

Internet ExplorerInternet ExplorerInternet ExplorerInternet Explorer

HTMLHTMLHTMLHTML

VRMLVRMLVRMLVRML

WordWordWordWord

VisioVisioVisioVisio

MicroGrafxMicroGrafxMicroGrafxMicroGrafx

ActiveX documentsActiveX documents

HTMLHTMLHTMLHTML

VRMLVRMLVRMLVRML

MPEGMPEGMPEGMPEG

VRMLVRMLVRMLVRML

RealAudioRealAudioRealAudioRealAudio

HTMLHTMLHTMLHTML

ActiveX controlsActiveX controls

ShockwaveShockwaveShockwaveShockwave ODBCODBCODBCODBC

VRMLVRMLVRMLVRML HTMLHTMLHTMLHTML

Visual Basic Visual Basic ScriptScript

Visual Basic Visual Basic ScriptScript

JavaScriptJavaScriptJavaScriptJavaScript

REXXREXXREXXREXX

ActiveX scriptingActiveX scripting

PERLPERLPERLPERL

Visual BasicVisual BasicScriptScript

Visual BasicVisual BasicScriptScript

JavaScriptJavaScriptJavaScriptJavaScript

ServicesServices URL resolutionURL resolutionHTTP, FTPHTTP, FTP

URL resolutionURL resolutionHTTP, FTPHTTP, FTP

HyperlinkingHyperlinkingHistoryHistory

FavoritesFavorites

HyperlinkingHyperlinkingHistoryHistory

FavoritesFavorites

Code downloadCode downloadand securityand security

Code downloadCode downloadand securityand security

Page 28: Research Presentation for CS616 By Hai Huang April, 2001 ActiveX and The Web Architectural & Technical Overview.

SummarySummary

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