SOA with .NET and Windows Azure: Realizing Service-Orientation with the Microsoft Platform

Author:   Thomas Erl ,  David Chou ,  John deVadoss ,  Nitin Gandhi
Publisher:   Pearson Education (US)
ISBN:  

9780131582316


Pages:   912
Publication Date:   10 June 2010
Format:   Hardback
Availability:   In Print   Availability explained
Limited stock is available. It will be ordered for you and shipped pending supplier's limited stock.

Our Price $145.17 Quantity:  
Add to Cart

Share |

SOA with .NET and Windows Azure: Realizing Service-Orientation with the Microsoft Platform


Add your own review!

Overview

“Explaining the intersection of these two worlds--service-orientation and .NET technologies--is exactly what this book does. Its team of specialist authors provides a concrete, usable guide to this combination, ranging from the fundamentals of service-orientation to the more rarified air of .NET services in the cloud and beyond. If you’re creating service-oriented software on the Microsoft platform--that is, if you’re a serious .NET developer--mastering these ideas is a must.” --From the Foreword by David Chappell, Chappell & Associates   “Microsoft’s diverse product line has long supported the service-oriented enterprise, but putting it all together into a cohesive whole can be daunting. From more established products, like Windows Communication Foundation, Windows Workflow Foundation, Microsoft Office SharePoint Server, and BizTalk Server, to newer offerings like Windows Azure and AppFabric, the experts assembled here expose the sweet spots for each technology, talk through the high-level trade-offs, and offer a roadmap to a unified Microsoft SOA story.” --Kevin P. Davis, Ph.D., Software Architect   “This book excels in giving hands-on and in-depth expertise on the SOA architecture style with the .NET framework and the Azure cloud platform. It’s a practical guide for developers, architects, and SOA implementers. A must read!” --Ricardo P. Schluter, ICT Architect, Parnassia Bavo Group   “While the industry overall may have hyped ‘the cloud’ to the level it often seems to cure world hunger, SOA with .NET and Windows Azure helps cut through the questions and hype and more clearly discusses the benefits and practical techniques for putting it to work in the real world. This book helps you understand the benefits associated with SOA and cloud computing, and also the techniques for connecting your current IT assets with new composite applications and data running in the cloud. This book will help you understand modern middleware technologies and harness the benefits of the cloud both on and off premises.” --Burley Kawasaki, Director of Product Management, Microsoft   “The authors have a combined SOA and .NET experience of several decades–which becomes obvious when reading this book. They don’t just lead you down one path with a single descriptive solution. Instead, the sometimes nasty trade-offs that architects face in their design decisions are addressed. These are then mapped to the Microsoft .NET platform with clear code examples. A very refreshing look at this major contender in the SOA space and a definite must for the .NET SOA practitioner!” --Dr. Thomas Rischbeck, IT Architect, Innovation Process Technology   “In order to evolve as a software craftsman one must read excellent books that will help you grow and evolve in your profession. One of those books that every software craftsmen interested in good design and best practices should read is SOA with .NET and Windows Azure. With this book, you will learn which design patterns will provide the best solution for the kinds of software design problems you, as a developer or designer, face every day. This book has everything that software architects, software designers, and programmers need to know when building great quality software with Microsoft technologies.   “This will undoubtedly be one of those books that you reference repeatedly when starting new SOA projects. There is plenty of information that even those not working with typical service-oriented architecture will find very useful. With plenty of real-life examples (code, design, and modeling), readers see in a practical manner how they could use SOA patterns to solve everyday software problems and be more productive. SOA with .NET and Windows Azure will fit in my top three books and will definitely be one of those that I will use in my everyday work.” --Arman Kurtagic, Consultant at Omegapoint AB     The Authoritative Guide to Building Service-Oriented Solutions with Microsoft .NET Technologies and the Windows Azure Cloud Computing Platform In SOA with .NET and Windows Azure, top Microsoft technology experts team up with Thomas Erl to explore service-oriented computing with Microsoft’s latest .NET service technologies and Windows Azure innovations.   The authors provide comprehensive documentation of on-premise and cloud-based modern service technology advancements within the Microsoft platform and further show how these technologies have increased the potential for applying and realizing service-orientation practices and goals.   Specifically, the book delves into Microsoft enterprise technologies, such as: Windows Communication Foundation (WCF) Windows Azure Windows Workflow Foundation (WF) Windows Azure AppFabric BizTalk Server Windows Presentation Foundation (WPF) ...as well as industry service mediums, including WS-* and REST, and many related service industry standards and technologies.   The book steps through common SOA design patterns and service-orientation principles, along with numerous code-level examples that further detail various technology architectures and implementations.   Topic Areas This book covers the following primary topics: Microsoft Service Technologies Microsoft Enterprise Technologies On-Premise & Cloud-Based Service Topics Industry Service Technologies & Mediums Service-Oriented Technology Architectural Models Service-Orientation Design Paradigm Service-Orientation Design Principles SOA Design Patterns   About the Web Sites This book series is further supported by a series of resources sites, including: www.soabooks.com www.soaspecs.com www.soamag.com www.serviceorientation.com  www.soapatterns.org www.soaprinciples.com www.whatissoa.com    

Full Product Details

Author:   Thomas Erl ,  David Chou ,  John deVadoss ,  Nitin Gandhi
Publisher:   Pearson Education (US)
Imprint:   Prentice Hall
Dimensions:   Width: 10.00cm , Height: 10.00cm , Length: 10.00cm
Weight:   0.100kg
ISBN:  

9780131582316


ISBN 10:   0131582313
Pages:   912
Publication Date:   10 June 2010
Audience:   College/higher education ,  Tertiary & Higher Education
Format:   Hardback
Publisher's Status:   Out of Print
Availability:   In Print   Availability explained
Limited stock is available. It will be ordered for you and shipped pending supplier's limited stock.

Table of Contents

Foreword by S. Somasegar     xxxi Foreword by David Chappell     xxxiii Acknowledgments     xxxv CHAPTER 1: Introduction     1 1.1 About this Book     2 1.2 Objectives of this Book     3 1.3 Who this Book is For     4 1.4 What this Book Does Not Cover     4 1.5 Prerequisite Reading     4 1.6 How this Book is Organized     6 Part I: Fundamentals     7 Chapter 3: SOA Fundamentals     7 Chapter 4: A Brief History of Legacy .NET Distributed Technologies     7 Chapter 5: WCF Services     7 Chapter 6: WCF Extensions     7 Chapter 7: .NET Enterprise Services Technologies     7 Chapter 8: Cloud Services with Windows Azure     8 Part II: Services and Service Composition     8 Chapter 9: Service-Orientation with .NET Part I: Service Contracts and Interoperability     8 Chapter 10: Service-Orientation with .NET Part II: Coupling, Abstraction, and Discoverability     8 Chapter 11: Service-Orientation with .NET Part III: Reusability and Agnostic Service Models     8 Chapter 12: Service-Orientation with .NET Part IV: Service Composition and Orchestration Basics     9 Chapter 13: Orchestration Patterns with WF     9 Chapter 14: Orchestration Patterns with BizTalk Server     9 Part III: Infrastructure and Architecture     9 Chapter 15: Enterprise Service Bus with BizTalk Server and Windows Azure     9 Chapter 16: Windows Azure Platform AppFabric Service Bus     10 Chapter 17: SOA Security with .NET and Windows Azure     10 Chapter 18: Service-Oriented Presentation Layers with .NET     10 Chapter 19: Service Performance Optimization     10 Chapter 20: SOA Metrics with BAM     10 Part IV: Appendices     10 Appendix A: Case Study Conclusion     10 Appendix B: Industry Standards Reference     11 Appendix C: Service-Orientation Principles Reference     11 Appendix D: SOA Design Patterns Reference     11 Appendix E: The Annotated SOA Manifesto     11 Appendix F: Additional Resources     11 1.7 How Principles and Patterns are Used in this Book     11 Sources     11 Reference Notation     12 1.8 Symbols, Figures, and Style Conventions     13 Symbol Legend     13 How Color is Used     13 Additional Information     13 Updates, Errata, and Resources (www.soabooks.com)     13 Master Glossary (www.soaglossary.com)     13 Referenced Specifications (www.soaspecs.com)     13 SOASchool.com™ SOA Certified Professional (SOACP)     14 The SOA Magazine (www.soamag.com)     14 Notification Service     14 CHAPTER 2: Case Study Background     15 2.1 How Case Studies Are Used     16 2.2 Case Study Background #1: Standard Mold     16 History     16 Technical Infrastructure     16 Business Goals and Obstacles     17 2.3 Case Study Background #2: Superior Stamping     18 History     18 Technical Infrastructure     18 Business Goals and Obstacles     19   PART I: FUNDAMENTALS CHAPTER 3: SOA Fundamentals     23 3.1 Basic SOA Terminology     24 Service-Oriented Computing     25 Service-Orientation     25 Service-Oriented Architecture (SOA)     27 Services     28 Services as Components     29 Services as Web Services     30 Services as REST Services     31 Service Models     31 Agnostic Logic and Non-Agnostic Logic     32 Service Composition     33 Service Inventory     34 Service-Oriented Analysis     34 Service Candidate     35 Service-Oriented Design     35 Service Contract     36 Service-Related Granularity     37 SOA Design Patterns     38 3.2 Service-Oriented Computing Goals     40 Increased Intrinsic Interoperability     40 Increased Federation     40 Increased Vendor Diversification Options     40 Increased Business and Technology Domain Alignment     41 3.3 Further Reading     41 CHAPTER 4: A Brief History of Legacy .NET Distributed Technologies     43 4.1 Distributed Computing 101     44 Client-Server     44 Distributed Architecture     45 Service-Oriented Architecture     47 4.2 .NET Enterprise Services     48 It All Began with COM (and DCOM)     48 COM+ Services     49 .NET Assemblies     51 Distributed Transaction Coordinator     51 .NET Enterprise Services and Service-Orientation     53 4.3 .NET Remoting     54 .NET Remoting Architecture     54 Serializable Classes     56 Remotable Classes     56 Ordinary Classes     56 Hosting .NET Remoting Components     56 Windows Service     56 IIS Hosting Under ASP.NET     57 Hosting a .NET Remoting Component in a Console Application     57 .NET COM+ Services     57 .NET Remoting Configurations     57 Activation Types     58 Message Formats     60 Communication Protocols     60 Object Lifetime Management     61 .NET Remoting and Service-Orientation     61 4.4 Microsoft Messaging Queue (MSMQ)     63 The Queues     64 Sending and Receiving Messages     65 MSMQ and Service-Orientation     66 4.5 System.Transactions     67 Distributed Resource Transactions     67 Explicit and Implicit Programming Models     68 Ambient Transactions     69 4.6 Web Services (ASMX and WSE)     70 XML Web Services (ASMX)     71 The WebService Attribute     71 The WebMethod Attribute     72 Web Service Enhancements (WSE)     73 4.7 REST Service Processing with IHttpHandler     74 CHAPTER 5: WCF Services     75 5.1 Overview     76 5.2 Service Contracts with WCF     78 WCF Terminology     78 WCF Service Contract     78 Interface Contract     78 Operation Contract     78 Data Contract     78 Message Contract     79 Service Endpoint     79 The ServiceContract and OperationContract Attributes     79 Data Models and the DataContract Attribute     82 Messaging and the MessageContract Attribute     83 Service Endpoints and the endpoint Element     86 Address     88 Bindings     89 Contract     92 REST Service Classes and Attributes     92 The WebGet Attribute     93 The WebInvoke Attribute     95 WCF UriTemplate Attribute     96 Faults and the FaultContract Attribute     98 MEX Endpoints     100 Versioning Considerations     102 5.3 Service Implementation with WCF     104 Behaviors     104 Instancing     105 A Sample Implementation     106 5.4 Service Hosting with WCF     108 Self-Hosted Services     110 Managed Windows Services     112 IIS Process Boundary     113 Windows Activation Services (WAS)     114 Hosting REST Services     115 5.5 Service Consumers with WCF     116 Using the Service Metadata Tool     117 Writing the Proxy Class for a Service     118 Using the ChannelFactory Class     119 CHAPTER 6: WCF Extensions     121 6.1 WCF Security     122 Security Modes     123 Authorization     125 Federated Identity     126 6.2 WCF Transactions     127 Operation Attributes for Transactions     127 TransactionScopeRequired     128 TransactionAutoComplete     128 TransactionFlow     128 Service Attributes for Transactions     129 TransactionIsolationLevel     129 TransactionAutoCompleteOnSessionClose     130 TransactionTimeout     130 Durable Services     131 6.3 WCF Router     132 The RoutingService Class     133 Routing Contracts     134 Routing Configuration     135 Step 1: Define Endpoints     135 Step 2: Configure Service Behavior     136 Step 3: Enumerate Target Endpoints     136 Step 4: Define Message Filters     137 Step 5: Create a Filter Table     138 Fault Tolerance     139 6.4 WCF Discovery     140 Discovery Modes     141 Locating a Service Ad Hoc     143 Sending and Receiving Service Announcements     144 Discovery Proxies for Managed Discovery     146 Discovering from a Discovery Proxy     146 Implicit Service Discovery     147 6.5 WCF Extensibility     148 WCF Layers     149 Layered Extensibility     149 Channel Layer Extensibility     150 6.6 WCF Management Tools     151 Administration     151 Troubleshooting     151 Logging Messages     153 CHAPTER 7: .NET Enterprise Services Technologies     155 7.1 SQL Server     156 Native XML Web Services Support     157 Service Broker (SSB)     160 Query Notification     165 XML Support in SQL Server     165 7.2 Windows Workflow Foundation (WF)     166 WF Architecture     167 Workflows     168 Sequential Workflows     169 State Machine Workflows     169 Workflow Designer     169 Workflow Persistence (with WF)     170 Communicating with the Host Container     171 Activities     172 Workflow Runtime Environment     175 WF Programming Model     176 Passing Parameters into a Workflow Instance     178 Returning Parameters from a Workflow Instance     178 Workflow-Enabled Services     179 Versioning Orchestrations     180 WF Extensibility     180 Business Rules     180 7.3 Application Blocks and Software Factories     181 Application Blocks     182 Software Factories     184 Guidance Toolkits     184 Web Services Software Factory     184 7.4 Windows Server AppFabric     187 Configurable Hosting Environment     188 Workflow Persistence (with AppFabric)     189 In-Memory Application Cache Platform     190 Manageability Extensions     192 Application Server Event Collector     192 7.5 BizTalk Server     193 BizTalk Server Architecture     194 Messaging     196 Pipelines     197 Pipeline Components     198 Ports and Locations     199 Adapters     199 Context Properties     200 Itineraries     201 Unified Exception Management     202 CHAPTER 8: Cloud Services with Windows Azure     205 8.1 Cloud Computing 101     206 Cloud Deployment Models     208 Public Cloud     208 Private Cloud     208 Community Cloud     209 Other Deployment Models     209 The Intercloud (Cloud of Clouds)     209 Deployment Models and Windows Azure     210 Service Delivery Models     210 Infrastructure-as-a-Service (IaaS)     210 Platform-as-a-Service (PaaS)     211 Software-as-a-Service (SaaS)     211 Other Delivery Models     211 IaaS vs. PaaS     211 8.2 Windows Azure Platform Overview     213 Windows Azure (Application Container)     216 SQL Azure     217 Windows Azure Platform AppFabric     218 8.3 Windows Azure Roles     219 Web Roles and Worker Roles     220 Virtual Machines     220 Input Endpoints     221 Inter-Role Communication     222 8.4 Hello World in Windows Azure     223 1. Create a Cloud Service Project     224 2. Choose an ASP.NET Web Role     224 3. Create the Solution     225 4. Instantiate the Service     226 8.5 A Web Service in Windows Azure     227 1. Create a Host Service and Storage Service     233 2. Create and Deploy a Service Package     233 3. Promote the Service to Production     234 8.6 A REST Service in Windows Azure     235 REST Service Addressing     235 Creating a Windows Azure REST Service     236 8.7 Windows Azure Storage     239 Tables     240 Entities and Properties     240 Data Access     241 Queues     241 Blobs     242 Block BlobsPage Blobs     243 Windows Azure Drive     243   PART II: SERVICES AND SERVICE COMPOSITION CHAPTER 9: Service-Orientation with .NET Part I: Service Contracts and Interoperability     247 9.1 Standardized Service Contract     250 Contract-First     250 1. Create or Reuse Data Contract     251 2. Create Message Contract     251 3. Create Interface Contract     252 Standardized Service Contract and Patterns     252 9.2 Canonical Schema     253 Creating Schemas with Visual Studio     254 Generating .NET Types     258 Using the DataContract Library     264 9.3 Data Model Transformation     267 Object-to-Object     269 LINQ-to-XML     271 XSLT Transformation     272 9.4 Canonical Protocol     274 Web Service     275 REST Service     277 Component     278 Another WCF Option: Named Pipes     279 Dual Protocols with WCF     279 9.5 Canonical Expression     280 Service Naming Conventions     280 Service Capability Naming Conventions     281 CHAPTER 10: Service-Orientation with .NET Part II: Coupling, Abstraction, and Discoverability     283 10.1 Service Loose Coupling     285 Service Loose Coupling and Patterns     286 10.2 Decoupled Contract     288 WSDL-First     289 Generating Service Code Using Svcutil     294 Generating WCF Service Code Using WSCF.blue     297 Generating ASMX Service Code Using WSCF.classic     302 10.3 Service Façade     304 10.4 Concurrent Contracts     307 10.5 Service Loose Coupling and Service Capability Granularity     308 10.6 Service Abstraction     313 10.7 Validation Abstraction     315 10.8 Exception Shielding     319 10.9 Service Discoverability     321 In-line Documentation     322 REST and Hypermedia     323 Service Profiles     323 10.10 Metadata Centralization     325 CHAPTER 11: Service-Orientation with .NET Part III: Reusability and Agnostic Service Models     327 11.1 Service Reusability and the Separation of Concerns     329 Functional Decomposition     330 Service Encapsulation     332 Agnostic Context     332 Agnostic Capability     334 Utility Abstraction     335 Entity Abstraction     336 The Inventory Analysis Cycle     337 Additional Design Considerations     339 11.2 Case Study Example: Utility Abstraction with a .NET Web Service     339 11.3 Case Study Example: Entity Abstraction with a .NET REST Service     351 CHAPTER 12: Service-Orientation with .NET Part IV: Service Composition and Orchestration Basics     369 12.1 Service Composition 101     371 Service-Orientation and Service Composition     371 Service Composability (PSD)     373 Capability Composition and Capability Recomposition     374 Capability Composition     375 Capability Recomposition     375 Composition Roles     377 Service Layers     377 Non-Agnostic Context     379 Process Abstraction and Task Services     380 12.2 Orchestration     382 Process Abstraction, Process Centralization, and Orchestrated Task Services     382 Process Centralization and Tools     384 Process Abstraction and WS-BPEL     385 State Repository and Compensating Service Transaction     385 State Repository with .NET     386 Compensating Service Transaction     387 Other Patterns     388 Microsoft Orchestration Platforms: WF and BizTalk Server     388 CHAPTER 13: Orchestration Patterns with WF     393 13.1 Process Abstraction and Orchestrated Task Services     397 A Brief History of WF Service Contract Support     397 Publishing WF Workflows as Web Services and Activities     399 Workflows Published as ASMX Services     399 Workflows Published via WCF 3.5 Activities     408 Workflows Published via WCF 4.0 Activities     410 Workflows Published via ExternalDataExchange Services     413 WS-I BasicProfile Support     417 Publishing WF Workflows as REST Services     419 JSON Encoding     421 Send and Receive Activity Configuration     422 Orchestrated Task Services with REST and WF 4.0     423 13.2 Process Centralization     425 Centralized Process Maintenance     425 WS-BPEL Support     426 13.3 State Repository     426 SQL Persistence Service and Scaling Out in WF 3.0     429 SQL Persistence Service and Scaling Out in WF 4     431 13.4 Compensating Service Transaction     434 Creating Compensations     434 Triggering Compensations     435 13.5 Case Study Example     436 CHAPTER 14: Orchestration Patterns with BizTalk Server     441 14.1 Process Abstraction and Orchestrated Task Services     443 Orchestrated Task Service Contracts     445 WS-* Support     447 Case Study Example     448 14.2 Process Centralization     450 Centralized Process Maintenance     450 WS-BPEL Support     451 Exporting BizTalk Orchestrations to WS-BPEL     451 Importing WS-BPEL Processes into BizTalk     454 14.3 State Repository     455 14.4 Compensating Service Transaction     456 Case Study Example     459   PART III: INFRASTRUCTURE AND ARCHITECTURE CHAPTER 15: Enterprise Service Bus with BizTalk Server and Windows Azure     465 15.1 Microsoft and the ESB     466 15.2 Integration with BizTalk     467 Application Integration 101     467 The BizTalk Hub-Bus Model     469 15.3 The ESB Toolkit     470 Itineraries     472 Itineraries Types     474 The Itinerary Lifecycle     475 Resolvers     476 Adapter Providers     478 WCF-Custom and REST Services     479 15.4 Distributed and Scalable ESB Architecture     480 Configuring for High-Availability     480 Techniques for Scaling     481 Distributed ESBs     482 15.5 Cloud-Enabling the ESB with Windows Azure     483 Receiving Messages from Azure’s AppFabric Service Bus     484 Sending Messages to Azure’s AppFabric Service Bus     485 15.6 Governance Considerations     487 SLA Enforcement     488 Monitoring     488 Preparing Project Teams     489 15.7 Mapping the Microsoft Platform to the Enterprise Service Bus Pattern     490 CHAPTER 16: Windows Azure Platform AppFabric Service Bus     493 16.1 Introducing the Service Bus     494 Connectivity Fabric     494 Message Buffers     496 Service Registry     497 16.2 Service Bus and REST     498 REST-Based Service Design     498 REST-Based Service Consumer Design     499 Message Buffers and REST     499 16.3 Service Bus Connectivity Models     499 Eventing     500 Service Remoting     501 Tunneling     501 16.4 Working with Windows Azure Platform AppFabric Service Bus     503 Setting up the AppFabric Service Bus     504 Defining a REST-Based Service Bus Contract     513 Creating the Service Bus Message Buffer     514 CHAPTER 17: SOA Security with .NET and Windows Azure     517 17.1 Authentication and Authorization with WCF     518 Direct and Brokered Authentication     518 Direct Authentication     518 Brokered Authentication     519 Authentication Patterns in WCF     520 Role-Based Authorization     520 Authorization Roles in WCF     521 Authorizing Operations with Roles     523 Claims-Based Authorization     524 Claims Processing in WCF     526 Implementing Claims-Based Authorization     527 Access Control in Windows Azure     528 Designing Custom Claims     529 Case Study Example     530 17.2 Windows Identity Foundation (WIF)     533 Digital Identity     534 The Identity Metasystem     534 Windows Cardspace     536 Active Directory Federation Services (ADFS)     539 WIF Programming Model     540 WCF Integration     540 Programming Windows Cardspace     540 Developing a Relying Party     541 Developing an Identity Provider     542 17.3 Windows Azure Security     543 Cloud Computing Security 101     543 Cross-Domain Access Control     544 Hybrid Cloud Security     545 Inter-Organization Service Composition Security     545 External Identity Providers     546 Claims-Based Access Control, As-A-Service     546 Windows Azure Platform AppFabric Access Control Overview     548 Access Control Step-by-Step     550 Access Control and REST     552 Access Control Service Authorization Scenarios     553 Hybrid Cloud Authorization Model     553 Public Cloud Authorization Model     554 Cloud-to-Cloud Authorization Model     554 Case Study Example     555 CHAPTER 18: Service-Oriented Presentation Layers with .NET     557 18.1 Windows Presentation Foundation and the Prism Library     559 Shell     561 Views     562 View Discovery versus View Injection     563 Regions     563 Modules     565 Shared Services     566 18.2 Design Patterns for Presentation Logic     567 User Interface Patterns     567 Composite View [CJP]     568 Command [DP]     568 UI Mediator     568 Separated Presentation     568 Modularity Patterns     569 Separated Interface [PEA]     570 Plug-In [PEA]     570 Event Aggregator [PEA]     570 Inversion of Control [DP]     570 Dependency Injection [PEA]     570 Service Locator [CJP]     571 18.3 A Simple Service-Oriented User Interface     571 Creating the Project     571 Dynamically Loading Modules     579 CHAPTER 19: Service Performance Optimization     583 19.1 Overview     584 Optimization Areas     585 Service Implementation Processing     585 Service Framework Processing     586 Wire Transmission Processing     586 19.2 Service Performance Optimization Techniques     586 Caching to Avoid Costly Processing     587 Intermediary     589 Service Container     589 Service Proxy     590 Caching Utility Service     590 Comparing Caching Techniques     591 Cache Implementation Technologies     592 Computing Cache Keys     593 Case Study Example     594 Method 1     597 Method 2     598 Caching REST Responses     599 Monitoring Cache Efficiency     601 Reducing Resource Contention     603 Request Throttling     604 Throttling With WCF     605 Case Study Example     606 Request Throttling with BizTalk Server     607 Coarse-Grained Service Contracts     608 Case Study Example     609 Selecting Application Containers     610 Performance Policies     612 Case Study Example     620 REST Service Message Sizes     621 Hardware Encryption      622 Transport Encryption     622 Message Encryption     623 Custom Encryption Solution     623 High Performance Transport     625 Case Study Example     626 MTOM Encoding     627 Case Study Example     628 Performance Considerations for Service Contract Design     630 Case Study Example     631 Impact on Service-Orientation Principles     633 19.3 Service Composition Performance Optimization Techniques     637 Transformation Avoidance and Caching     637 Asynchronous Interactions     639 Parallelize Where Possible     641 Parallel Activity in WF     641 Parallel Execution in BizTalk Server     643 Replicator Activity in WF     644 Consider Co-Hosting When Necessary     645 Compose High Performance Services     648 Impact on Service-Orientation Principles     648 CHAPTER 20: SOA Metrics with BAM     653 20.1 SOA Metric Types     654 20.2 Introducing BizTalk BAM     655 BizTalk and BAM     655 BAM Solution Architecture     656 The BAM Management Utility     659 The Tracking Profile Editor (TPE)     659 Real-Time vs Scheduled Aggregations     660 20.3 Activities and Views     661 Roles-based Views for Service Governance     662 Creating Views     663 20.4 BAM APIs     665 Event Streams     665 DirectEventStream (DES)     665 BufferedEventStream (BES)     665 OrchestrationEventStream (OES)     666 IPipelineContext Interface     666 Abstracted APIs for Service Metrics     666 Metrics for Service Compositions     669 WCF and WF Interceptors     670 Notifications     670 Rapid Prototyping     671 20.5 Managing BAM     672 Database Outages     672 Security     672 Scripting Deployment     673 Reporting     676 Case Study Example     677   PART IV: APPENDICES APPENDIX A: Case Study Conclusion     685 APPENDIX B: Industry Standards Reference     687 APPENDIX C: Service-Orientation Principles Reference     691 APPENDIX D: SOA Design Patterns Reference     707 APPENDIX E: The Annotated SOA Manifesto     795 The Annotated SOA Manifesto     796 APPENDIX F: Additional Resources     809 Consuming Services with WCF     811 Introduction     811 Cleaning Up Resources     812 The Proper Disposal and Closing of an ICommunicationObject     812 The ICommunicationObject.Close() Method     812 The ICommunicationObject.Abort() Method     814 Abort() versus Close()     814 IDisposable for Cleaning Up Resources     814 IDisposable and Its Relation to ClientBase and ChannelFactory     815 Cleaning Up Resources with the Using Block     816 Cleaning Up Resources with the Try-Catch-Finally-Abort Pattern     817 Handling Exceptions and Cleaning Up Resources with the Try-Close-Catch-Abort Pattern     818 Cleaning Up Resources in a Convenient Way     819 How to Handle Connections when Consuming Services Using WCF     822 Conclusion     823 About the Authors     825 About the Contributors     829 About the Foreword Contributors     831   Index     833

Reviews

Explaining the intersection of these two worlds--service-orientation and .NET technologies--is exactly what this book does. Its team of specialist authors provides a concrete, usable guide to this combination, ranging from the fundamentals of service-orientation to the more rarified air of .NET services in the cloud and beyond. If you're creating service-oriented software on the Microsoft platform--that is, if you're a serious .NET developer--mastering these ideas is a must. --From the Foreword by David Chappell, Chappell & Associates Microsoft's diverse product line has long supported the service-oriented enterprise, but putting it all together into a cohesive whole can be daunting. From more established products, like Windows Communication Foundation, Windows Workflow Foundation, Microsoft Office SharePoint Server, and BizTalk Server, to newer offerings like Windows Azure and AppFabric, the experts assembled here expose the sweet spots for each technology, talk through the high-level trade-offs, and offer a roadmap to a unified Microsoft SOA story. --Kevin P. Davis, Ph.D., Software Architect This book excels in giving hands-on and in-depth expertise on the SOA architecture style with the .NET framework and the Azure cloud platform. It's a practical guide for developers, architects, and SOA implementers. A must read! --Ricardo P. Schluter, ICT Architect, Parnassia Bavo Group While the industry overall may have hyped 'the cloud' to the level it often seems to cure world hunger, SOA with .NET and Windows Azure helps cut through the questions and hype and more clearly discusses the benefits and practical techniques for putting it to work in the real world. This book helps you understand the benefits associated with SOA and cloud computing, and also the techniques for connecting your current IT assets with new composite applications and data running in the cloud. This book will help you understand modern middleware technologies and harness the benefits of the cloud both on and off premises. --Burley Kawasaki, Director of Product Management, Microsoft The authors have a combined SOA and .NET experience of several decades--which becomes obvious when reading this book. They don't just lead you down one path with a single descriptive solution. Instead, the sometimes nasty trade-offs that architects face in their design decisions are addressed. These are then mapped to the Microsoft .NET platform with clear code examples. A very refreshing look at this major contender in the SOA space and a definite must for the .NET SOA practitioner! --Dr. Thomas Rischbeck, IT Architect, Innovation Process Technology In order to evolve as a software craftsman one must read excellent books that will help you grow and evolve in your profession. One of those books that every software craftsmen interested in good design and best practices should read is SOA with .NET and Windows Azure. With this book, you will learn which design patterns will provide the best solution for the kinds of software design problems you, as a developer or designer, face every day. This book has everything that software architects, software designers, and programmers need to know when building great quality software with Microsoft technologies. This will undoubtedly be one of those books that you reference repeatedly when starting new SOA projects. There is plenty of information that even those not working with typical service-oriented architecture will find very useful. With plenty of real-life examples (code, design, and modeling), readers see in a practical manner how they could use SOA patterns to solve everyday software problems and be more productive. SOA with .NET and Windows Azure will fit in my top three books and will definitely be one of those that I will use in my everyday work. --Arman Kurtagic, Consultant at Omegapoint AB


Explaining the intersection of these two worlds--service-orientation and .NET technologies--is exactly what this book does. Its team of specialist authors provides a concrete, usable guide to this combination, ranging from the fundamentals of service-orientation to the more rarified air of .NET services in the cloud and beyond. If you're creating service-oriented software on the Microsoft platform--that is, if you're a serious .NET developer--mastering these ideas is a must. --From the Foreword by David Chappell, Chappell & Associates Microsoft's diverse product line has long supported the service-oriented enterprise, but putting it all together into a cohesive whole can be daunting. From more established products, like Windows Communication Foundation, Windows Workflow Foundation, Microsoft Office SharePoint Server, and BizTalk Server, to newer offerings like Windows Azure and AppFabric, the experts assembled here expose the sweet spots for each technology, talk through the high-level trade-offs, and offer a roadmap to a unified Microsoft SOA story. --Kevin P. Davis, Ph.D., Software Architect This book excels in giving hands-on and in-depth expertise on the SOA architecture style with the .NET framework and the Azure cloud platform. It's a practical guide for developers, architects, and SOA implementers. A must read! --Ricardo P. Schluter, ICT Architect, Parnassia Bavo Group While the industry overall may have hyped 'the cloud' to the level it often seems to cure world hunger, SOA with .NET and Windows Azure helps cut through the questions and hype and more clearly discusses the benefits and practical techniques for putting it to work in the real world. This book helps you understand the benefits associated with SOA and cloud computing, and also the techniques for connecting your current IT assets with new composite applications and data running in the cloud. This book will help you understand modern middleware technologies and harness the benefits of the cloud both on and off premises. --Burley Kawasaki, Director of Product Management, Microsoft The authors have a combined SOA and .NET experience of several decades--which becomes obvious when reading this book. They don't just lead you down one path with a single descriptive solution. Instead, the sometimes nasty trade-offs that architects face in their design decisions are addressed. These are then mapped to the Microsoft .NET platform with clear code examples. A very refreshing look at this major contender in the SOA space and a definite must for the .NET SOA practitioner! --Dr. Thomas Rischbeck, IT Architect, Innovation Process Technology In order to evolve as a software craftsman one must read excellent books that will help you grow and evolve in your profession. One of those books that every software craftsmen interested in good design and best practices should read is SOA with .NET and Windows Azure. With this book, you will learn which design patterns will provide the best solution for the kinds of software design problems you, as a developer or designer, face every day. This book has everything that software architects, software designers, and programmers need to know when building great quality software with Microsoft technologies. This will undoubtedly be one of those books that you reference repeatedly when starting new SOA projects. There is plenty of information that even those not working with typical service-oriented architecture will find very useful. With plenty of real-life examples (code, design, and modeling), readers see in a practical manner how they could use SOA patterns to solve everyday software problems and be more productive. SOA with .NET and Windows Azure will fit in my top three books and will definitely be one of those that I will use in my everyday work. --Arman Kurtagic, Consultant at Omegapoint AB


Author Information

David Chou David Chou is a technical architect at Microsoft and is based in Los Angeles. His focus is on collaborating with enterprises and organizations in such areas as cloud computing, SOA, Web, distributed systems, and security. His involvement supports decision makers in helping them to define the appropriate evolutionary strategies in their architecture development. Drawing from his extensive experience at previously held positions with Sun Microsystems and Accenture, David enjoys helping his clients and customers create value by using objective and pragmatic approaches to create definitive IT strategies, roadmaps, and solution architectures. Find David and his blog at blogs.msdn.com/dachou.   John deVadoss John deVadoss leads the Patterns & Practices team at Microsoft and is based in Redmond, WA. Patterns & Practices is the trusted source for guidance on the Microsoft platform; John and his team are chartered with creating, collating, and disseminating proven practices to enable productive, predictable development on the Microsoft .NET platform. John’s experience spans 15 years in the software industry. 10+ years have been with Microsoft--all of it in the enterprise space as a consultant, a program manager in the distributed applications platform division, an architect working with some of Microsoft’s key partners, a director of architecture strategy and, most recently, as the leading technical strategist for the all-up application platform. Prior to Microsoft, John spent a number of years as a technology consultant in Silicon Valley working on largescale middleware and distributed systems design and development. His areas of interest are broadly in distributed application architectures, data and metadata, systems management and currently on edge architectures (both service/cloud and experience), but most of all in creating business value from technology investments. John holds a BE in Computer Engineering, and an MS in Computer Science. Both degrees were awarded by the University of Massachusetts at Amherst where he also did graduate work towards a PhD in Computer Science.   Thomas Erl Thomas Erl is the world’s top-selling SOA author, series editor of the Prentice Hall Service-Oriented Computing Series from Thomas Erl (www.soabooks.com), and editor of the SOA Magazine (www.soamag.com). With more than 120,000 copies in print worldwide, his books have become international bestsellers and have been formally endorsed by senior members of major software organizations, such as IBM, Microsoft, Oracle, Sun, Intel, SAP, CISCO, and HP. Two of his five books, SOA Design Patterns and SOA Principles of Service Design, were authored in collaboration with the IT community and have contributed to the definition of the service-oriented architectural model and service orientation as a distinct paradigm. In cooperation with SOASchool.com, Thomas has helped develop the curriculum for the internationally recognized SOA Certified Professional accreditation program (www.soaschool.com), which has established a series of formal, vendor-neutral certifications in the areas of service-oriented computing. Thomas is also the founder of SOA Systems Inc. (www.soasystems.com), the founding member of the SOA Manifesto Working Group (www.soa-manifesto.org), a member of the SOA Education Committee (www.soacommittee.org), and oversees the SOAPatterns.org initiative, a community site dedicated to the on-going development of a master pattern catalog for SOA. Thomas has toured more than 20 countries as a speaker and instructor for public and private events, and regularly participates in events, such as the SOA Symposium (www.soasymposium.com) and Gartner conferences. More than 100 articles and interviews by Thomas have been published in numerous publications, including the Wall Street Journal and CIO Magazine. For more information, visit www.thomaserl.com.   Nitin Gandhi Nitin Gandhi is an enterprise architect and an independent software consultant, based in Vancouver, BC. His extensive background in service-oriented architecture (SOA), SOA Governance, Enterprise Service Bus (ESB), and message-oriented middleware (MOM) has seen him work on server products and technologies including, .NET, Windows Communication Foundation (WCF), Microsoft BizTalk Server, SQL Server,Workflow Foundation (WF), Service Virtualization technologies, J2EE/JMS, Oracle, and TIBCO products. He has completed several large projects in insurance, utilities, financial-services, government and healthcare. Nitin is an author, book reviewer and member of several architecture groups. He holds a Bachelor’s of Engineering in Electronics (with honors) and a Post Graduate diploma in Management. Find Nitin at ngandhi@shaw.ca.   Hanu Kommalapati Hanu Kommalapati is a Principal Platform Strategy Advisor for a Microsoft Developer and Platform Evangelism team based in North America. His current focus is working with Microsoft’s top enterprise customers in North America in evangelizing software + services and Cloud Computing. Hanu received his M.S. in Engineering from the Indian Institute of Technology--a top engineering school in India--and has 18 years experience in the IT Industry working with PriceWaterHouseCoopers and Microsoft. His career began as a software engineer at Hindustan Aeronautics Ltd., a fighter jet manufacturer solely owned by the Indian Defense Department; he also programmed on HP Apollo workstations, Unix mini computers and IBM mainframes. Hanu frequently speaks at customer and industry events, writes articles in technology magazines and has written papers for internal consumption on various industry trends, including Service Oriented Architecture and Cloud Computing.   Brian Loesgen Brian Loesgen is a Principal SOA Architect with Microsoft, based in San Diego. His extensive experience includes building sophisticated enterprise, ESB and SOA solutions. Brian is a 6-time Microsoft MVP for BizTalk Server, and has been involved with BizTalk since before the release of BizTalk Server 2000 beta; he was a key architect/developer of the “Microsoft ESB Guidance,” initially released by Microsoft in Oct. 2006. A speaker at numerous major technical conferences worldwide, Brian is a co-founder and past-President of the International .NET Association (ineta.org), and past-President of the San Diego .NET user group, where he continues to lead the Connected Systems SIG, and is a member of the Editorial Board for the .NET Developer’s Journal. Brian was also a member of the Microsoft Connected Systems Division Virtual Technical Specialist Team pilot, and is part of Microsoft’s Connected Systems Advisory Board. Brian has authored technical white papers for Intel, Microsoft and others; is a co-author of the SOA Manifesto, as well as the co-author of 7 books, including this one, and is the lead author on the upcoming BizTalk Server 2009 R2 Unleashed title. Find Brian and his blog at: blog.BrianLoesgen.com.   Christoph Schittko Christoph Schittko is an architect for Microsoft, based in Texas. His focus is to work with customers to build innovative solutions that combine software + services for cutting edge user experiences and the leveraging of service-oriented architecture (SOA) solutions. Prior to joining Microsoft, Christoph assisted companies with the adoption of service orientation and the delivering of Software-as-a-Service (SaaS) solutions. Christoph holds an advanced degree in Electrical Engineering from the Friedrich-Alexander University Erlangen-Nürnberg. His extensive experience in developing and architecting software solutions in a wide variety of industries allows him to write and to speak at various conferences on Web services and XML.   Herbjörn Wilhelmsen Herbjörn Wilhelmsen is a consultant at Forefront Consulting Group, based in Stockholm, Sweden. His main areas of focus are Service-Oriented Architecture, Cloud Computing and Business Architecture. Herbjörn has many years of industry experience working as a developer, development manager, architect and teacher and has worked with customers in several fields of operations such as telecommunications, marketing, payment industry, healthcare and public services. Herbjörn is the acting chair of the SOA Patterns Review Committee (www.soapatterns.org) and also leads the Business 2 IT group within the Swedish chapter of the IASA.   Mickey Williams Mickey Williams leads the Technology Platform Group at Neudesic, based in Laguna Hills, CA. As a member of that team, he oversees technical leadership, strategy, and enablement across all of Neudesic’s practice areas, and manages a team of architects that have a national role at Neudesic. Mickey has extensive experience building missioncritical applications on a wide variety of platforms, ranging from large telecommunication networks to desktop clients, and his work with .NET extends back to the earliest public release. Mickey’s academic interests revolve around ensuring the reliability of high-performance distributed systems. Mickey is a Microsoft MVP, has written numerous books on Windows development, and is a frequent speaker at conferences and other events.   Scott Golightly Scott Golightly is currently an Enterprise Solution Strategist with Advaiya, Inc; he is also a Microsoft Regional Director with more than 15 years of experience helping clients to create solutions to business problems with various technologies. Scott is an experienced speaker and trainer. He has taught classes around the globe on various technical and business related topics. Scott has presented at numerous code camps, Tech Ed break out sessions, and Tech Ready. Scott holds many certifications, including: Certified Power-Builder Developer, Certified Sybase Instructor, MCP, MCSD, and MCT.   Darryl Hogan Darryl Hogan is an architect with more than 15 years experience in the IT industry. Darryl has gained significant practical experience during his career as a consultant, technical evangelist and architect. During an 11-year tenure with Microsoft, Darryl delivered presentations to many large local Microsoft technology events and internal technical readiness conferences. Darryl currently works as an architect with a major marketing company where he is responsible for product architecture and emerging technology adoption.   Kris Horrocks As a Senior Technical Product Manager at Microsoft, Kris works with customers, partners, and industry analysts to ensure the next generation of Microsoft technology meets customers’ requirements for building distributed, service-oriented solutions. Currently, that work centers around several middleware technologies including BizTalk Server, Windows Server AppFabric, and Windows Azure AppFabric. Prior to joining Microsoft, Kris was an independent consultant focused on distributed systems development, B2B integration, and web services interoperability.   Jeff King Jeff King has been working with the Windows Azure platform since its first announcement at PDC 2008 and works with Windows Azure early adopter customers in the Windows Azure TAP. Within the Microsoft community, Jeff is a worldwide Windows Azure subject matter expert who continues to mentor in ongoing Windows Azure training programs. Jeff currently consults for Microsoft Services. He has expert knowledge in designing and implementing large-scale integration and SOA solutions by leveraging Microsoft technologies and products (.NET, WCF, BizTalk Server, ESB Toolkit, etc.). He also helped develop the first publicly available version of the Enterprise Service Bus Toolkit (then, it was called the ESB Guidance), particularly the Exception Management Framework.   Scott Seely Scott Seely is co-founder of Tech in the Middle, www.techinthemiddle.com, and president of Friseton, LLC, www.friseton.com. He is an active member of the .NET community in the Chicago area, helping organize the Lake County .NET Users’ Group, organize Code Camps, and speaking at user groups throughout the region.

Tab Content 6

Author Website:  

Customer Reviews

Recent Reviews

No review item found!

Add your own review!

Countries Available

All regions
Latest Reading Guide

MRG2025CC

 

Shopping Cart
Your cart is empty
Shopping cart
Mailing List