ActiveX Control Pad

Download Report

Transcript ActiveX Control Pad

ActiveX and The Web
Architectural & Technical Overview
Research Presentation for CS616
By Hai Huang
April, 2001
Outline

What is ActiveX?

Elements of ActiveX
COM/DCOM, Controls, Java Applets,
Documents,

Scripting
ActiveX and Internet Explorer
Building the browser from reusable components
ActiveX
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.
ActiveX Bridges the “Islands”
Makes it easy to integrate and reuse any component
HTML
Document
Java
Applet
JavaScript™
VBScript
ActiveX
Control
Non-HTML
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
quickly and easily
Web
Producers
 End Users - want an intriguing,
exciting experience
End Users
Component-based Web Development
ActiveX Controls
 Pre-fabricated components
 Packaged by programmers
 Components for animation,
video, sound, 3D, etc.
 Include visual and
design-time behavior
Editing and
Layout Tools
High Impact
Content
 Content creation
 Visual content layout
 Integrated scripting
 One button publishing
 Content management
 Entertainment
 Commerce
 Information
gathering
User Experience: How It Works
HTML content
(text and images)
ActiveX Control
or Java applet
download
HTTP
server
HTTP
ActiveX Control
or Java applet
(D)COM
ActiveX Script
COM objects or
ActiveX Controls
COM objects or
ActiveX Controls
Elements Of ActiveX
Web Pages, Documents, and Applications/Containers
Scripting
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®
Distributed COM
Internet/distributed computing
UNIX®
COM




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
process
Fast,
direct
function calls

On the same
machine
Fast,
secure
Client
Component
Client Process
Client
Server Process
Component
COM
IPC

Across machines
Secure,
reliable
and flexible DCERPC based DCOM
protocol
Client Machine
Client
Server Machine
DCE
COM RPC COM
Component
COM/DCOM
Lets ActiveX components run anywhere
Client
Server
COM
Object running
on client
COM
Object running
on client
Remote object on
any server
COM Runtime Architecture
Pluggable Transports
Proxy
Other
Component
TCP, UDP
SPX,IPX
Net BUI
HTTP
“Falcon”
COM Runtime
COM
Client
Server Machine
COM Runtime
Client Machine
Component
COM Runtime Architecture
Pluggable Security Providers
Proxy
Other
Component
NTLM
SSL, Certs.
NT Kerberos
DCE
COM Runtime
COM
Client
Server Machine
COM Runtime
Client Machine
Component
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
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



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 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
ALIGN=CENTER CLASSID="clsid:99B42120-6EC7-11CF-A6C700AA00A47DD2" WIDTH=200 HEIGHT=200 ID=MyObject
CODEBASE="http://foo/bar/myoc.ocx#ver=4,70,0,1062">
<PARAM NAME="ScrollStyleX" VALUE="Circular">
</OBJECT>
ActiveX and Java
What is Java?

Programming language
 Virtual machine/Byte codes
Java Development
Tool
Java
Applet
Internet Browser
Virtual
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
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
How Does Java Fit With ActiveX?
ActiveX
Control
(C++, VB, etc.)
ActiveX
Scripting
(VBScript, JScript,
etc.)
Securely
invoke methods
Java
applet
ActiveX Java VM
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
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?





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 Solution
Pioneered 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”
Button
Object
Click
Event
Sub Button_Click
MsgBox “Hello world”
End Sub
Architecture Overview
Containers
Internet
Explorer
ActiveX
documents
Internet
Explorer
ActiveX
HTML
Windows
Shell controls
HTML
VRML
HTML
VRML
HTML
VRML
VRML
Office Binder
RealAudio
ActiveX MPEG
scripting
Word
Mosaic
Visual Basic
Basic
Visual
REXX
Shockwave
ODBC
Visio
Script
Script
PERL
JavaScript
JavaScript
MicroGrafx
Services
URL resolution
HTTP, FTP
Hyperlinking
History
Favorites
Code download
and security
Summary

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