COM and.Net Components By Sam Nasr January 25, 2005 www.ClevelandDotNet.info.

Slides:



Advertisements
Similar presentations
Introduction to.Net By Sam Nasr May 5,
Advertisements

SQL Server Reporting Services By Sam Nasr March 29,
Windows Workflow Foundation By Sam Nasr, MCAD October 23,
.NET Technology. Introduction Overview of.NET What.NET means for Developers, Users and Businesses Two.NET Research Projects:.NET Generics AsmL.
Overview Environment for Internet database connectivity
GETTING STARTED WITH WINDOWS COMMUNICATION FOUNDATION 4.5 Ed Jones & Grey Guindon.
Matthew Kubicina CIS 764 Kansas State University.
ICS 434 Advanced Database Systems
COM, DCOM and Software Components
Fundamentals of COM Mary Kirtland Program Manager COM Team Microsoft Corporation.
Using.NET Platform Note: Most of the material of these slides have been adapted from Nakov’s excellent overview for.NET framework, MSDN and Wikipedia Muhammad.
Using.NET Platform Note: Most of the material of these slides have been taken & extended from Nakov’s excellent overview for.NET framework, MSDN and wikipedia.
What is RMI? Remote Method Invocation –A true distributed computing application interface for Java, written to provide easy access to objects existing.
COM vs. CORBA.
Database Architectures and the Web
SSRS 2008 Architecture Improvements Scale-out SSRS 2008 Report Engine Scalability Improvements.
Building Localized Applications with Microsoft.NET Framework and Visual Studio.NET Achim Ruopp International Program Manager Microsoft Corp.
Introduction to.NET Technology Marcello Benati Software Engineer.NET Architect.
Henrico Dolfing Business Segment Partners. Océ Document Technologies GmbH2 June, NET Framework Version 3.0.
INTERNET DATABASE Chapter 9. u Basics of Internet, Web, HTTP, HTML, URLs. u Advantages and disadvantages of Web as a database platform. u Approaches for.
1 COM/DCOM n Part of Project Presentation (Concept Outline)
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
ODBC Open DataBase Connectivity a standard database access method developed by Microsoft to access data from any application regardless of which database.
Section 6.1 Explain the development of operating systems Differentiate between operating systems Section 6.2 Demonstrate knowledge of basic GUI components.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.
Visual Basic: An Object Oriented Approach 12 – Creating and using ActiveX objects.
Introduction to .Net Framework
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
Obsydian OLE Automation Ranjit Sahota Chief Architect Obsydian Development Ranjit Sahota Chief Architect Obsydian Development.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
Oracle10g RAC Service Architecture Overview of Real Application Cluster Ready Services, Nodeapps, and User Defined Services.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
Nilotpal Bhattacharya Partner Technical Consultant| Microsoft.
Internet, intranet, and multimedia database processing l Database processing across local and wide area networks l Alternative architectures for distributing.
Enterprise Java Beans Part I Kyungmin Cho 2001/04/10.
Threading Models in Visual Basic Language Student Name: Danyu Xu Student ID:98044.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Microsoft’s Distributed Component Object Model (DCOM) Jim Ries Updated 10/5/1999 A semi-technical overview.
COM/DCOM Implementation Basics of: Object creation and access Object Reuse Interface referencing.
OLE / COM Helia / Martti Laiho Sources: MSDN Kraig Brockschmidt: Inside OLE Orfali-Harkey-Erwards: Client/Server Survival Guide.
Introduction to COM and DCOM Organizational Communications and Technologies Prithvi N. Rao H. John Heinz III School of Public Policy and Management Carnegie.
COMCOM omponent bject odel After this presentation, you will: Be Able To: Conceptual understanding of COM How it works, What it’s used for Decode Acronyms.
Component Object Model
Ni.com Understanding COM/ActiveX Jeff Paulter Staff Software Engineer Thurs Aug 17 10:15-11:30 a.m., 1:45-3:00 p.m. Ash (10A) Jeff Paulter Staff Software.
Introduction to COM and ActiveX Controls. What is an object? In the Fayad sense of the word.
Oracle 10g Database Administrator: Implementation and Administration Chapter 2 Tools and Architecture.
Component Technology. Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly.
What is database?  Any Method for access info into Application from DataBase?  ODBC is standard for Accessing Data.  Problem with ODBC:  Information.
Hands-On Microsoft Windows Server Implementing Microsoft Internet Information Services Microsoft Internet Information Services (IIS) –Software included.
.NET Enterprise Services COM+ 1.5 麥超俊 Bobby Mak 架構技術推廣經理開發工具暨平台推廣處台灣微軟股份有限公司.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
GAM666 – Introduction To Game Programming ● DirectX is implemented as a collection of COM objects ● To use a DirectX program, the user must have the correct.
COM / DCOM Xiaolan Lu Mingzhen Wang Dong Xie. Why COM / DCOM?  Challenges facing the software industry  Component software provides a solution  General.
Seminarium on Component-based Software Engineering Feraaz Imami LIACS – Leiden University Fall 2005 Component Object Model (COM)
Getting Started with.NET Getting Started with.NET/Lesson 1/Slide 1 of 31 Objectives In this lesson, you will learn to: *Identify the components of the.NET.
WEB SERVER SOFTWARE FEATURE SETS
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
Configuring and Running the OPC.NET Generic Clients 1.
A Detailed Introduction To Visual Studio.NET CRB Tech ReviewsCRB Tech Reviews introduces you to the world of Visual.
Distributed Control and Measurement via the Internet
Component Object Model
Component Object Model
Netscape Application Server
CE-105 Spring 2007 Engr. Faisal ur Rehman
Exploring the Power of EPDM Tasks - Working with and Developing Tasks in EPDM By: Marc Young XLM Solutions
DOT NET ARCHITECTURE (OR) DOT NET FRAME WORK ARCHITECTURE
Presented By Justas Raslanas
Jim Fawcett CSE775 – Distributed Objects Spring 2007
Presentation transcript:

COM and.Net Components By Sam Nasr January 25,

What is COM? Common Object Model Common Object Model COM defines a common way to access data and software services. COM defines a common way to access data and software services. Each COM object supports one or more interfaces. Each COM object supports one or more interfaces. Each interface within the COM object supports a number of methods. Each interface within the COM object supports a number of methods.

What is COM? COM objects are implemented inside a server. COM objects are implemented inside a server. Each COM object is an instance of a class. Each COM object is an instance of a class. COM objects provide polymorphism, and data encapsulation. COM objects provide polymorphism, and data encapsulation.

COM Terminology Interface: a set of methods; contract between client and its components. Interface: a set of methods; contract between client and its components. GUID/UUID: Globally/Universally Unique Identifier. Based on IP address, MAC address, date/time, etc. in the format { }. GUID/UUID: Globally/Universally Unique Identifier. Based on IP address, MAC address, date/time, etc. in the format { }. Transactions: separate units of work treated as one (all or nothing). Transactions: separate units of work treated as one (all or nothing). Monikers: a COM object with a very well defined purpose (create, initialize, and connect to another object). Monikers: a COM object with a very well defined purpose (create, initialize, and connect to another object).

Evolution of COM Need for software reuse and code sharing. Need for software reuse and code sharing. COM Evolved from OLE and ActiveX. COM Evolved from OLE and ActiveX. Different programs can share data and services using 1 standard. Different programs can share data and services using 1 standard.

Problems of non-standard Code Sharing Distributing objects with their source code. Distributing objects with their source code. Reusing objects across different languages. Reusing objects across different languages. Re-linking or re-compiling an entire application when one object changes Re-linking or re-compiling an entire application when one object changes

Features of COM Classes of COM objects are identified by Class Identifiers (CLSID). Classes of COM objects are identified by Class Identifiers (CLSID). GUIDs are used to name Class Identifiers (CLSID). GUIDs are used to name Class Identifiers (CLSID). System Registry is used to map given CLSID to actual component. System Registry is used to map given CLSID to actual component. Use CoCreateInstance to create a new COM object. Use CoCreateInstance to create a new COM object.

Features of COM IUnknown supports 3 methods: IUnknown supports 3 methods:QueryInterfaceAddRefRelease Every COM interface has a common first method named QueryInterface. Every COM interface has a common first method named QueryInterface.

Advantages of COM Versioning: Versioning: Existing interfaces do not change. Existing interfaces do not change. New functionality offered in new functionality. New functionality offered in new functionality. Results are consistent Results are consistent No relinking/recompiling an application when one object changes. No relinking/recompiling an application when one object changes.

Advantages of COM Widely used in Microsofts product line. Widely used in Microsofts product line. Expanding to accommodate Mainframe systems. Expanding to accommodate Mainframe systems. Structured storage allows for data persistence (storage and stream). Structured storage allows for data persistence (storage and stream). Ease of code reuse. Ease of code reuse.

Advantages of COM Accessible by all kinds of software components. Accessible by all kinds of software components. Language independent. Language independent. Interfaces provide a universal method of access. Interfaces provide a universal method of access. COM data is encapsulated, and directly accessible. COM data is encapsulated, and directly accessible.

Advantages of COM Uniform Data Transfer (UDT): a standard for exchanging information. Uniform Data Transfer (UDT): a standard for exchanging information. Storage/Stream: objects for sharing a single file. Storage/Stream: objects for sharing a single file. Directory Services supply information for clients processes. Directory Services supply information for clients processes.

What is DCOM? Distributed Common Object Model Distributed Common Object Model Distributed Component services Distributed Component services Remoting Architecture Remoting Architecture

What is MTS? Microsoft Transaction Services Microsoft Transaction Services Handles Transaction Services for COM components. Handles Transaction Services for COM components. Manages resource pooling Manages resource pooling Role Based security Role Based security Administration Administration Just-in-Time Activation Just-in-Time Activation

What is COM+? Integration of administration services/features. Integration of administration services/features. Accesible from Administration Tools folder (Component Services). Accesible from Administration Tools folder (Component Services). Included with post Win2000 OSs Included with post Win2000 OSs Load balancing Load balancing In memory database In memory database Object Pooling Object Pooling Queued Components Queued Components Event Model Event Model

COM &.Net COM components must be registered prior to use with.Net applications (regsvr32.exe). COM components must be registered prior to use with.Net applications (regsvr32.exe)..Net Assemblies must be registered for use with COM components (regasm.exe).Net Assemblies must be registered for use with COM components (regasm.exe) Regasm.exe must be run in VS.Net Command Prompt window. Regasm.exe must be run in VS.Net Command Prompt window.

COM &.Net Interoperability RCW: Runtime Callable Wrappers (INTEROP.COMLib) RCW: Runtime Callable Wrappers (INTEROP.COMLib) DLLHost.exe: host process for handling remote COM calls. DLLHost.exe: host process for handling remote COM calls. TlbImp.exe: Converts COM to.Net Assembly. TlbImp.exe: Converts COM to.Net Assembly.

TLBIMP vs. Direct Reference Tlbimp.exe Tlbimp.exe Tlbimp MyCOM.DLL /out:NetMyCOM.DLL (execute in VS CMD) Tlbimp MyCOM.DLL /out:NetMyCOM.DLL (execute in VS CMD) Allows for signing the resulting assembly. Allows for signing the resulting assembly. Resulting code can be used in GAC Resulting code can be used in GAC Direct Reference Direct Reference Easier to use Easier to use Does not allow for signing the assembly Does not allow for signing the assembly Resulting code cannot be placed in GAC or shared with other.Net assemblies. Resulting code cannot be placed in GAC or shared with other.Net assemblies.

Additional Info mpare.pdf mpare.pdf mpare.pdf mpare.pdf en-us/dndotnet/html/callnetfrcom.asp en-us/dndotnet/html/callnetfrcom.asp en-us/dndotnet/html/callnetfrcom.asp en-us/dndotnet/html/callnetfrcom.asp en- us/vbcon/html/vbconcominteropinvisualbasicvisualc.asp en- us/vbcon/html/vbconcominteropinvisualbasicvisualc.asp en- us/vbcon/html/vbconcominteropinvisualbasicvisualc.asp en- us/vbcon/html/vbconcominteropinvisualbasicvisualc.asp

Job Board Senior Developer - Downtown Cleveland, C#.net and Oracle PL/SQL experience (Job# 2578) Senior Developer - Downtown Cleveland, C#.net and Oracle PL/SQL experience (Job# 2578) Contact Dave Sgro Instructor – CCC Westlake Instructor – CCC Westlake MS2310 ASP.Net and VS.Net Contact Toni Paoletta Developers – Berbee Information Systems.Net Developers – Berbee Information Systems Visit the Careers section at

Useful Tools Process Explorer Process Explorer A Task Manager utility that provides more much more info than the standard windows utility. Fiddler HTTP Debugger Fiddler HTTP Debugger Allows you to inspect all HTTP Traffic, set breakpoints, and "fiddle" with incoming or outgoing data. API-Guide API-Guide A comprehensive API utility complete with documentation and examples.

Upcoming Events Feb 3 rd : MSDN Event Feb 3 rd : MSDN Event Topic: WinForms, ASP.Net, VS Team Systems Feb 12 th : GCPCUG General meeting Feb 12 th : GCPCUG General meeting Topic: consumer electronics Feb 22 nd : C#/VB.Net Meeting Feb 22 nd : C#/VB.Net Meeting Topic: SQL Server 2005 Reporting Services