wayne plourde

software architect mcad mcsd scjp

home | articles | book | resume | projects | contact

25 - Creating Components (Outline)

ASP 3.0 The Complete Reference

Chapter 25

Creating Components (Outline)

Waited until this point so that all related web services could be introduced first.

Deciding When to Create Components

Guidelines for

Advantages of Components

Performance

Scalable

Isolation of business logic

Reuse

Debugging

Strong typing

Early binding

Operating system access

Compiled and protected

Disadvantages of Components

Longer development time

Debugging

Maintenance

Deployment

Designing Your Components

UML strategies

Modeling Tools

Prototyping

Establishing an Interface

Deciding on a Development Language

VB vs C++

Mention Java

Coding Considerations

Complexity of the Task

Supporting Context Within Components

Referencing of the context with which the components can run in. That they can be aware of the ASP environment and can have access to the resources of that environment.

ScriptingContext vs. ObjectContext

Comparison between the script context and object context. C++ is currently using the script context when components are created through the ATL Wizard. However, the script context has been declared obsolete by Microsoft, although it still runs within the system.

Threads

Threading Models

COM+ Services.

An extension to the Component Object Model, COM+ builds on COM's integrated services and features, making it easier for developers to create and use software components in any language, using any tool. Delivered on the Windows-based platform, COM+ is designed to preserve and extend developers' current investments in COM. Applications currently using COM technology will work in the COM+ environment.

Transaction Services.

Intended for line-of-business and electronic-commerce applications with Web-based interfaces, Transaction Services work with COM+ to make it easier to develop and deploy server-centric applications. Transaction Services offer comprehensive component functionality such as automatic transaction support for data-integrity protection; simple role-based security; and access to popular databases, message queuing products, and mainframe-based applications. This feature also includes performance-enhancing features such as connection-pooling.

Object Pooling.

Object pooling is an automatic service provided by COM+ that enables you to configure a component so that instances of it are kept active in a pool, ready to be used by any client that requests the component. You can administratively configure and monitor the pool maintained for a given component, specifying characteristics such as pool size and creation request timeout values. Once the application is running, COM+ manages the pool for you, handling the details of object activation and reuse according to the criteria you have specified. You can achieve significant performance and scalability benefits by reusing objects in this manner, particularly when they are written to take full advantage of reuse.

COM+ Events.

COM+ Events is a Loosely Coupled Events system that stores event information from different publishers in an event store in the COM+ catalog. Subscribers query this store and select the events that they want information about. Selecting event information from the event store creates a subscription. When an event occurs, the event system checks this database to find the interested subscribers, creates a new object of each interested class, and calls a method on that object. COM+ Events is designed to avoid the disadvantages of Tightly Coupled Events (TCE), such as polling, the need for both publisher and subscriber to be running at all times, divergent callback mechanisms, and the inability to filter or intercept an event.

Queued Components.

Queued Components is a key feature of COM+ that is based on Microsoft Message Queuing. It provides an easy way to invoke and execute components asynchronously. Processing can occur without regard to the availability or accessibility of either the sender or receiver. A home shopping network, for example, might benefit from asynchronous processing, where viewers phone in to several operators, orders are taken en masse, and then they are queued for later retrieval and processing by the server.

Shared Properties

(C) copyright 2003 - Wayne Plourde