Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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