1372 COM Integration Appendix H The partition (Geocities web hosting)

1372 COM Integration Appendix H The partition of programs into smaller pieces makes it easier to distribute application upgrades, because only modified DLLs must be redistributed. Often, developers packaged DLLs with their applications to ensure that users were running the library version designed for their software. However, the packaged DLLs could overwrite preexisting libraries on users systems, possibly breaking previously installed software. The problems introduced by shared libraries were so difficult to locate and fix that their effects became known as DLL hell. In an attempt to combat DLL hell, Microsoft developed the Component Object Model (COM). COM is a specification that controls library versions, backwards compatibility and language interoperability. The COM specification, defined by Microsoft, is detailed and strict to ensure that COM developers create compatible libraries. Microsoft implemented the COM architecture on a large scale. Today, virtually all Windows libraries adhere to the COM specification. When implemented correctly, COM ensures highly organized and reusable libraries, but it does have limitations. COM is difficult to program and deploy, because developers must guarantee that new COM components are both compatible with previous versions and registered with the system. Microsoft .NET components retain the benefits of COM while avoiding many of its associated problems. To facilitate developers migration from COM to .NET, Microsoft created a set of utilities designed to integrate existing COM components into the .NET platform. ActiveX controls are a commonly used COM component. The RegSvr32 utility program registers COM components with the operating system. ActiveX can be imported into the IDE s toolbox. The Customize Toolbox option lists all the COM components that are registered on a specific machine. Windows components contain Globally Unique Identifiers (GUID) for the component and its internal classes as well as language-independent descriptions of all classes and types that are defined in the component. Language-independent descriptions help to enable component reuse across multiple programming languages. A GUID consists of a long string of numbers that a computer generates on the basis of the computer s current time, hardware and a random number. The GUID algorithm never generates the same identifier twice; thus, GUIDs enable unique component identification across all computers. When a COM component is registered, its GUID is stored in the Windows Registry; programs then can use the registry to locate and identify the component. A type library describes all of a COM component s interfaces, types and methods; the type library is included in either the component .dll file or in a separate .tlb file. The separation of component identifiers (located in the Windows Registry) from the data represented on the disk (the library file) is the source of many problems associated with the COM architecture. .NET components problems by maintaining all identification information internally. A primary interop assembly is used by .NET to locate COM methods and to translate component data types between the .NET platform types and COM component types.
You want to have a cheap webhost for your apache application, then check apache web hosting services.

Leave a Reply