
b25eae3e6defeb97eb86623d3bd14841.ppt
- Количество слайдов: 35
Active. X and The Web Architecture & Technical Overview Hong Qing , Zhu
Outline z. What is Active. X? z. Elements of Active. X y. COM/DCOM, Controls, Java™ Applets, Documents, Scripting z. Active. X and Internet Explorer 3. 0 y. Building the browser from reusable components z. Demo
What is Active. X? z. A marketing name for a set of technologies and services, all based on the Component Object Model (COM) z. It’s just COM! y“DCOM” is just COM with a longer wire
The Web Today: “Islands” of Code HTML Document VBScript Java Applet Active. X Control Java. Script Non-HTML Document
Active. X Bridges the “Islands” Makes it easy to integrate and reuse any component HTML Document VBScript Java Applet Active. X Control Java. Script™ Non-HTML Document
Motivation For Active. X Bring Component-based Development to the Internet z Software Developers - want to easily create, reuse and integrate software components z Web Producers - want to build rich, engaging Web sites quickly and easily z End Users - want an intriguing, exciting experience Developers Web Producers End Users
Component-based Web Development Active. X Controls ŸPre-fabricated components ŸPackaged by programmers ŸComponents for animation, video, sound, 3 D, 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
Elements Of Active. X 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®
Component Object Model (COM) Foundation for Active. X components z. Versionable, programmable IUnknown z. Lightweight, fast z. Open standard y. Language and tool-neutral y. Works with today’s applications y. Cross-platform COM Object z. Active. X components are COM objects z. Distributed COM extends interactions between components across networks
The COM Architecture A scalable programming model u In the same process Ø u Client Process Client Server Process COM Component Fast, secure IPC Across machines Ø Component Fast, direct function calls On the same machine Ø u Client Secure, reliable and flexible DCE-RPC based DCOM protocol Client Machine Server Machine DCE COM RPC Component
What Are Active. X Controls? z. Controls are components that can be manipulated visually by GUI development tools y. Distinction between design-time and run-time user-interface z. Code that makes the Web come alive z. Programmable by other components and scripts
Mapping Controls To HTML z Use the W 3 C <OBJECT> tag y <EMBED> also supported for plug-ins z ID = name used by scripting language z CLASSID=Globally unique identifier for the Active. X Control z CODEBASE = Control to download z <PARAM> = Properties of the Control <OBJECT ALIGN=CENTER CLASSID="clsid: 99 B 42120 -6 EC 7 -11 CF-A 6 C 700 AA 00 A 47 DD 2" WIDTH=200 HEIGHT=200 ID=My. Object CODEBASE="http: //foo/bar/myoc. ocx#ver=4, 70, 0, 1062"> <PARAM NAME="Scroll. Style. X" VALUE="Circular"> </OBJECT>
Active. X and Java What is Java? z Programming language z Virtual machine/Byte codes Java Development Tool Java Applet Internet Browser Virtual Machine (VM)
Active. X Complements Java z. Active. X and Java DO NOT COMPETE! z. Active. X IS a set of integration technologies y. Every Java object IS an Active. X object! z. Active. X is NOT y. A language y. A platform y. An operating system
How Does Java Fit With Active. X? z. Java VM is an Active. X component y. Run Java applets in any application, not just browser z. Java component is an Active. X component z Automatic integration of Java applets with other languages and scripts y. Lets Java applets talk to other Java applets y. Lets Java applets talk to Active. X components y. Gives Java applets access to all PC functionality
How Does Java Fit With Active. X? Active. X Control (C++, VB, etc. ) Active. X Scripting (VBScript, JScript, etc. ) Securely invoke methods Java applet Active. X Java VM
Microsoft’s Java Commitment z Microsoft is hard core about Java the language y. Reference Java VM for Windows y. Fastest Just-in-Time Java Compiler y. Visual J++ development tool y. Java support on the server z Windows is the best execution environment for Java applets y. Fastest safest, most functional z Microsoft will compete with Java the operating system
Managing the Risks of Downloaded Code z. There are no absolute security guarantees z. Code-signing and sandboxing y. Complementary approaches y. Microsoft supports both today y. Code-signing - Authenticode™, works with Active. X controls, Java applets, plug-ins, etc. y. Sandboxing - most secure Java VM, VBScript y. Rest of industry is following to support both
Code-signing and Sandboxing z Code-signing - “shrinkwraps” code y. Identifies publisher; validates integrity of code y. Doesn’t prevent bugs or malicious operation y. Gives accountability for market and legal recourse z Sandbox - code isolated inside virtual machine y. Doesn’t prevent bugs; limits malicious operation by limiting functionality y. Least common denominator capabilities y. Relies on airtight implementation, proven difficult in practice
Authenticode™ z Code-signing feature in Internet Explorer 3. 0 z Uses industry standard certificates (X. 509) z Unforgeable z Contractual relationship with multiple certificate authorities z Allows end users or administrators to set “trust policies”
What Are Active. X Documents? z. Lets users view and edit non-HTML documents through the browser z. Active. X Documents y. Use the entire client area y. Provides printing support y. Menu merging y. Toolbars y. Integrates existing documents into browser or any other application
What Is Active. X Scripting? z Mechanism for rapid “wiring” together of diverse set of components z Supports any scripting language - VBScript, JScript, Perl, Power. Script, Tck/Tk, etc. z Scripting languages are the most broadly accessible development tools z Scripting plus HTML is the fastest and easiest cross platform solution z Internet Explorer 3. 0 ships with VBScript, JScript runtimes
Scripting: A Simple Solution Pioneered by Visual Basic z. Objects expose events for the purpose of coordinating their activity with the rest of the world z. Script code can be attached to an object’s events to customize behavior - this is “scripting” Button Object Click Event Sub Button_Click Msg. Box “Hello world” End Sub 24
VBScript z Small, fast, and safe z Scripts both Active. X Controls and Java applets z Proper subset of Visual Basic for Applications y 100% compatible with Visual Basic y. Built into Internet Explorer 3. 0 and Windows NT™ y. Over 3 million users familiar with Visual Basic z Cross-platform for easy mobility y. All clients, servers y. Licensable, not just for the Internet z Free distribution 25
JScript z High performance Java. Script-compatible scripting language z More secure than Java. Script z Java. Script related to Java only by name z Java. Script Netscape proprietary despite public commitments z JScript and VBScript source licensable (free!) z Ships with Internet Explorer 3. 0
Active. X Case Study “Componentizing” Internet Explorer 3. 0 z. Real world application - target audience 100+ million users z. Leverage PC investment z. Must support open existing standards z. Move Microsoft and developer community forward together into next century z. Oh yeah, and ship it in nine months (!)
Internet Explorer 2. 0 u Monolithic application Ø u u No reusable parts No backward compatibility No forward compatibility Ø Extend through proprietary means (hacks)
Architecture Overview Containers Active. X documents Internet Explorer Active. X controls HTML Windows Shell VRML HTML VRML Real. Audio Office Binder MPEG Word Shockwave ODBC Visio Mosaic Active. X scripting Micro. Grafx Services URL resolution HTTP, FTP Hyperlinking History Favorites Visual Basic Script Code download Java. Script and security REXX PERL
Active. X Benefits z. Power z. Choice z. Broad Industry Support
DEMO!
Active. X Benefits: Power z Develop highest performance, “no compromises” applications z Provides richest and most robust array of programming interfaces z Full and open support for industry standards: HTTP, HTML, TCP/IP, Java, etc. z Authenticated, accountable environment z Built on solid, proven foundation of COM
Active. X Benefits: Choice z Mix and match from huge industry arsenal of tools, languages, code and expertise z Deliver applications for Internet and/or Intranet z Run components in the browser or other applications (any container) z Program with any tool or language z Supports Macintosh®, UNIX® and Windows® z Integrate components using any scripting language
Active. X Benefits Broadest industry support z Market proven, compatible, third generation technology z Choose today from over 1, 000 controls from hundreds of vendors y Giga Information Group: $240 million industry in 1996, growing to over $2 billion by 2000 z Run components in the most popular apps y Microsoft Office, Internet Explorer, Lotus® Notes, Lotus Smart. Suite®, Sybase® Power. Builder z Program with familiar tools y Microsoft Visual C++, Microsoft Visual Basic, Borland C++, Borland Delphi, Java and others
Summary z. Active. X is the first and only component technology to achieve commercial success z. Today’s thriving Active. X software component industry makes it quick and easy to build great web sites z. Componentized architecture is not just the future; it is here today with Active. X
™
b25eae3e6defeb97eb86623d3bd14841.ppt