Home > Store > Software Development & Management > Patterns
Enterprise Services with the .NET Framework: Developing Distributed Business Solutions with .NET Enterprise Services
- By Christian Nagel
- Published Jun 3, 2005 by Addison-Wesley Professional. Part of the Microsoft .NET Development Series series.
- Copyright 2005
- Dimensions: 7x9-1/4
- Pages: 576
- Edition: 1st
- Book
- ISBN-10: 0-321-24673-X
- ISBN-13: 978-0-321-24673-8
Register your product to gain access to bonus material or receive a coupon.
"For anyone involved in the .NET community, it's hard to not have heard of Christian Nagel. Christian is a true heavyweight of .NET in general, and Enterprise Services in particular. By taking a relatively trivial application and architecting it in a way that would allow it to scale without any rework, users will find that using the techniques employed in this book will be of benefit to virtually any company that is running distributed or enterprise applications."
William G. Ryan, Microsoft MVP, Senior Software Developer, TiBA Soutions, LLC
"Whether you are a seasoned architect or a new developer, distributed application development can be difficult, since it covers such a wide range of complex technologies. Until now there was precious little in the way of guidancelet alone a consolidated reference. Christian has provided that reference and moregoing from the individual technologies to the big picture on how to architect and develop scalable distributed applications. Technical goodness through and through!"
Clayton Burt, Managing Partner, Onzo, LLC
"Making the transition to distributed application architecture introduces many issues in security and deployment and requires a new way of thinking about events, transactions, and messaging. This book shows developers and architects alike how to use .NET Enterprise Services to create robust, secure, and maintainable applications in a distributed environment. This book is an excellent guide to the sometimes overwhelming field of .NET Enterprise Services."
Brian Davis, Director of Software Development, InfoPro Group, Inc., Co-Creator, KnowDotNet.com
Enterprise Services with the .NET Framework is the only book that experienced .NET developers need to learn how to write distributed, service-oriented applications. Filled with clear examples in C# (with Visual Basic .NET examples available on the Web), this book will quickly get you up to speed on building distributed applications with serviced components. You'll also learn about Indigo, Microsoft's next-generation technology for building distributed applications, and how it compares to Enterprise Services.
Microsoft Regional Director, MVP, and veteran author Christian Nagel introduces and clearly explains the four major services included in Enterprise Services: Automatic Transactions, Queued Components, Loosely Coupled Events, and Role-Based Security. From his in-depth coverage, you'll learn
How to create a serviced component, how serviced objects are activated, and how to use the different kinds of object contexts
How to manage concurrency and synchronization for serviced components to achieve optimal performance and data integrity
How to integrate COM components with the .NET Framework
How to use serviced components over a network with DCOM, SOAP Services, and ASP.NET Web services
How to use .NET Enterprise Services transactions to achieve Atomicity, Consistency, Isolation, and Durability
How to build a compensating resource manager to allow your own resources to participate in Enterprise Services transactions
How to maintain application state in a client application, in a serviced component, in shared properties, or in a database
How to create and use Loosely Coupled Events using COM+
How to secure a distributed solution using authorization, authentication, impersonation, and confidentiality
How to deploy and configure Enterprise Services applications
© Copyright Pearson Education. All rights reserved.
Related Article
Online Sample Chapter
Enterprise Services with the .NET Framework: Transaction Services
Sample Chapter(s)
Download the Sample
Chapter related to this title.
Index
Download the Index
file related to this title.
Preface
Preface
This book is the result of many years of work. I started developing distributed business solutions on Microsoft platforms when the Microsoft Transaction Server was released in 1996. Since then I have worked on several projects helping customers with the design and implementation of business solutions. I have been asked to do many thingssuch as integrating existing technologies and creating custom frameworks that can be extended in a flexible way for certain applications.
When Microsoft showed a preview version of .NET at the Professional Developers Conference in 2000 I was really excited about this new technology. Since then I've co-authored many .NET books, including Professional C# (Wrox 2004), Beginning Visual C# (Wrox 2002), C# Web Services (Wrox 2001), and Prof .NET Network Programming (Apress 2004).
Many of the things I've learned over the years have been combined to form this book.
Why would you use .NET Enterprise Services? .NET Enterprise Services is the .NET way to use COM+ Services, a technology that is part of the operating system and is used by companies throughout the world. .NET Enterprise Services extends COM+ Services with .NET behavior to make use of this technology. Regardless of whether you use Windows Forms or ASP.NET to create business solutions that have front-end applications, on the server side common features are needed for building scalable and interoperable solutions.
With .NET Enterprise Services you get features such as resource management with object pooling and thread pooling, automatic and distributed transactions, a lose connection between the server and the client for performing callbacks, queued components that can be used as an abstraction layer for message queuing, role-based security, and much more.
Who Should Read this Book?
This book isn't an introduction to .NET programming; there are many other books that fill that role. With this book I assume you already have some knowledge of .NET programming.
Although COM+ is the base of .NET Enterprise Services, COM knowledge is not a requirement for understanding this book or for creating .NET Enterprise Services solutions. However, if you do have COM knowledge and want to integrate existing COM components with .NET applications, this book will provide you with great information.
Organization
This book contains 15 chapters that show the services offered by .NET Enterprise Services. First, this book introduces you to all these services. It then teaches you the fundamentals of Enterprise Services by stepping into the core technologies. Finally, it describes all the services in separate chapters. With each chapter you get an architectural viewpoint of the reasons and usage scenarios of the services and then you dig into the code. After an overview of the technology you will find many code examples, so you not only learn about the features, you also learn how to use them. Throughout the book are tips and tricks that help reveal the best aspects of this technology. The final chapter presents a case study in which different services are combined so you can see them interact in a real-world scenario.
Chapter 1, "Introducing .NET Enterprise Services," provides an overview of the technologies that are related to Enterprise Services. Here you get a clear picture of what technologies you can and should use in your business solutions. A background of the evolution from MTS to COM+ and .NET Enterprise Services helps you better understand these technologies.
Chapter 2, "Object Activation and Context," covers the base technology of COM+ and .NET Enterprise Services. It provides information about how the services are made possible. You also learn about the interception mechanisms. The first serviced components are built in this chapter, and you see contexts and object activation in action.
Chapter 3, "Concurrency," teaches you the basic knowledge of running threads concurrently and how to avoid race conditions and deadlocks. After discussing COM apartment models, the chapter explains COM+ activities. Services Without Componentsa new feature with COM+ 1.5plays an important role in this chapter.
Chapter 4, "COM Interop," is ideal for those who have existing COM components that should be integrated with new .NET serviced components in their business solution. Here you learn the integration of COM and .NET technologies.
Chapter 5, "Networking," provides information about accessing the .NET Enterprise Services application using DCOM, .NET Remoting, and Web services. You will also learn which technologies are preferred based on application context.
Chapter 6, "Data Access," teaches you how to access databases with ADO.NET. This chapter not only provides an introduction to ADO.NET, it also gives you some tips and tricks on how to best use ADO.NET in a distributed environment.
Chapter 7, "Transactions," explains the ACID properties that describe a transaction (Atomicity, Consistency, Isolation, and Durability), shows you how to program transactions with ADO.NET, and describes all the transaction options and settings in .NET Enterprise Services. You'll learn about the functionality of the different features, and how to determine how your components should be configured from a transactional viewpoint.
Chapter 8, "Compensating Resource Manager," demonstrates how you can create your own resource manager that participates with the transactions of the distributed transaction coordinator (DTC).
Chapter 9, "State Management"should you create stateful or stateless components? Where should you put the stateon the client or on the server? This chapter points out the different options of the state with various application models.
Chapter 10, "Queued Components," is an often overlooked technology with distributed solutions. In this chapter you'll read about the functionality of message queuing, and the abstraction layer Queued Components that makes it possible to invoke methods of components that are automatic-ally converted to messages and thus can be used in a disconnected environment.
Chapter 11, "Loosely Coupled Events," compares COM and .NET event models to the event model that is offered with .NET Enterprise Services. With LCE an interception model is used when the component does not directly interact with the client. You will read about how loosely coupled events can be used in different scenarios, and how filters can be defined.
Chapter 12, "Security," explains authorization, authentication, impersonation, and confidentiality concepts of a distributed solution in regard to Enterprise Services applications. Because many products interact with .NET Enterprise Services in a business solution, this chapter discusses security issues of SQL Server, ASP.NET Web applications, Web services, and .NET Remoting along with the security issues of .NET Enterprise Services itself.
Chapter 13, "Deployment and Configuration," covers how to install and configure server applications and client applications with the proxies that access the serviced components.
Chapter 14, "The Future of Distributed Applications," provides information about upcoming technologies, and how you can prepare for them in your applications today.
Chapter 15, "Case Study" is a roundup of the technologies covered in the previous chapters. It combines their features to build an application that includes technologies from the client side to the database so you can see many .NET Enterprise Services features in collaboration.
Sample Code
The sample code in this book is C#although in Chapter 4 you can find C++, Visual Basic, and JavaScript code, which demonstrates COM interop. You can download the sample code from the book's website: http://www.christiannagel.com/EnterpriseServices. A Visual Basic .NET version of the code is also available on the website.
Contact
If you have feedback about this book or you want training and/or consulting with .NET Enterprise Services and Web services, you can contact me through my website: http://www.christiannagel.com.
Feedback is always welcome!
Christian Nagel
http://www.christiannagel.com
http://www.thinktecture.com