This book begins with Chapters 1 and 2 providing introductory content and case study background information, respectively. All subsequent chapters are grouped into the following parts:
– Part I: Fundamentals
– Part II: Services and Service Composition
– Part III: Infrastructure and Architecture
– Part IV: Appendices
Below are descriptions of individual parts and chapters:
Chapter 1: Introduction
This chapter establishes the scope and structure of the book by providing an overview of the primary topic areas along with chapter descriptions and information regarding conventions and supplemental resources.
Chapter 2: Case Study Background
The chapters in this book contain numerous case study examples, all of which relate back to the case study background information established in this chapter. Appendix A concludes the case study storylines with a brief summary.
Part I: Fundamentals
Chapter 3: SOA Fundamentals
Chapter 4: A Brief History of Legacy .NET Distributed Technologies
Chapter 5: WCF Services
Chapter 6: WCF Extensions
Chapter 7: .NET Enterprise Services Technologies
Chapter 8: Cloud Services with Windows Azure
Chapter 3: SOA Fundamentals
This chapter begins with an overview of key terms and concepts associated with SOA, service-orientation, and service-oriented computing in general as they pertain to Web service contract design.
Chapter 4: A Brief History of Legacy .NET Distributed Technologies
This chapter begins with distributed computing basics, and then proceeds to summarize the evolution of Microsoft distributed technologies, including COM, DCOM, COM+ Services, .NET Enterprise Services, .NET Remoting, MSMQ, System.Transactions, and XMLWeb Services (ASMX), including Web Services Enhancements (WSE).
Chapter 5: WCF Services
This chapter introduces the Windows Communication Foundation (WCF) platform, with an emphasis on service technologies and implementation and hosting options. Areas of focus include service contracts and service consumer design requirements. WCF services are used in examples throughout subsequent chapters.
Chapter 6: WCF Extensions
The exploration of various architectural extensions to WCF provided in this chapter acts as a continuation of Chapter 5. Extensions covered include security, transactions, routing, discovery, management tools, and extensibility options.
Chapter 7: .NET Enterprise Services Technologies
Further architectural and infrastructure building blocks are provided by .NET Enterprise Service Technologies. This chapter provides introductory coverage of SQL Server, Windows Workflow Foundation (WF),Windows Server AppFabric, Application Blocks, and Software Factories.
Chapter 8: Cloud Services with Windows Azure
Following a section that covers basic cloud computing concepts and terminology, this chapter delves into the Windows Azure Platform to cover specific topics, such as Azure roles and storage options, as well as tutorial-style coverage of how Web services and REST services can be created for deployment within Windows Azure.
Part II: Services and Service Composition
Chapter 9: Service-Orientation with .NET Part I: Fundamentals
Chapter 10: Service-Orientation with .NET Part II: Services and Service Composition
Chapter 11: Service-Orientation with .NET Part III: Infrastructure and Architecture
Chapter 12: Advanced XML Schema Part I: Message Flexibility and Type Inheritance and Composition
Chapter 13: Orchestration Patterns with WF
Chapter 14: Orchestration Patterns with BizTalk Server
Chapter 9: Service-Orientation with .NET Part I: Service Contracts and Interoperability
The design and standardization of service contracts is a focal point when building service-oriented solutions. This chapter provides numerous examples and coverage of .NET technologies shaped by the application of the relevant design principles, patterns, and practices (including the Standardized Service Contract principle and the Canonical Schema, Data Model Transformation, Canonical Protocol, and Canonical Expression patterns).
Chapter 10: Service-Orientation with .NET Part II: Coupling, Abstraction, and Discoverability
This chapter explores the application of numerous patterns and principles in relation to service coupling, abstraction, and discoverability requirements and concerns. Patterns and principles covered include Service Loose Coupling, Decoupled Contract, Service Façade, Concurrent Contracts, Service Abstraction, Validation Abstraction, Service Discoverability, and Metadata Centralization.
Chapter 11: Service-Orientation with .NET Part III: Reusability and Agnostic Service Models Block Processing
With an emphasis on fostering the reusability potential of services, this chapter explores the application of the Service Reusability principle from modeling, design, and development perspectives via the application of fundamental service identification and definition patterns, including Functional Decomposition, Service Encapsulation, Agnostic Context, Agnostic Capability, Utility Abstraction, and Entity Abstraction. The latter sections in the chapter contain detailed case study examples for the development of utility and entity services using Web service and REST service technologies, respectively.
Chapter 12: Advanced XML Schema Part I: Message Flexibility and Type Inheritance and Composition
This chapter covers fundamental service composition theory and discusses the importance of the Service Composability principle in relation to the Capability Composition, Capability Recomposition, Service Layers, Non-Agnostic Context, and Process Abstraction patterns. The latter half of the chapter acts as a prelude to Chapters 13 and 14 by providing introductory coverage of patterns relevant to Microsoft orchestration platforms, including Process Centralization, State Repository, Compensating Transaction, and the Orchestration compound pattern itself.
Chapter 13: Orchestration Patterns with WF
Using the Orchestration compound pattern (and its core member patterns) as a basis, this chapter explores relevant technologies and features of the Windows Workflow Foundation (WF) platform.
Chapter 14: Orchestration Patterns with BizTalk Server
Similar in structure to Chapter 13, this chapter covers technologies and features of the BizTalk Server product in relation to the Orchestration compound patterns and the core patterns that comprise it.
Part III: Infrastructure and Architecture
Chapter 15: Enterprise Service Bus with BizTalk Server and Windows Azure
Chapter 16: Windows Azure Platform AppFabric Service Bus
Chapter 17: SOA Security with .NET and Windows Azure
Chapter 18: Service-Oriented Presentation Layers with .NET
Chapter 19: Service Performance Optimization
Chapter 20: SOA Metrics with BAM
Chapter 15: Enterprise Service Bus with BizTalk Server and Windows Azure
The primary focus of this chapter is on how the BizTalk Server product is expanded via the ESB Toolkit and how .NET based enterprise service bus implementations can be further extended into the realm of cloud computing via Windows Azure. (Note that this chapter does not specifically explore the Microsoft technology platform from the Enterprise Service Bus compound pattern perspective, as that is covered separately in the Modern SOA Infrastructure book as part of this book series.)
Chapter 16: Windows Azure Platform AppFabric Service Bus
This chapter is dedicated to providing an overview of the Windows Azure Platform AppFabric Service Bus and contains various examples that explore its usage, especially with REST-based services.
Chapter 17: SOA Security with .NET and Windows Azure
Security is a primary concern when building services and service-oriented solutions because if the security of an agnostic service is breached, it can impact several service compositions. This chapter covers basic security patterns (such as Direct Authentication and Brokered Authentication) in relation to .NET technologies and further provides an overview of the Windows Identity Foundation platform. The chapter concludes with a section dedicated to security concerns raised by Windows Azure.
Chapter 18: Service-Oriented Presentation Layers with .NET
There are various ways to abstract, design, and develop presentation logic in support of service-orientation. This chapter describes the Windows Presentation Foundation and Prism Library and explores its usage from a patterns perspective.
Chapter 19: Service Performance Optimization
One of the common myths of service-oriented computing is that performance must always be sacrificed when building reusable and composable services. This chapter provides a number of techniques that demonstrate how, using the many modern technology and infrastructure advances, service performance and reliability can be optimized while continuing to support the application of service-orientation principles.
Chapter 20: SOA Metrics with BAM
This final chapter explains the business activity monitoring features provided by BizTalk Server, and how they can be applied specifically for the collection of metrics relevant to service usage, scalability, and general service governance.
Part IV: Appendices
The remaining appendices conclude this book with further supporting content.
Appendix A: Case Study Conclusion
Appendix B: Industry Standards Reference
Appendix C: Service-Orientation Principles Reference
Appendix D: SOA Design Patterns Reference
Appendix E: The Annotated SOA Manifesto
Appendix F: Additional Resources
Appendix A: Case Study Conclusion
This appendix provides a conclusion of the case study storyline, as it pertains to Standard Mold IT enterprise environment.
Appendix B: Industry Standards Reference
A list of referenced industry standards is provided in this appendix.
Appendix C: Service-Orientation Principles Reference
This appendix provides the profile tables (originally from SOA Principles of Service Design) for the service-orientation design principles referenced in this book.
Appendix D: SOA Design Patterns Reference
This appendix provides the profile tables (originally from SOA Design Patterns) for the SOA design patterns referenced in this book.
Appendix E: The Annotated SOA Manifesto
This appendix provides the annotated version of the SOA Manifesto declaration.
Appendix F: Additional Resources
A list of relevant Web sites and an article for the SOA Magazine are provided as supplementary resources.