
Enterprise Services with the .NET Framework
Developing Distributed Business Solutions with .NET Enterprise Services
Christian Nagel(Author)
Addison Wesley (Publisher)
Published on 23. June 2005
Book
Paperback/Softback
576 pages
978-0-321-24673-8 (ISBN)
Description
.NET Enterprise Services is a managed class in COM+ that allows developers to build scalable applications quickly and easily, by automated business solutions, rather than writing code from scratch. .NET Enterprise Services are delivered as a part of the Windows 2003 operating system, and also work with Web Services. While Microsoft is currently encouraging developers to build distributed applications using Enterprise Services, there is little information available. Enterprise Services with the .NET Framework responds to the needs of all developers looking to build and automate business solutions using the .NET Framework. It is the only book that clearly explains what .NET Enterprise Services are and how to use them to build effective distributed business applications. It presents the big picture of .NET Enterprise Services using clear explanations and practical examples. It discusses the architecture using straightforward language and demonstrates how to use all of the Enterprise Services technologies to develop scalable distributed applications.
More details
Series
Language
English
Place of publication
New Jersey
United States
Publishing group
Pearson Education (US)
Target group
College/higher education
Dimensions
Height: 232 mm
Width: 176 mm
Thickness: 30 mm
Weight
820 gr
ISBN-13
978-0-321-24673-8 (9780321246738)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Person
About the Author
Christian Nagel is a software architect, trainer, consultant, and associate of Thinktecture, offering training and coaching of Microsoft .NET technologies. For his achievements in the developer community he was named Microsoft Regional Director and MVP for Visual C#. He enjoys an excellent reputation as an author of several .NET books, including Professional C# (Wrox 2004), Pro .NET Network Programming (Apress 2004), and C# Web Services (Wrox 2001). He speaks regularly at international industry conferences.
Christian has more than 15 years of experience as a developer and software architect. He started his computing career with PDP 11 and VAX/VMS platforms, covering a variety of languages and platforms. Since 2000 he has been developing and architecting distributed solutions with .NET and C#.
http://www.christiannagel.com
http://www.thinktecture.com
(c) Copyright Pearson Education. All rights reserved.
Christian Nagel is a software architect, trainer, consultant, and associate of Thinktecture, offering training and coaching of Microsoft .NET technologies. For his achievements in the developer community he was named Microsoft Regional Director and MVP for Visual C#. He enjoys an excellent reputation as an author of several .NET books, including Professional C# (Wrox 2004), Pro .NET Network Programming (Apress 2004), and C# Web Services (Wrox 2001). He speaks regularly at international industry conferences.
Christian has more than 15 years of experience as a developer and software architect. He started his computing career with PDP 11 and VAX/VMS platforms, covering a variety of languages and platforms. Since 2000 he has been developing and architecting distributed solutions with .NET and C#.
http://www.christiannagel.com
http://www.thinktecture.com
(c) Copyright Pearson Education. All rights reserved.
Content
About the Author
Foreword
Preface
Acknowledgments
1. Introducing .NET Enterprise Services.
Building Applications
Application Layers
Logical Tiers and Physical Systems
Clustering Solutions
Service-Oriented Architecture
Smart Clients
The History of Application Services
COM and .NET
Microsoft Transaction Server
COM+ 1.0
.NET Enterprise Services
Applications and Components
Declarative Programming
Catalog
Administration
Application Services
Automatic Transactions
Queued Components
Loosely Coupled Events
Role-Based Security
New Features with COM+ 1.5
Summary
2. Object Activation and Contexts.
Contexts
.NET Remoting Contexts
Contexts with Serviced Components
Mixing .NET and COM+ Contexts
Creating a Serviced Component
Assembly Attributes
Signing the Assembly
Global Assembly Cache
Using Interfaces
ServicedComponent Class
Component Registration
Client Applications
Debugging
Library Applications
Server Applications
Object Activation
Construction Strings
Just-in-Time Activation (JITA)
JITA and Object Disposing
Object Pooling
Private Components
Application Activation
Summary
3. Concurrency.
Synchronization Overview
Using Locks
Interlocked Class
More Synchronization Options
Apartments
Single-Threaded Apartments
Multithreaded Apartments
Thread-Neutral Apartments
.NET Enterprise Services Synchronization
Activity
Configuring Synchronization
Synchronization Example
Reentrancy
Selecting the Synchronization Option
Services Without Components
ServiceDomain Class
ServiceConfig Class
Activity Class
Using a New Activity
Starting a New Context
Summary
4. COM Interop.
.NET Clients Without COM Interop
Side-by-Side Support
COM Interoperability
COM Callable Wrappers and Runtime Callable Wrappers
Default COM Configuration
Generated Type Library
COM Interface Types
Custom Interfaces
Dispatch Interfaces
Dual Interfaces
ComVisible Attribute
Versioning
Applications
Components
Interfaces
COMCompatibleVersion Attribute
Finding Assemblies
Private and Shared Assemblies
COM Registry Entries
COM and .NET Requirements
Visual Basic 6 Clients
C++ COM Clients
Scripting Clients
Calling a COM Object
C++ Component
Runtime Callable Wrapper
.NET Component
Registration
Client Application
Summary
5. Networking.
DCOM
DCOM Transport Protocols
Application Proxies
Creating an Application Proxy
Installing the Application Proxy
Creating a DCOM Client Application
SOAP Services
.NET Remoting Overview
Creating a Serviced Component Using .NET Remoting
Configuring the Server Application
Creating a .NET Remoting Client
Disadvantages of SOAP Services
Web Services
Overview
Implementing a Web Service with ASP.NET
Creating a Proxy
Summary
6. Data Access.
ADO.NET Overview
Sample Database
Entity Classes
Database Access
Database Query
Insert
Update
Calling Stored Procedures
Datasets
Filling Datasets
Updating Datasets
Summary
7. Transaction Services.
Transaction Overview
ACID Properties
Distributed Transactions
Programmatic Transactions
Automatic Transactions
Transaction Attributes
Transaction Streams
Transaction Outcomes
ContextUtil Methods
Automatic Transaction Example
Setting the Transactional Vote
AutoComplete Attribute
Distributed Transactions
Transactions with Services Without Components
Transactions Support with ASP.NET
Transaction Isolation
Potential Transaction Isolation Problems
Transaction Isolation Levels
Monitoring the DTC
Transactions with .NET 2.0
Summary
8. Compensating Resource Management.
CRM Architecture
CRM Application Classes
CRM Application Example
Application Configuration
Helper Classes
Worker Components
Compensator Components
Client Applications
Monitoring
Summary
9. State Management.
State Characteristics
Stateful or Stateless Components
Databases and Files
Isolated Storage
Active Directory
Shared Property Manager
Shared Property Group Manager
Shared Property Group
Shared Property
Client Application
SPM State Characteristics
ASP.NET State Management
Session
Cache
Accessing ASP.NET State from Within Serviced Components
ASP.NET State Characteristics
Client State Management
SOAP Headers
.NET Remoting Call Contexts
Summary
10. Queued Components.
Overview
Product Versions
Message Queuing Server
Message Queuing Client
Message Queuing Features
Message Queues
Messages
Administration Tools
Creating a Queued Component
Assembly Attributes
Interface Definition
The CourseControl Class
Registration
Client
Error Handling
Transactional Queues
Returning Data
Summary
11. Loosely Coupled Events.
LCE Overview
Event Class
Publishers
Subscribers
Filters
Programming LCEs
Event Class
Publisher
Persistent Subscriber
Transient Subscriber
Filters
Subscriber Filters
Publisher Filters
Using LCEs Across the Network
LCE Routing
Event Class Proxies
LCE and Queued Components
Event Classes as Queued Components
Subscribers as Queued Components
Summary
12. Security.
Security Overview
Windows Security
SQL Server
Internet Information Server
ASP.NET Web Applications
ASP.NET Web Services
Enterprise Services
Identity
Authorization
Enabling Access Checks
Defining Roles
Defining Role Access
Checking Roles Within Methods
Authentication Levels and Impersonation
Authentication Levels
Impersonation
Reading the Identity of the Caller
Enterprise Services and .NET Remoting
Summary
13. Deployment and Configuration.
Deployment
Automatic Deployment
Manual Deployment
Creating a Custom Installer
Creating an Installation Package
Attributes
Admin Components
Configuring the Application as a Service
Summary
14. The Future of Distributed Applications.
Web Services Specifications
Network Communication
Reliable Messaging
Transactions
Security
Indigo
Hosting Environments
System Services
Connector
Service Model
Messaging Services
Moving from Enterprise Services to Indigo
Summary
15. Case Study.
Use Case-Course Management
Sample Projects
CourseManagement.Entities-Entity Classes
The CourseManagement Database
CourseManagement.Data-Data Access
CourseManagement.Control-Serviced Components
CourseManager-Windows Forms Client
CourseRegistrationService-Web Services
CourseRegistrationWeb-Web Application
CourseRegistration-Queued Component
Summary
Final Thoughts.
Further Reading.
Index.
Foreword
Preface
Acknowledgments
1. Introducing .NET Enterprise Services.
Building Applications
Application Layers
Logical Tiers and Physical Systems
Clustering Solutions
Service-Oriented Architecture
Smart Clients
The History of Application Services
COM and .NET
Microsoft Transaction Server
COM+ 1.0
.NET Enterprise Services
Applications and Components
Declarative Programming
Catalog
Administration
Application Services
Automatic Transactions
Queued Components
Loosely Coupled Events
Role-Based Security
New Features with COM+ 1.5
Summary
2. Object Activation and Contexts.
Contexts
.NET Remoting Contexts
Contexts with Serviced Components
Mixing .NET and COM+ Contexts
Creating a Serviced Component
Assembly Attributes
Signing the Assembly
Global Assembly Cache
Using Interfaces
ServicedComponent Class
Component Registration
Client Applications
Debugging
Library Applications
Server Applications
Object Activation
Construction Strings
Just-in-Time Activation (JITA)
JITA and Object Disposing
Object Pooling
Private Components
Application Activation
Summary
3. Concurrency.
Synchronization Overview
Using Locks
Interlocked Class
More Synchronization Options
Apartments
Single-Threaded Apartments
Multithreaded Apartments
Thread-Neutral Apartments
.NET Enterprise Services Synchronization
Activity
Configuring Synchronization
Synchronization Example
Reentrancy
Selecting the Synchronization Option
Services Without Components
ServiceDomain Class
ServiceConfig Class
Activity Class
Using a New Activity
Starting a New Context
Summary
4. COM Interop.
.NET Clients Without COM Interop
Side-by-Side Support
COM Interoperability
COM Callable Wrappers and Runtime Callable Wrappers
Default COM Configuration
Generated Type Library
COM Interface Types
Custom Interfaces
Dispatch Interfaces
Dual Interfaces
ComVisible Attribute
Versioning
Applications
Components
Interfaces
COMCompatibleVersion Attribute
Finding Assemblies
Private and Shared Assemblies
COM Registry Entries
COM and .NET Requirements
Visual Basic 6 Clients
C++ COM Clients
Scripting Clients
Calling a COM Object
C++ Component
Runtime Callable Wrapper
.NET Component
Registration
Client Application
Summary
5. Networking.
DCOM
DCOM Transport Protocols
Application Proxies
Creating an Application Proxy
Installing the Application Proxy
Creating a DCOM Client Application
SOAP Services
.NET Remoting Overview
Creating a Serviced Component Using .NET Remoting
Configuring the Server Application
Creating a .NET Remoting Client
Disadvantages of SOAP Services
Web Services
Overview
Implementing a Web Service with ASP.NET
Creating a Proxy
Summary
6. Data Access.
ADO.NET Overview
Sample Database
Entity Classes
Database Access
Database Query
Insert
Update
Calling Stored Procedures
Datasets
Filling Datasets
Updating Datasets
Summary
7. Transaction Services.
Transaction Overview
ACID Properties
Distributed Transactions
Programmatic Transactions
Automatic Transactions
Transaction Attributes
Transaction Streams
Transaction Outcomes
ContextUtil Methods
Automatic Transaction Example
Setting the Transactional Vote
AutoComplete Attribute
Distributed Transactions
Transactions with Services Without Components
Transactions Support with ASP.NET
Transaction Isolation
Potential Transaction Isolation Problems
Transaction Isolation Levels
Monitoring the DTC
Transactions with .NET 2.0
Summary
8. Compensating Resource Management.
CRM Architecture
CRM Application Classes
CRM Application Example
Application Configuration
Helper Classes
Worker Components
Compensator Components
Client Applications
Monitoring
Summary
9. State Management.
State Characteristics
Stateful or Stateless Components
Databases and Files
Isolated Storage
Active Directory
Shared Property Manager
Shared Property Group Manager
Shared Property Group
Shared Property
Client Application
SPM State Characteristics
ASP.NET State Management
Session
Cache
Accessing ASP.NET State from Within Serviced Components
ASP.NET State Characteristics
Client State Management
SOAP Headers
.NET Remoting Call Contexts
Summary
10. Queued Components.
Overview
Product Versions
Message Queuing Server
Message Queuing Client
Message Queuing Features
Message Queues
Messages
Administration Tools
Creating a Queued Component
Assembly Attributes
Interface Definition
The CourseControl Class
Registration
Client
Error Handling
Transactional Queues
Returning Data
Summary
11. Loosely Coupled Events.
LCE Overview
Event Class
Publishers
Subscribers
Filters
Programming LCEs
Event Class
Publisher
Persistent Subscriber
Transient Subscriber
Filters
Subscriber Filters
Publisher Filters
Using LCEs Across the Network
LCE Routing
Event Class Proxies
LCE and Queued Components
Event Classes as Queued Components
Subscribers as Queued Components
Summary
12. Security.
Security Overview
Windows Security
SQL Server
Internet Information Server
ASP.NET Web Applications
ASP.NET Web Services
Enterprise Services
Identity
Authorization
Enabling Access Checks
Defining Roles
Defining Role Access
Checking Roles Within Methods
Authentication Levels and Impersonation
Authentication Levels
Impersonation
Reading the Identity of the Caller
Enterprise Services and .NET Remoting
Summary
13. Deployment and Configuration.
Deployment
Automatic Deployment
Manual Deployment
Creating a Custom Installer
Creating an Installation Package
Attributes
Admin Components
Configuring the Application as a Service
Summary
14. The Future of Distributed Applications.
Web Services Specifications
Network Communication
Reliable Messaging
Transactions
Security
Indigo
Hosting Environments
System Services
Connector
Service Model
Messaging Services
Moving from Enterprise Services to Indigo
Summary
15. Case Study.
Use Case-Course Management
Sample Projects
CourseManagement.Entities-Entity Classes
The CourseManagement Database
CourseManagement.Data-Data Access
CourseManagement.Control-Serviced Components
CourseManager-Windows Forms Client
CourseRegistrationService-Web Services
CourseRegistrationWeb-Web Application
CourseRegistration-Queued Component
Summary
Final Thoughts.
Further Reading.
Index.