Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

SOA Patterns with BizTalk Server 2009: Implement SOA strategies for BizTalk Server solutions
SOA Patterns with BizTalk Server 2009: Implement SOA strategies for BizTalk Server solutions
SOA Patterns with BizTalk Server 2009: Implement SOA strategies for BizTalk Server solutions
Ebook701 pages4 hours

SOA Patterns with BizTalk Server 2009: Implement SOA strategies for BizTalk Server solutions

Rating: 0 out of 5 stars

()

Read preview

About this ebook

In Detail

SOA is about architecture, not products and SOA enables you to create better business processes faster than ever. While BizTalk Server 2009 is a powerful tool, by itself it cannot deliver long-lasting, agile solutions unless we actively apply tried and tested service-oriented principles.

The current BizTalk Server books are all for the 2006 version and none of them specifically looks at how to map service-oriented principles and patterns to the BizTalk product. That's where this book fits in. In this book, we specifically investigate how to design and build service-oriented solutions using BizTalk Server 2009 as the host platform.

This book extends your existing BizTalk knowledge to apply service-oriented thinking to classic BizTalk scenarios. We look at how to build the most reusable, flexible, and loosely-coupled solutions possible in the BizTalk environment. Along the way, we dive deeply into BizTalk Server's integration with Windows Communication Foundation, and see how to take advantage of the latest updates to the Microsoft platform. Chock full of dozens of demonstrations, this book walks through design considerations, development options, and strategies for maintaining production solutions.

Design and build flexible, reusable, and loosely-coupled SOA solutions with BizTalk Server 2009

Approach

This book takes a hands-on approach to explain and present ways to use BizTalk Server 2009 in a service-oriented fashion. Written much like the author's blog, this book does not direct your every mouse click and keyboard stroke, but rather identifies the problem being solved, and includes the code snippets and screenshots necessary to recreate these solutions yourself.

Who this book is for

Targeted at individuals already familiar with BizTalk Server and not those expecting a full tutorial on every aspect of the product, this book is ideal for architects and developers who want to develop the most maintainable BizTalk Server solutions possible. This is the first book available on BizTalk Server 2009 and covers all relevant features for those of you designing a BizTalk business solution.

LanguageEnglish
Release dateApr 24, 2009
ISBN9781847195012
SOA Patterns with BizTalk Server 2009: Implement SOA strategies for BizTalk Server solutions
Author

Richard Seroter

Richard Seroter is a solutions architect for an industry-leading biotechnology company, a Microsoft MVP for BizTalk Server, and a Microsoft Connected Systems Advisor. He has spent the majority of his career consulting with customers as they planned and implemented their enterprise software solutions. Richard worked first for two global IT consulting firms, which gave him exposure to a diverse range of industries, technologies, and business challenges. Richard then joined Microsoft as a SOA/BPM technology specialist where his sole objective was to educate and collaborate with customers as they considered, designed, and architected BizTalk solutions. One of those customers liked him enough to bring him onboard full time as an architect after they committed to using BizTalk Server as their enterprise service bus. Once the BizTalk environment was successfully established, Richard transitioned into a solutions architect role where he now helps identify enterprise best practices and applies good architectural principles to a wide set of IT initiatives. Richard maintains a semi-popular blog of his exploits, pitfalls, and musings with BizTalk Server and enterprise architecture at http://seroter.wordpress.com. The authors have provided a website with further information about the book here: http://appliedarchitecturepatterns.com/

Read more from Richard Seroter

Related to SOA Patterns with BizTalk Server 2009

Related ebooks

Information Technology For You

View More

Related articles

Reviews for SOA Patterns with BizTalk Server 2009

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    SOA Patterns with BizTalk Server 2009 - Richard Seroter

    Table of Contents

    SOA Patterns with BizTalk Server 2009

    Credits

    About the author

    About the reviewers

    Preface

    What this book covers

    Who this book is for

    Conventions

    Reader feedback

    Customer support

    Downloading the example code for the book

    Errata

    Piracy

    Questions

    1. Building BizTalk Server 2009 Applications

    What is BizTalk Server?

    BizTalk architecture

    Setting up new BizTalk projects

    What are BizTalk schemas?

    Schema creation and characteristics

    Property schemas

    What are BizTalk maps?

    Configuring BizTalk messaging

    Working with BizTalk orchestration

    Summary

    2. Windows Communication Foundation Primer

    What is WCF?

    Defining the contract

    Service contracts

    Data contracts

    Implementing contracts in services

    Throwing custom service faults

    Choosing an endpoint address

    The role of service bindings

    Hosting services

    Consuming WCF services

    Non-WCF clients

    WCF clients

    Summary

    3. Using WCF Services in BizTalk Server 2009

    Relationship between BizTalk and WCF

    BizTalk WCF adapter

    Exposing WCF services from orchestrations

    Setting up the project

    Generating the WCF endpoint

    Configuring the Generated Components

    Anatomy of a generated WCF WSDL

    Exposing WCF services from schemas

    Consuming WCF services from orchestrations

    Consuming WCF services without orchestration

    Summary

    4. Planning Service-Oriented BizTalk Solutions

    The core principles of a service-oriented architecture

    Loosely coupled

    How does this apply to BizTalk Server solutions?

    Abstraction

    How does this apply to BizTalk Server solutions?

    Interoperable

    How does this apply to BizTalk Server solutions?

    Reusable

    How does this apply to BizTalk Server solutions?

    Identifying Standard Message Exchange Patterns

    Request/Response services

    One-way services

    Request/Callback services

    Publish/Subscribe services

    Types of services

    RPC services

    Document services

    Event services

    Summary

    5. Schema and Endpoint Patterns

    Service-oriented schema patterns

    Designing schemas based on service type

    Canonical schemas

    Building and applying reusable schema components

    Node data type conversion for service clients

    Node feature mapping for service clients

    Element grouping

    Element properties

    Element restrictions

    Exploiting generic schemas

    Service-oriented endpoint patterns

    Building reusable receive ports

    Constructing a contract-first endpoint

    Summary

    6. Asynchronous Communication Patterns

    Why asynchronous communication matters

    Using asynchronous services in WCF

    Creating the synchronous service

    Building a client-side asynchronous experience

    Working with server-side asynchronous services

    Using asynchronous services in BizTalk with WCF

    Consuming asynchronous services

    Exposing asynchronous services

    Getting results from asynchronous invocations

    Building WCF services that support client callbacks

    BizTalk support for client callbacks

    Using queues within asynchronous scenarios

    Summary

    7. Orchestration Patterns

    Why orchestration?

    What is MessageBox direct binding?

    Using dynamic service ports

    Defining the service

    Configuring IIS/WAS to host the service

    Building the BizTalk solution

    Configuring the BizTalk solution

    Supporting dual initiating message exchange patterns

    Building the BizTalk solution

    Configuring the BizTalk solution

    Chaining orchestrations using business rules

    Building the BizTalk solution

    The role of transactions in aggregated services

    Defining the service

    Building the BizTalk solution

    Building a Complex Event Processing solution

    Building the BizTalk solution

    Constructing the event schemas

    Building Pattern Matching Orchestrations

    Constructing the complex event orchestration

    Summary

    8. Versioning Patterns

    Why versioning?

    What service aspects may undergo changes?

    How to version schemas

    How to version endpoints

    Creating endpoints for custom WSDLs

    Versioning long-running orchestrations

    Techniques for delaying change

    Flexible fields

    Generic on-ramps

    Summary

    9. New SOA Capabilities in BizTalk Server 2009: WCF SQL Server Adapter

    What is the WCF SQL Adapter?

    Solution set up

    Executing composite transactions

    Polling for data

    Using SQL Server Query notification

    Consuming the adapter from outside BizTalk Server

    Called directly via WCF service reference

    Auto-generated IIS-hosted service

    Custom built proxy IIS-hosted service

    Summary

    10. New SOA Capabilities in BizTalk Server 2009: UDDI Services

    What is UDDI?

    How to add services to the UDDI registry

    Dynamic endpoint resolution via UDDI

    Building subscription alerts for service changes

    Summary

    11. New SOA Capabilities in BizTalk Server 2009: ESB Guidance 2.0

    What is ESB Guidance?

    Available services

    Transformation Services

    Resolver Services

    Exception Services

    Itinerary Services

    Building a basic routing scenario

    Building a routing scenario with transformation

    Building a scenario with chained operations and orchestration

    Summary

    12. What's Next

    Dublin

    What problem does it solve?

    .NET Services

    What problem does it solve?

    Oslo

    What problem does it solve?

    Future of BizTalk Server

    Summary

    Index

    SOA Patterns with BizTalk Server 2009

    Implement SOA strategies for BizTalk Server solutions

    Richard Seroter


    SOA Patterns with BizTalk Server 2009

    Implement SOA strategies for BizTalk Server solutions

    Copyright © 2009 Packt Publishing

    All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

    Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers or distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.

    Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

    First published: April 2009

    Production Reference: 1200409

    Published by Packt Publishing Ltd.

    32 Lincoln Road

    Olton

    Birmingham, B27 6PA, UK.

    ISBN 978-1-847195-00-5

    www.packtpub.com

    Cover Image by Vinayak Chittar (<vinayak.chittar@gmail.com>)

    Credits

    Author

    Richard Seroter

    Reviewers

    Charles Young

    Ewan Fairweather

    Zach Bonham

    Acquisition Editor

    James Lumsden

    Development Editors

    Nikhil Bangera

    Siddharth Mangrole

    Technical Editor

    Gagandeep Singh

    Indexer

    Rekha Nair

    Production Editorial Manager

    Abhijeet Deobhakta

    Editorial Team Leader

    Akshara Aware

    Project Team Leader

    Lata Basantani

    Project Coordinator

    Neelkanth Mehta

    Proofreader

    Camille Guy

    Production Coordinator

    Shantanu Zagade

    Cover Work

    Shantanu Zagade

    About the author

    Richard Seroter is a solutions architect for an industry-leading biotechnology company, a Microsoft MVP for BizTalk Server, and a Microsoft Connected Systems Advisor. He has spent the majority of his career consulting with customers as they planned and implemented their enterprise software solutions. Richard worked first for two global IT consulting firms, which gave him exposure to a diverse range of industries, technologies, and business challenges. Richard then joined Microsoft as a SOA/BPM technology specialist where his sole objective was to educate and collaborate with customers as they considered, designed, and architected BizTalk solutions. One of those customers liked him enough to bring him onboard full time as an architect after they committed to using BizTalk Server as their enterprise service bus. Once the BizTalk environment was successfully established, Richard transitioned into a solutions architect role where he now helps identify enterprise best practices and applies good architectural principles to a wide set of IT initiatives.

    Richard maintains a semi-popular blog of his exploits, pitfalls, and musings with BizTalk Server and enterprise architecture at http://seroter.wordpress.com.

    First off, I need to thank my exceptional technical reviewers and editors for doing such a fine job. Charles Young, Zach Bonham, and Ewan Fairweather all made significant contributions in their role as technical reviewers and this book is of a higher caliber as a result of their insight and wisdom. Tim Wieman also took time to review the book content and his real-world perspective was a welcome addition. I have to thank James Lumsden, Neelkanth Mehta, Nikhil Bangera, Gagandeep Singh and the whole top notch team from Packt Publishing for doing such a seamless job shepherding this book from inception through delivery.

    I'd have been much worse off in this endeavor without the assistance from Microsoft. Thanks to Richard Hughes and Emil Velinov for acting as facilitators to the Microsoft technical team and efficiently routing my questions to the appropriate individual. These capable Microsofties include Dmitri Ossipov, David Stucki, John Taylor, Sarathy Sakshi, and Rong Yu.

    I'm thankful every day that I work with some of the brightest and most creative technologists that you'll ever come across. They have contributed greatly to my architectural maturity and helped me (unwittingly or not!) craft many of the patterns that you'll find in this book. These people include my peerless manager Nancy Lehrer and colleagues Fred Stann, Ian Sutcliffe, Chris Allen, Simon Chatwin, Jaydev Thakkar, Elizabeth Waldorf, Felix Rabinovich, Aki Hayashi, and Victor Fehlberg.

    Finally, I had wondered before I wrote this book why everyone always thanks their families in a book's acknowledgements section. Now I know. I couldn't have gotten this task done without the support of my wife Amy and son Noah. Actually, Noah's too young to have put up a real fight, but he's a trooper nonetheless. Thanks you two for putting up with the late weeknights and stolen weekends. Hopefully my book residuals are enough to take us all to a nice dinner.

    About the reviewers

    Charles Young has more than twenty years' experience of software architecture, design, and implementation, and has worked on numerous projects as a developer, trainer, and consultant. He works as a Principal Consultant at Solidsoft, a UK-based company specializing in integration, workflow, and business process management on the Microsoft platform. Charles has wide experience of applying BizTalk Server, WCF, and WF to real-world problems. He has blogged extensively on the use of BizTalk Server and Business Rules, and is a regular speaker at architectural conferences and seminars.

    Ewan Fairweather has worked for Microsoft for four years. He currently works as a Program Manager in the BizTalk Product Group on the Customer Advisory Team (CAT). The BizTalk CAT is responsible for improving customer experience with BizTalk through: defining and delivering the enterprise services that the product requires, providing prescriptive guidance on best practices to all customers, and improving future versions of the product through customer feedback and key learnings.

    Prior to this, Ewan spent over three years working for Microsoft UK in the Premier Field Engineering team. In this role he worked with enterprise customers, helping them to maintain and optimize their BizTalk applications. This involved providing both proactive and reactive onsite assistance within the UK and the rest of Europe. Ewan has also worked in a dedicated capacity on some of the world’s largest BizTalk deployments, predominantly within financial services.

    Ewan co-authored the successful Professional BizTalk Server 2006 book and has written many whitepapers for Microsoft including the Microsoft BizTalk Server Performance Optimization guide which is available on Microsoft’s MSDN website. Prior to joining Microsoft Ewan worked as a Cisco Certified Academy Instructor (CCAI) for a regional training organization delivering advanced routing and networking courses. Ewan holds a first class honors Bachelor of Science degree in Computing with Management from the University of Leeds. Outside of work, Ewan’s hobbies include reading, taking part in as many sports as possible, and regularly going to the gym.

    Zach Bonham is a software developer working primarily with Microsoft's connected systems technology. Zach is active in the Dallas/Fort Worth user group community and is a member of Microsoft's Connected Technologies Advisor Group. You can catch up with Zach at http://zachbonham.blogspot.com.

    I would like to thank Richard Seroter for taking the time to write this book as well as for his contributions to the online community. I would also like to thank Ray Crager for being the smartest man alive and a great teacher. There are an incredible number of BizTalk community members who need to be thanked, too many to list here, but you know who you are! Finally, I would like to thank my wife, Sally, and our two children for their love and support.

    Preface

    Repeat after me: SOA is something you do, not something you buy.

    -David Linthicum

    That may seem an odd quote to use when beginning a book about employing a particular product to facilitate the implementation of a service-oriented architecture (SOA). However, I think it sets the tone for what I'd like to accomplish here.

    There are countless books available on service-oriented architecture, and nearly as many independent definitions of what SOA actually is. Is it about web services, event-driven design, enterprise architecture, reusability, or maybe just a retread of existing object-oriented design? Depending on whom you ask, any of those preceding themes would be deemed correct. If you're looking to implement a SOA, you would find numerous vendors who claim to offer SOA in a box where becoming service oriented is as straightforward as installing a product. However, I prefer to define SOA as an architectural discipline based on loosely-coupled, autonomous chunks of business functionality, which can be used to construct composite applications. There are plenty of vital characteristics that can be teased out of that definition, but the most important point is that building a successful SOA requires an enterprise commitment and a particular way of thinking about software design, which cannot be achieved by simply hitching your wagon to the SOA product de jour.

    That said, a service-oriented architecture cannot be implemented using only high-minded strategies recorded with paper and pencil. It requires a technology solution that can realize the goals and vision of the business architecture. In this book, we're going to specifically investigate how to design and build service-oriented solutions using BizTalk Server 2009 as the host platform. The crop of high quality BizTalk Server books currently available all admirably cover the entire suite of capabilities which make up the product. And BizTalk by nature has many built-in service-oriented concepts such as loose coupling and message-oriented design, which are discussed in the existing books on hand. However, there is no book currently available that specifically looks at how to map service-oriented principles and patterns to the BizTalk product. That's where this book fits in.

    One might look at Windows Workflow Foundation (WF) and Windows Communication Foundation (WCF) and ask why it matters to keep talking about BizTalk Server. Aren't these exciting technologies shepherding in a new era of Microsoft-based enterprise software design that makes a messaging bus like BizTalk obsolete? Fair question. Today, WF and WCF are foundational platform technologies on which future Microsoft applications will be built upon. They are both excellent at servicing particular problem areas around unified communication and workflow. BizTalk Server is Microsoft's enterprise class product, which enables process integration across disparate entities (such as organizations, platforms, applications) through a robust event-driven infrastructure that provides durable messaging, load balancing, and reliability. Similarly, while one can build a portal solution on top of Microsoft Internet Information Services (IIS) and ASP.NET technologies, the premier, complete portal offering from Microsoft is the SharePoint Server. I can attempt to build my own messaging solution using WCF and WF, but trying to design, build, and test such a solution takes me away from my primary goal of helping my organization solve business problems.

    What about the upcoming Oslo wave of products from Microsoft, which include the Dublin server, Oslo repository, and modeling toolset? The Dublin server, which fits into IIS and provides a powerful host for WCF and WF applications, solves specific problems around hosting and managing WCF and WF solutions. It is not a replacement of BizTalk Server and serves a different purpose. The Oslo modeling platform offers a compelling way to visualize solutions and construct rich models which can turn into actual applications. It is meant to solve problems around overall application design and does not provide any sort of infrastructure for actually running applications.

    Take a look at Chapter 12 for more about these upcoming technologies.

    Much has been written about the business aspect of SOA and achieving enterprise momentum for designing software in a service oriented fashion. If you are looking at how to engage your CEO or business stakeholders and expound on the virtues of SOA, this book is not your best resource.

    You will find that this book is a technical resource for folks looking to implement service-oriented patterns while exposing new services or consuming existing ones. We will take a deep look at how BizTalk Server works with the new WCF service model. We will also see how to take advantage of the BizTalk engine to build asynchronous processes and reusable orchestrations.

    This book, at its core, is an explanation of how to construct flexible solutions that are built for change.

    Is BizTalk Server the only product that can help you reach a service-oriented nirvana? Of course not. You can very successfully build a SOA without using BizTalk Server, or any single product, for that matter. In fact, your SOA strategy should NOT be dependent on a single vendor or product, but rather support an ecosystem of service enabled platforms. This protects you from future change, while encouraging general SOA patterns that are not product-specific.

    That said, I plan to show you that BizTalk Server is an excellent platform for advancing your service-oriented architecture and creating new opportunities for making your environment more agile and flexible. As we work together through the examples in this book, I hope that you'll be able to visualize exactly how to utilize BizTalk Server in the most efficient manner within your organization's IT environment.

    What this book covers

    This book is put together in a way that encourages you to follow along and build up your comfort level and knowledge as we progress from chapter to chapter. Throughout this book, I will make use of simple pharmaceutical scenarios to demonstrate key concepts. This industry is where I spend my time nowadays, and the demos that we build should have a common theme. That said, if you have no experience in the pharmaceutical industry, there's nothing to worry about. The examples we work through will involve basic patient and drug evaluation trials scenarios that are easily understood and don't distract from the underlying technology message.

    Chapters 1 - 3 are designed to introduce you to BizTalk and WCF and show you how to build a BizTalk services solution from scratch. This will help you keep up with the brisk pace of the later chapters. Chapters 4 - 12 build upon this knowledge and help you design and apply increasingly complex patterns and scenarios.

    In Chapter 1, we will look at what exactly BizTalk Server is, review the core architecture of the application, and show how to build an end-to-end solution.

    WCF is still a relatively new technology and many BizTalk customers are still comfortably using the classic ASP.NET web services framework. However, the future of the communication subsystem of Microsoft products is WCF, and it's an important technology to understand. In Chapter 2, we take a look at what problem WCF is attempting to solve, and how to actually build and host WCF services.

    After having a solid foundation on BizTalk and WCF, we will look at how to actually use services in the BizTalk environment. In Chapter 3, we build a number of common scenarios using BizTalk and WCF services.

    By Chapter 4, you will be comfortable with how BizTalk and WCF work, and how to build BizTalk solutions that take advantage of services. At this point it's crucial to investigate exactly what a service-oriented BizTalk solution looks like. What types of services should I expose? How can I exchange messages through the BizTalk bus? We'll answer these questions and much more at this stage of the book.

    A critical part of the technology portion of your service design is the contract definition. What are you sharing with the outside world? In addition to the contract, the actual transportation channel is a vital selection for your service. In hapter 5, we will look at building service-oriented contracts and how to effectively work with BizTalk's service endpoints.

    BizTalk relies upon asynchronous communication, and in Chapter 6, we will look at how to take advantage of asynchronous messaging to build robust service-oriented solutions. We'll also cover the tricky concept of providing acknowledgements or results to clients that call services in a fire-and-forget fashion.

    You can use BizTalk orchestration to design new service logic or, build new composite applications based on existing services that have been discovered. In Chapter 7, we will look at how to build reusable orchestrations, accommodate transactions, and work with service aggregation.

    It's hard to build for change but it's a fact of life for every IT department. Fiddling with a service contract is a delicate operation, and in Chapter 8, we will investigate the options for minimizing the impact of service modifications.

    BizTalk Server 2009 offers a brand new WCF-based SQL Server adapter. In Chapter 9, we will investigate common usage patterns for polling data and updating data.

    Microsoft's UDDI Services have moved from being part of Windows Server to now being included only with BizTalk Server 2009. In Chapter 10, we will take a look at how to use the UDDI server to register and resolve services.

    Microsoft's Enterprise Service Bus Guidance is a key part of a service-oriented BizTalk solution and in Chapter 11, we will dig through the various components and build a series of examples.

    The Microsoft team responsible for BizTalk Server has an array of offerings on the upcoming slate. In Chapter 12, we will take a look at the role of .NET Services, what Dublin is, what's in store from Oslo, and where BizTalk is heading in the future.

    Who this book is for

    There are multiple target audiences for this book. First off, I'm writing this book as a resource for developers who have been tasked with building service-oriented BizTalk Server solutions. Developers will be able to use this book to implement common patterns to design services in way that fosters reuse and encourages flexibility. When developers are tasked with using BizTalk to consume existing services, they can also use this book to review strategies and considerations they need to take into account.

    This book is also targeted at architects, who are responsible for envisioning an enterprise solution and implementing the software blueprint. We will cover a variety of ways to use BizTalk in a service-oriented fashion that will help architects decide the best way to distribute the system processing.

    As I mentioned earlier, this book is not a pure tutorial on BizTalk Server or WCF. So, I'll expect that you are somewhat familiar with BizTalk Server 2006 development, and have seen a WCF service in action before.

    Also, I'll be spending plenty of time using Visual Studio.NET to demonstrate development tasks, so it would be useful if you have used Microsoft's development environment in the past.

    That said, I will be providing a brief overview of both BizTalk Server and WCF, so if you are new to either, or both, I'd like to think that you will still find this book a valuable resource in your library.

    Conventions

    In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.

    Code words in text are shown as follows: The next thing to do is to delete the Address node.

    A block of code will be set as follows:

    [XmlElementAttribute(FailureScreen, typeof(FailureScreen)]

    [XmlElementAttribute(StandardScreen, typeof(StandardScreen)]

    public object Item {

    get {

    return this.itemField;

    }

    set {

    this.itemField = value;

    }

    }

    When we wish to draw your attention to a particular part of a code block, the relevant lines or items will be shown in bold:

    public bool BuyThisBook(int copies)

    {

    if(copies <=2)

    {

    //inserted new code here

    PlaceOrder(copies + 2);

     

    }

    }

    New terms and important words are shown in bold. Words that you see on the screen, in menus or dialog boxes for example, appear in our text like this: clicking the Next button moves you to the next screen.

    Note

    Warnings or important notes appear in a box like this.

    Tip

    Tips and tricks appear like this.

    Reader feedback

    Feedback from our readers is always welcome. Let us know what you think about this book — what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.

    To send us general feedback, simply drop an email to <feedback@packtpub.com>, and mention the book title in the subject of your message.

    If there is a book that you need and would like to see us publish, please send us a note in the SUGGEST A TITLE form on www.packtpub.com or email .

    If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors.

    Customer support

    Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.

    Downloading the example code for the book

    Visit http://www.packtpub.com/files/code/5005_Code.zip to directly download the example code.

    The downloadable files contain instructions on how to use them.

    Errata

    Although we have taken every care to ensure the accuracy of our contents, mistakes do happen. If you find a mistake in one of our books — maybe a mistake in text or code — we would be grateful if you would report this to us. By doing so, you can save other readers from frustration, and help us to improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/support, selecting your book, clicking on the let us know link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata added to any list of existing errata. Any existing errata can be viewed by selecting your title from http://www.packtpub.com/support.

    Piracy

    Piracy of copyright material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come

    Enjoying the preview?
    Page 1 of 1