[go: up one dir, main page]

0% found this document useful (0 votes)
50 views8 pages

Isas - Com+

The document discusses Component Object Model Plus (COM+), defining it as an integrated development environment that provides developers with COM, Microsoft Transaction Server (MTS), and additional services like load balancing, object pooling, and queued components. COM+ evolved from COM and incorporates functionality from DCOM and MTS. It aims to provide an enterprise solution for building distributed applications using software components.

Uploaded by

Derrick Khupe
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
50 views8 pages

Isas - Com+

The document discusses Component Object Model Plus (COM+), defining it as an integrated development environment that provides developers with COM, Microsoft Transaction Server (MTS), and additional services like load balancing, object pooling, and queued components. COM+ evolved from COM and incorporates functionality from DCOM and MTS. It aims to provide an enterprise solution for building distributed applications using software components.

Uploaded by

Derrick Khupe
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

1.

SYNOPSIS
This discussion is about Component Object Model Plus (COM+). Specifically, the main focus of the discussion is to explicitly define COM+. On this basis, the discussion introduces the generic concept of components and Component Object Model (COM) as a foundation for defining COM+ and then builds towards the subject matter, which is COM+. As such, the first section of this document concentrates on defining components and explaining the basic concepts surrounding components. The next section shifts to give details on COM and the later, greater section is dedicated to COM+. At the end of this discussion, various conclusions are drawn about the general impact of component technology in software engineering and the conclusions emanating herewith suggest that Component Based Software Engineering (CBSE) technology has improved the way software solutions are built by enhancing quality and shortening development time.

Page | 1

2. INTRODUCTION
2.1Introducing Components and Component Standards Component based software engineering (CBSE) is a software development methodology that leverages on the concept of software re-use. Its birth was necessitated by the failure of the Object-oriented developmental approach to effectively provide support for re-use. Unlike Object-oriented development which involves code re-use, CBSE makes it possible to breakdown software into smaller reusable binary objects called components. In essence, the essential elements in CBSE are the components themselves (building blocks), component standards (to facilitate component integration) and the middleware (to offer component interoperability support) (Szyperski, 2002). Software components are defined as independent executable binary units that can constitute one or many executable objects and can be composed to form a fully functional system. They are analogous to standalone mini applications which are capable of carrying out a specific task and offer that functionality in an encapsulated and reusable package. An example of a component would be a spelling-checker feature which is sold by a particular vendor and can be incorporated into various word-processing applications. Components make it possible for software

applications to be created rapidly and efficiently (Szyperski, 2002). In order to operate, components require some kind of services and this is when COM+ and other Component standards come into the picture. COM is an example of a component standard and serves as the basic component technology on a windows-based platform. It enables software component development and use from any COM-aware language and environment. It also serves as a standard which specifies how components are built and most importantly how components communicate with each other. Since its introduction in the early 1990s, COM has evolved through Distributed COM (DCOM), COM+ and has also played a big role in the formation of the bases of .NET (Szyperski, 2002). Hence an understanding of this component model is as important because it is the basis on which COM+ was built.

Page | 2

3. BACKGROUND STUDY
3.1 Evolution of COM+ As previously noted, components require runtime services in order to function. The traditional COM runtime services were targeted on only components that were located on the same computer, for example a desktop computer (Vaisanen, 2005). With the change in focus from development of standalone computer systems to distributed systems (networks), Microsoft saw it fit to add more new services. As an initial step, support for applications whose components are resident on multiple computers (distributed applications) was added and this was done through DCOM in 1995. DCOM serves as a standard and service that supports components that are distributed across different machines (Szyperski, 2002). In 1998, Microsoft Transaction Server (MTS) was introduced. It provided new services for management of transactions, role-based security, component

deployment, and a tool for administering configurations for components. The development of Windows 2000 provided Microsoft with a chance to rectify the deficiencies presented by DCOM and MTS by merging them into one new set of component services (Vaisanen, 2005). More new services were also added; and included object-pooling and queued components. The new services suite was named COM+ 1.0 (the focus of this discussion) and was made native to the Windows 2000 operating system. Today, .NET Framework (first known as COM+ 2.0) represents the next step in component standards (Ferrara et al, 2002). 3.2 COM+: Defined The previous section showed how COM evolved through to become COM+. It was noted that after COM, DCOM and MTS were developed; all these services were combined to form an integrated runtime environment - COM+. From this, it is acceptable to say that COM+ is an integrated development environment which serves to provide developers with COM, MTS and other various services (Lowy et al, 2001). However, COM+ does not limit itself to the capabilities of its predecessors; it stretches further to bring in more new services and changes. COM+ includes an extended and updated version of MTS, and four important services which include Load Balancing and Event Services. These services will be explored in depth in the later sections. In a nutshell, all these components and services work together to
Page | 3

provide an integrated enterprise solution called COM+. Therefore, to summarize what COM+ is we can say that: COM+ = (COM) + (MTS (updated version)) + (COM+ Services). The figure below shows a diagrammatical representation of this (Lowy et al, 2001). COM+ model (Courtesy of Harrison, 2002)

3.3 COM+ Components and Services COM+ component services refer to the services which support .NET and COM component-based applications. The table below shows a detailed list of COM+ components and services. The COM+ services column on the table shows the services that have been introduced through COM+ and the remainder are extended from the previous MTS and COM/DCOM (Lowy et al, 2001). COM+ services Load balancing Object pooling Queued components MTS Role-based Security Resource Pooling JIT Activation COM/DCOM COM, Distributed services and Remoting architecture

3.3.1 Load balancing Scalability is very essential in a distributed application. This means that the amount of traffic in a network and the number of clients must not affect application performance. Load balancing comes in as a mechanism that distributes client requests across multiple servers. COM+ achieves this by making use of two types of load balancing, that is static and dynamic load balancing. COM+ supports component-level load balancing (Ferrara et al, 2002). That is, when a client makes a request for a specific component, the client call connects to a load balancing router
Page | 4

(containing information about servers) first. The router in turn forwards the request to a specific server on the basis of server load and availability. The advantage of this is that in case of server failure, COM+ automatically re-routes the client request to another available server. This service is available in Windows 2000 and is known as clustering service (Ferrara et al, 2002). 3.3.2 COM+ object pooling Object pooling is a kind of mechanism that allows object-recycling. In the mechanism, resources like database connections are maintained in a pool and made available to many clients. When a client frees an object that supports object pooling, COM+ recycles it instead of completely destroying that object. When another client makes a request for that same object, COM+ then provides one from the pool. Object pooling has the advantage of dramatically improving the performance of a distributed application (Lowy et al, 2001). 3.3.3 COM+ Queued Components COM+ provides support for this service through Microsoft Message Queues Server (MSMQ). The use of queuing services ensures that a client easily executes method calls even in the event that a component is offline. What MSMQ does is that it automatically records and queues all method calls during the time the component is available. In general, queued components allow component communication through asynchronous messages and bring the convenience of disconnected applications or applications that are loosely coupled (Harrison, 2002). 3.3.4 COM+ events Events are the services that allow components to communicate significant events (e.g. changes in data) with each other. COM+ provides support for a model called publish-subscribe model for notification. In the traditional COM, events were handled in two ways, either by use of an interface callback mechanism in which the client implements a component-described interface (Harrison, 2002). COM+ events model brings changes to the COM Event model and hence upgrades it. It uncouples the tight bond that exists between the publisher and subscriber by using an event class. All entities that wish to publish any information employ an event class object (Lowy et al, 2001).

Page | 5

In a nutshell, the COM+ event system: supports publish-subscribe mechanism which uncouples the lifecycles of an entity. provides a new model of activation to the event system. That is, if a subscriber is inactive when a certain event happens then the event runtime activates the subscriber and passes information about the event to it. supports a third-party publish-subscribe medium. That is, once an event class is created, any entity is free to become a publisher or subscriber of events. provides an effective mechanism for filtering. That is, by creating objects for filtering, filtering at publisher level or subscriber level is made possible. 3.3.5 Just-In-Time Activation These are the services that instantiate components when they are invoked and discards them when they have served their purpose. When a client makes a call to create an object instance, COM+ comes in to provide a client reference context to that particular client instead of making reference to the object itself. The client can only get a reference to the object when that client makes calls to methods of that object. This approach is referred to as Just-In-Time activation. For example, in a situation where let us say there are a thousand clients who want to call (instantiate) one component but only a few of the clients want to actually call methods of that component; in this situation, it is not necessary to create instances of that particular component for each client (Lowy et al, 2001). 3.3.6 Role-Based Security These are the services for client authentication and application access control. COM+ provides support for role-based security. The advantage of Role-based security is that you can assign various permissions to various users or user-groups on a component. As an example, you can create a component that makes it possible for a project manager to read, write, or make changes to the specifications of a project whilst the programmers are only allowed to read the specifications without write or read permissions (Lowy et al, 2001).

Page | 6

4. CONCLUSION
The discussion has successfully dealt with the task of explaining and bringing out a clear understanding of COM+. Specifically, we have noted the convenience that components and component technologies bring in the field of CBSE. Further, we have seen the part played by component object models in achieving this success by providing the services and specifications for creating and managing components. In a nutshell, the discussion has shown the importance of component technology and component modeling.

Page | 7

5. BIBLIOGRAPHY
Ferrara, A. and McDonald, M. (2002) Programming .NET Web Services Building Web Services with ASP.NET & C#, 1st Ed, New Delhi: Shroff Publishers Harrison, R. C., DCOM [http://www.microsoft.com/com/wpaper/#COMPapers] 1998. Accessed 25/03/10 Lowy, J., (2001) COM and .NET Component Services Mastering COM+ Services, 1st Ed, Mumbai: OReilly Media Szyperski, C.; Gruntz, D.; Murer, S. (2002) Component Software Beyond ObjectOriented Programming, 2nd Ed, New Delhi: Dorling Kindersley Vaisanen, S., Microsoft component technology concepts - ActiveX, COM, DCOM, COM+ 22/03/10 [http://www.microsoft.com/com/wpaper/#COMPapers] 2005. Accessed

Page | 8

You might also like