O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

SOA Patterns with BizTalk Server 2013 and Microsoft Azure - Second Edition

Book Description

Learn how to create and implement SOA strategies on the Microsoft technology stack using BizTalk Server 2013 and Azure Integration platforms

  • Learn about core SOA principles and fundamental building blocks for an SOA, such as WCF, REST, and Azure Service Bus
  • Implement an effective SOA strategy by leveraging BizTalk Server 2013 and Azure technologies
  • Explore SOA concepts through plenty of examples and code to guide you

In Detail

A service-oriented architecture (SOA) is a vendor, product, or technology independent pattern that enables application components in a network to obtain services from other components. You can take advantage of the Microsoft Integration Stack to implement your SOA strategy smoothly and cost effectively.

SOA Patterns with BizTalk Server 2013 and Microsoft Azure, Second Edition provides an overview of Microsoft Integration technologies, including BizTalk Server, and demonstrates how you can leverage these technologies to implement a successful SOA.

Starting with an introduction to BizTalk Server and WCF, you will learn about RESTful services, JSON, and Azure Service Bus, and how to apply SOA principles to creating BizTalk solutions. Moving on, you will learn how to implement versioning in endpoints, orchestrations, and schemas. Finally, you will discover the usage of the ESB Toolkit and extend the connectivity of BizTalk Server applications to Microsoft Azure.

What You Will Learn

  • Understand how to implement SOA with BizTalk Server and the Azure platform
  • Consume and expose WCF services effectively via the use of Service Bus Relays and RESTful services
  • Implement effective schema design, including an introduction to various schema design patterns
  • Exploit various message exchange/endpoint patterns including request-response, fire and forget, and client callbacks
  • Leverage orchestration design patterns that maximize flexibility and reuse
  • Future-proof your BizTalk Server artifacts using well thought out versioning strategies
  • Build loosely-coupled BizTalk applications using the ESB Toolkit
  • Take a peek at API Apps, Logic Apps, and Azure API Management

Table of Contents

  1. SOA Patterns with BizTalk Server 2013 and Microsoft Azure Second Edition
    1. Table of Contents
    2. SOA Patterns with BizTalk Server 2013 and Microsoft Azure Second Edition
    3. Credits
    4. About the Authors
    5. About the Reviewers
    6. www.PacktPub.com
      1. Support files, eBooks, discount offers, and more
        1. Why subscribe?
        2. Free access for Packt account holders
        3. Instant updates on new Packt books
    7. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Downloading the example code
        2. Errata
        3. Piracy
        4. Questions
    8. 1. Building BizTalk Server 2013 Applications
      1. What is BizTalk Server?
      2. BizTalk architecture
      3. Setting up new BizTalk projects
      4. What are BizTalk schemas?
        1. Schema creation and characteristics
        2. Property schemas
      5. What are BizTalk maps?
      6. Configuring BizTalk messaging
      7. Working with BizTalk orchestration
      8. Summary
    9. 2. Windows Communication Foundation Primer
      1. What is WCF?
      2. Defining the contract
        1. Service contracts
        2. Data contracts
      3. Implementing contracts in services
        1. Throwing custom service faults
      4. Choosing an endpoint address
      5. The role of service bindings
      6. Hosting services
      7. Consuming WCF services
        1. Non-WCF clients
        2. WCF clients
      8. Summary
    10. 3. Using WCF Services in BizTalk Server 2013
      1. The relationship between BizTalk and WCF
        1. BizTalk WCF adapters
      2. Exposing WCF services from orchestrations
        1. Setting up the project
        2. Generating the WCF endpoint
        3. Configuring the generated components
        4. Anatomy of a generated WCF WSDL
      3. Exposing WCF services from schemas
      4. Consuming WCF services from orchestrations
      5. Consuming WCF services without orchestration
      6. Summary
    11. 4. REST and JSON Support in BizTalk Server 2013
      1. Why REST services
      2. URL deciphering
      3. JSON versus XML
      4. Resource representation
      5. Handling message versioning in REST
      6. Documenting contracts
      7. Security
      8. BizTalk 2013 and REST
      9. Exploring the WCF-WebHttp Adapter
      10. Exposing a RESTful web service using BizTalk
      11. Pipeline to publish a typed message
      12. Receiving XML and JSON messages via the Post method
      13. Consuming a web service
      14. Sending a JSON message to a RESTful service
      15. Hiding the SVC filename extension
      16. Summary
    12. 5. Azure BizTalk Services
      1. What is MABS
      2. The MABS architecture
      3. Setting up new MABS projects
      4. MABS artifacts
      5. Configuring messaging in MABS
      6. Summary
    13. 6. Azure Service Bus
      1. Service Bus types
      2. Queue types
      3. Service Bus Queue characteristics
        1. Queue naming convention
        2. Message size
        3. User-defined name/value pairs
        4. Priority order
        5. Time to live
        6. Dead-lettering
        7. Sessions
      4. Retrieving messages off a Queue
      5. Deferring message processing
      6. Security
      7. Topics
      8. Subscriptions
        1. Subscription rules
        2. Rule filter
        3. Rule action
      9. Express Queues/Topics
      10. Partitioned Queues/Topics
      11. Event Hubs
        1. Partitions
        2. Consumer groups
        3. Connectivity
        4. Replaying of messages
        5. Poisoned messages
        6. Security
      12. Relay Service
        1. Hosting Relay Services
        2. Connection modes
        3. Authentication
      13. Network transients
      14. Service Bus for Windows Server
      15. Administration tools
      16. Summary
    14. 7. Planning Service-oriented BizTalk Solutions
      1. The core principles of an SOA
        1. Loosely coupled
          1. Applying loose coupling to BizTalk
        2. Abstraction
          1. Applying abstraction to BizTalk server
        3. Interoperable
          1. Applying interoperability to BizTalk server solutions
        4. Reusable
          1. Applying reusability to BizTalk server solutions
      2. Identifying standard message exchange patterns
        1. Request/response services
        2. One-way services
        3. Request/Callback services
        4. Publish/Subscribe services
      3. Types of services
        1. RPC services
        2. Document services
        3. Event services
      4. Summary
    15. 8. Schema and Endpoint Patterns
      1. Service-oriented schema patterns
        1. Designing schemas based on service type
          1. Canonical schemas
        2. Building and applying reusable schema components
      2. Exploiting the reusable imported schema
        1. Node data type conversion for service clients
        2. Node feature mapping for service clients
          1. Element grouping
          2. Element properties
          3. Element restrictions
          4. Exploiting generic schemas
      3. Service-oriented endpoint patterns
        1. Building reusable receive ports
        2. Constructing a contract-first endpoint
      4. Summary
    16. 9. Asynchronous Communication Patterns
      1. Why asynchronous communication matters
      2. Using asynchronous services in WCF
        1. Creating the synchronous service
        2. Building a client-side asynchronous experience
        3. Working with server-side asynchronous services
      3. Using asynchronous services in BizTalk with WCF
        1. Consuming asynchronous services
        2. Exposing asynchronous services
      4. Getting results from asynchronous invocations
        1. Building WCF services that support client callbacks
        2. BizTalk support for client callbacks
      5. Using queues within asynchronous scenarios
      6. Summary
    17. 10. Orchestration Patterns
      1. Why orchestration?
      2. What is MessageBox direct binding?
      3. Using dynamic service ports
        1. Defining the service
        2. Configuring IIS/WAS to host the service
        3. Building the BizTalk solution
        4. Configuring the BizTalk solution
      4. Supporting dual initiating message exchange patterns
        1. Building the BizTalk solution
        2. Configuring the BizTalk solution
      5. Chaining orchestrations using business rules
        1. Building the BizTalk solution
      6. The role of transactions in aggregated services
        1. Defining the service
        2. Building the BizTalk solution
      7. Building message-type agnostic orchestrations
        1. Defining the validation services
        2. Building the BizTalk solution
        3. Bringing it all together
        4. Reflecting on the implemented solution
      8. Summary
    18. 11. Versioning Patterns
      1. Why versioning?
      2. What service aspects may undergo changes?
      3. How to version schemas?
      4. How to version endpoints?
        1. Creating endpoints for custom WSDLs
      5. Versioning long-running orchestrations
      6. Versioning other BizTalk components
      7. File versions
      8. Versioning BRE components
      9. Techniques for delaying change
        1. Flexible fields
        2. Generic on-ramps
      10. Summary
    19. 12. Frameworks and Tools
      1. ESB Toolkit
      2. BizUnit 4.0
      3. Monitoring tools
        1. BizTalk 360
        2. AIMS for BizTalk
      4. The BRE Pipeline Framework
      5. BizTalk Documenter
      6. Sentinet
      7. Further reading
      8. Summary
    20. 13. New SOA Capabilities in BizTalk Server 2013 – Azure Hybrid Patterns
      1. Advantages of a hybrid solution
        1. Reduced operating costs
        2. Freeing up on-premises infrastructure resources
        3. Allowing burst capacity
        4. Improved service levels
        5. Reduced capital expenditures
        6. Improved system availability and disaster recovery
        7. Wider audience reach
      2. Disadvantages of a hybrid solution
      3. SOA patterns used in hybrid solutions
        1. BizTalk Services Hybrid Connection
        2. Azure Relay Services
        3. BizTalk Adapter Service
        4. BizTalk Server Adapters
          1. The WCF-BasicHttpRelay and NetTcpRelay adapters
          2. The SB-Messaging adapter
          3. The BizTalk WCF-WebHttp adapter
        5. Azure SQL Data Sync
        6. Microsoft Azure Caching
        7. Database sharding
      4. Special security considerations
      5. Monitoring assets on the ground and on the cloud
      6. Handling scalability, availability, and performance
        1. Scalability
        2. Availability
        3. Performance
      7. Summary
    21. 14. What's New and What's Next?
      1. BizTalk Server 2013 R2
        1. JSON support
          1. JSON encoder pipeline component
        2. Service bus adapter improvements
      2. Azure App Services
      3. Azure API Management
      4. Summary
    22. Index