COM IDL and Interface Design

Price 49.99 USD

EAN/UPC/ISBN Code 9781861002259


What is the Subject Area? The Interface Definition Language (IDL) provides a way of describing COM interfaces that doesn"t depend on any other programming language. As such, it is currently the best and most generic means available for expressing your interface and object designs. More than that though, IDL is fundamental to the generation of the type libraries that are becoming pervasive within the COM architecture, and the marshaling code that enables COM remote procedure calls. Well-written IDL can enhance the performance of your COM components --- it"s just too important to be left to the Wizards. This book clearly explains the syntax and usage of IDL, but that"s only the beginning of the story. You"ll also learn how to write efficient interfaces in a way that facilitates their use from languages other than C++. You"ll also get a comprehensive (over 40) list of interface and object design techniques and guidelines that shorten your design learning curve and pay for the price of the book. The book places all of this in context by demonstrating C++/ATL code that implements an On-Line Auction. You"ll see sophisticated COM techniques, such as Alternate Identity, Delayed Initialization, Split Identity, multiple scriptable IDispatch interfaces, persistence delegation, marshaling structures with embedded pointers, using IMallocSpy, etc. The code is very far from being an academic exercise! The application functionality is realistic and the examples demonstrate how to build COM Object Models that work with cutting-edge technologies such as OLE-DB, DHTML controls, STL collections, etc. The architecture and interfaces are carefully designed to be used from any programming language and the book proves this! The COM client bindings chapter shows you how to build exactly the same front end to the Auction Server in VB, Java, C++/MFC, DHTML/VBScript and DHTML/JScript! What"s Great About this Book? - Explains the syntax and features of the Interface Definition Language. - Analyzes the issues surrounding COM marshaling and memory management. - Teaches how to design your interfaces to be used from any client language. - Examines common IDL programming pitfalls. - Describes how COM types, interface and interface protocols bind to the different client languages. - Shows you how to design your application for maximum portability. - Implements a realistic COM application with a fully-featured object model. Who is this Book for? This title is aimed primarily at C++ developers with a working knowledge of COM and ATL who want to improve the efficiency of their interfaces and make using them from client languages as intuitive as possible. Its focus on interface programming should also make it valuable to experienced developers (including CORBA programmers) who are interested in learning about COM style Interface Programming. Because of the way it treats the design of COM object models, it should also prove helpful to architects and project leads who are responsible for implementation of object oriented systems that use the COM infrastructure.