1 / 38

An Overview of ActiveX Charlie Kindel Architect Chief Technical Advisor Microsoft Developer Relations Group

Outline. What is ActiveX?The Component Object ModelCurrent Status. What is ActiveX?. A marketing name for a set of technologies and services, all based on the Component Object Model (COM) It's just COM!?DCOM" is just COM with a longer wire. Wanted: Software Components. ?Active wave" requires ap

todd
Download Presentation

An Overview of ActiveX Charlie Kindel Architect Chief Technical Advisor Microsoft Developer Relations Group

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. An Overview of ActiveX Charlie Kindel Architect & Chief Technical Advisor Microsoft Developer Relations Group

    2. Outline What is ActiveX? The Component Object Model Current Status

    3. What is ActiveX? A marketing name for a set of technologies and services, all based on the Component Object Model (COM) It’s just COM! “DCOM” is just COM with a longer wire

    4. Wanted: Software Components “Active wave” requires applications, content, operating systems, networking, distributed services to be integrated as never before Monolithic solutions won’t work No one vendor or one team of programmers can move fast enough Need to leverage others’ work and to build and ship smaller pieces incrementally Need to evolve smaller pieces asynchronously without sacrificing the whole

    5. Solutions… “WOSA” architecture was Microsoft’s 2nd generation component technology API (often with different “levels”) System (Microsoft) -supplied intermediary DLL with out-of-band management routines SPI for real components/servers to plug in “underneath” Works great (e.g. ODBC) but has crucial limitations No safe decentralized extension or evolution

    6. COM: 3rd Generation Components Unified programming model Between OS and apps — unification of system handle-based “objects” and variety of app models Between in-process and remote interaction — unification of DLLs and RPC Standards for binary deployment, connection Software pieces or “components” find and connect to each other through clearly defined interfaces Solves fundamental problems of software integration, independent evolution

    7. Examples Manufacturing process control Controls on the Interent/Intranet client Component based server applications Active Server Pages Microsoft Transaction Server (Viper) Multi-tier “client/server” applications

    8. 3 Tier Client/Server

    9. ActiveX Builds on COM COM’s initial thrust: integrating desktop applications with OLE COM technology is generically useful, being applied to a range of other areas Inherently distributed 1000’s of shipping, commercially available, products. World class development tools VB, VC, VJ, Delphi, PowerSoft…

    10. Who Benefits? Independent software vendors Build components in any language, any development process Sell independently or in bundles No central coordination required Corporate developers Buy from competitive market rather than build Large projects benefit from component discipline Anyone doing software integration

    11. COM Architecture The Model The “ORB” The Services

    12. Component Object Model Components, Components, Components Binary standard Wire-level standard

    13. COM Fundamental Principles What the designers of COM were striving for... Binary components Any programming language Any location (in-process, cross-process, cross-machine) No centralized authority Zero sacrifice in-proc performance Simplest model possible Enable extensibility and adaptability

    14. COM Principles Rigorous Encapsulation Black box -- no leakage of implementation details All object manipulation through strict interfaces Polymorphism via multiple interfaces per class “Discoverable”: QueryInterface

    15. Isn’t COM about “Objects”? No … COM sets out to solve system software problems that arise when hooking up randomly evolving combinations of binaries Yes … from the perspective of these new kinds of objects also called “components” Traditional object concepts used (but adapted) to solve a different (but overlapping) set of requirements in a different problem space Component services can be called more naturally from O-O languages Systems OT complements language OT

    16. COM Architecture

    17. Distributed COM Just COM “with a longer wire” All COM components communicate in the same way on the same machine In-process, Out-of-process across a Local Area Network across a Wide Area Network across the Internet Same tools, knowledge, code

    18. Distributed COM Wire Protocol Based on DCE RPC Specification Interoperable with OSF DCE RPC implementations We call it “ORPC” Efficient and Scalable Documented in Internet-Draft ftp://ietf.org/internet-drafts/draft-brown-dcom-v1-spec-01.txt

    19. The COM “ORB” The “model” is about how the technology is used The “ORB” is how it’s implemented We call it the COM Runtime

    20. Pluggable Transports COM Runtime Architecture Flexible and extensible

    21. Pluggable Security Providers COM Runtime Architecture Flexible and extensible

    22. Efficient and Scalable Multiplexing - Single Port per-protocol, per server process, regardless of # of objects Scalable - Connection-Less Protocols like UDP Preferred Established Connection-Oriented (TCP) Sessions Reused by same client

    23. Efficient and Scalable Low Bandwidth Header is 28 bytes over DCE-RPC Keep-Alive Messages bundled for all connections between Machines

    24. COM Runtime Architecture Secure - Security is designed and built in. Not an option. Inherently Distributed Pluggable Security Transports

    25. The COM “ORB” Highly debugged and tuned The COM Runtime first shipped in 1993 Used by 1000s of commercial applications Available today on Win95, NT, Solaris DEC UNIX, HPUX, Linux, MVS, VMS, Mac, and others rolling out this year

    26. The COM “ORB” Full source code licensable from The Open Group (formerly OSF and X/Open) With conformance test suite Free! (Built-into Win32 Platforms) No separate client access license or expensive “developer” version

    27. Structure of the COM “ORB”

    28. Core COM Services Security Lifecycle Management Type Information (Interface Repository) Monikers (Naming) Automation (Dynamic Invocation) Data Transfer Component Categories Registry

    29. COM Summary The Model The “ORB” The Services

    30. So What is ActiveX? A marketing name for a set of technologies and services, all based on COM (the model, the “ORB”, and the services)

    31. User Experience: How It Works

    32. Active Components ActiveX Controls Are COM components with “design-time” UI Can be written in C++, Java, VB, Delphi, ... Self-registering Optimized for download and execute Java applets Simple applications Work on both Active Client or Server Can talk indirectly over HTTP or directly over COM

    33. Microsoft Java VM Java VM is a COM component Use Java classes from any application/language, not just browser/Java Any Java object is a COM object 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

    34. Transaction Server “Viper” Runtime execution environment for server- based components Extends COM archi- tecture with transaction semantics Provides concurrency, multi-threading, queuing, atomicity, etc. Makes is easy to encapsulate business logic in middle-tier

    35. ActiveX Core Product Status “D”COM first released in Windows NT 4.0, August 1996 Win95 version released January 1997 Solaris 2.x release imminent Other UNICES, MVS, and VMS to follow Macintosh version in H1 1997 Active Group source licenses available by mid-1997; DCE integration project by end of 1997

    36. Resources Great Overview Book Understanding ActiveX and OLE (by David Chappell) Implementations Win95 version <http://www.microsoft.com/oledev/> Solaris and other non-Win32 versions <http://www.sagus.com/> Technical info <http://www.microsoft.com/workshop/> and <http://www.microsoft.com/oledev/> Inside COM (by Dale Rogerson) Mailing list http://www.microsoft.com/workshop/resources/email.htm

    37. Questions?

    38. Thank you!

More Related