Sebastopol, CA--Component-oriented development is a natural choice for building scalable, robust applications, especially large-scale enterprise applications. Developers know that by breaking a large system down into smaller units, they can write code that's easier to reuse on other projects, easier to distribute across multiple computers, and easier to maintain. For components that run on Windows machines, the standard is COM, or the Microsoft Component Object Model.
The problem many developers faced in the early days of component development was that they would spend more of their time dealing with connectivity issues and managing the component environment than they would designing the components. As Juval Lowy, author of COM and .NET Component Services (O'Reilly, US $39.95) explains, "Developers still manage many aspects of their applications, such as object instances, transactions, concurrency, security, asynchronous calls, disconnected work, publishing and subscribing to events. These connectivity or 'plumbing' issues have almost nothing to do with the functionality that customers are paying for, and yet developers spend as much as 80% of their time on 'plumbing' (and sometimes as high as 95%), instead of adding business value to their applications. Not only that, but the majority of the bugs--and the time spent fixing them--are usually traced back to connectivity and plumbing defects, not to the business problem addressed by the application."
When COM was first introduced by Microsoft, it solved a number of problems facing early component developers by providing a binary standard for components, defining a communication interface, and providing a way to link components dynamically. The latest suite of component services, called COM+ component services, or Enterprise Services on the .NET platform, includes many new supporting services and added functionality. As Lowy says, "COM and .NET Enterprise Services can basically take care and manage all the connectivity and 'plumbing' aspects of the application, and let the developers focus on implementing the business logic. They not only gain productivity and faster time to market, but also quality because Microsoft has done an excellent job in implementing these services, both in robustness and in performance."
The current shift from Windows and COM-based applications to .NET makes learning the use of COM+ services even more important, says Lowy. He explains, "Both COM and .NET rely on COM+ (Enterprise Services in .NET) for component services. .NET offers several exciting new application frameworks such as Web Services, ASP.NET, WinForms, WebForms, and ADO.NET. However, adopting a radically new technology such as .NET is not going to be an easy endeavor for companies and developers. Most companies have considerable investments in existing code base and development skills, and unless they have a compelling reason to move to .NET or a reasonable migration path, companies will avoid .NET."
Lowy explains that COM+ can offer such a migration path for companies and developers. "Companies can start (or continue) their projects in COM, using COM+ as a supporting platform for component services, and then when the time comes to move to .NET, they can use the same infrastructure to plug their .NET components into, in a very seamless manner, reusing and interacting with their existing COM components."
COM and .NET Component Services is the first book to teach the use of COM+ services for both .NET and COM component-based applications. It provides practical information on using COM+ component services in applications, focusing on how to apply the technology, how to avoid specific pitfalls, and offering design guidelines. Both traditional COM programmers and the new .NET component developers will find the information they need to begin developing COM+ applications that take full advantage of the COM+ services.
"COM+ is not going away," says Lowy. "It's here to stay as long as there are enterprise applications. On the horizon we'll see even more component services, and I believe that its role will be more crucial than ever before as .NET and the need for high throughput, scalable distributed applications become more pervasive."
An article by the author, "From COM to .NET" can be found online.
Chapter 10, ".NET Serviced Components," is available free online.
More information about the book, including Table of Contents, index, author bio, and samples.
A cover graphic in jpeg format.
For over 40 years, O’Reilly has provided technology and business training, knowledge, and insight to help companies succeed. Our unique network of experts and innovators share their knowledge and expertise through the company’s SaaS-based training and learning platform. O’Reilly delivers highly topical and comprehensive technology and business learning solutions to millions of users across enterprise, consumer, and university channels. For more information, visit www.oreilly.com.