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

Post on 20-Dec-2015

217 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

Transcript

Research Presentation for CS616By Hai HuangApril, 2001

ActiveX and The WebActiveX and The WebArchitectural & Technical OverviewArchitectural & 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

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.

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

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

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

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

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

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.

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

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

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

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

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?

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.

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.

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.

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>

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

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

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

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?

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

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

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

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

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

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

top related