Enterprise Services with the .NET Framework : Developing Distributed Business Solutions with .NET Enterprise Services

Christian Nagel

  • 出版商: Addison Wesley
  • 出版日期: 2005-06-01
  • 售價: $2,290
  • 貴賓價: 9.5$2,176
  • 語言: 英文
  • 頁數: 576
  • 裝訂: Paperback
  • ISBN: 032124673X
  • ISBN-13: 9780321246738
  • 相關分類: .NET
  • 海外代購書籍(需單獨結帳)

買這商品的人也買了...

商品描述

Description:

"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 guidance—let alone a consolidated reference. Christian has provided that reference and more—going 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

 

Table of Contents:

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.

商品描述(中文翻譯)

描述:
對於.NET社群的任何參與者來說,很難不知道Christian Nagel。Christian是.NET的重量級人物,尤其在企業服務方面更是如此。通過將一個相對簡單的應用程序架構成可以無需重新工作即可擴展的方式,使用本書中所使用的技術將對任何運行分佈式或企業應用程序的公司都有益處。

"無論您是一位經驗豐富的架構師還是一位新手開發人員,分佈式應用程序開發都很困難,因為它涵蓋了如此廣泛的複雜技術。直到現在,幾乎沒有任何指導,更不用說統一的參考資料了。Christian提供了這樣的參考資料,並且更進一步,從個別技術到如何架構和開發可擴展的分佈式應用程序的整體圖景。從頭到尾都是技術上的好東西!"

"轉向分佈式應用程序架構會引入許多安全性和部署問題,並需要以新的方式思考事件、事務和消息。本書向開發人員和架構師展示如何使用.NET企業服務在分佈式環境中創建強大、安全和可維護的應用程序。本書是一本對於.NET企業服務這個有時令人不知所措的領域的優秀指南。"

".NET Framework的企業服務是經驗豐富的.NET開發人員學習如何編寫分佈式、面向服務的應用程序所需的唯一一本書。本書以C#為例(網上提供Visual Basic .NET的示例),將快速使您掌握使用服務組件構建分佈式應用程序的技能。您還將了解到Indigo,微軟用於構建分佈式應用程序的下一代技術,以及它與企業服務的比較。"

微軟區域總監、MVP和資深作者Christian Nagel介紹並清晰解釋了企業服務中包含的四個主要服務:自動事務、佇列組件、鬆散耦合事件和基於角色的安全性。從他深入的介紹中,您將學到:

如何創建服務組件,服務對象如何激活,以及如何使用不同類型的對象上下文
如何為服務組件管理並發性和同步,以實現最佳性能和數據完整性
如何將COM組件與.NET Framework集成
如何使用服務組件通過DCOM、SOAP服務和ASP.NET Web服務在網絡上使用
如何使用.NET企業服務事務實現原子性、一致性、隔離性和持久性