Microsoft Azure: Enterprise Application Development
1/5
()
About this ebook
Related to Microsoft Azure
Related ebooks
OData Programming Cookbook for .NET Developers Rating: 0 out of 5 stars0 ratingsMicrosoft Azure Storage Essentials Rating: 0 out of 5 stars0 ratingsGetting Started with Greenplum for Big Data Analytics Rating: 0 out of 5 stars0 ratingsMicrosoft .NET Framework 4.5 Quickstart Cookbook Rating: 0 out of 5 stars0 ratingsMastering Cloud Development using Microsoft Azure Rating: 0 out of 5 stars0 ratingsExpert Cube Development with SSAS Multidimensional Models Rating: 0 out of 5 stars0 ratingsMicrosoft Dynamics CRM 2011: Dashboards Cookbook Rating: 0 out of 5 stars0 ratingsMicrosoft Dynamics GP 2013 Implementation Rating: 0 out of 5 stars0 ratingsMastering Azure Serverless Computing: Design and Implement End-to-End Highly Scalable Azure Serverless Solutions with Ease Rating: 0 out of 5 stars0 ratingsApplied Architecture Patterns on the Microsoft Platform Second Edition Rating: 0 out of 5 stars0 ratingsOracle Data Integrator 11g Cookbook Rating: 0 out of 5 stars0 ratingsProfessional Microsoft SQL Server 2014 Integration Services Rating: 0 out of 5 stars0 ratingsInstant Pentaho Data Integration Kitchen Rating: 0 out of 5 stars0 ratingsNavigating Azure: A Comprehensive Guide to Microsoft's Cloud Platform Rating: 0 out of 5 stars0 ratingsMICROSOFT AZURE ADMINISTRATOR EXAM PREP(AZ-104) Part-3: AZ 104 EXAM STUDY GUIDE Rating: 0 out of 5 stars0 ratingsProgramming Microsoft Dynamics® NAV 2013 Rating: 0 out of 5 stars0 ratingsAzure Bicep QuickStart Pro Rating: 0 out of 5 stars0 ratingsMastering Amazon Relational Database Service for MySQL: Building and configuring MySQL instances (English Edition) Rating: 0 out of 5 stars0 ratingsMicrosoft SQL Server 2012 Performance Tuning Cookbook Rating: 0 out of 5 stars0 ratingsBuilding Web Services with Microsoft Azure Rating: 0 out of 5 stars0 ratingsPractical PowerShell Exchange Server 2019 Rating: 0 out of 5 stars0 ratingsMicrosoft Dynamics NAV Administration Rating: 0 out of 5 stars0 ratingsASP.NET 3.5 Application Architecture and Design Rating: 0 out of 5 stars0 ratingsMVVM Survival Guide for Enterprise Architectures in Silverlight and WPF Rating: 0 out of 5 stars0 ratingsMicrosoft SQL Azure Enterprise Application Development Rating: 0 out of 5 stars0 ratingsPower BI Rating: 0 out of 5 stars0 ratingsMicroservices: Build, Design And Deploy Distributed Services Rating: 0 out of 5 stars0 ratingsPentaho Data Integration 4 Cookbook Rating: 0 out of 5 stars0 ratingsLearn Angular: Build a Todo App Rating: 0 out of 5 stars0 ratings
Enterprise Applications For You
Excel 2019 Bible Rating: 5 out of 5 stars5/5Creating Online Courses with ChatGPT | A Step-by-Step Guide with Prompt Templates Rating: 4 out of 5 stars4/5QuickBooks 2023 All-in-One For Dummies Rating: 0 out of 5 stars0 ratingsNotion for Beginners: Notion for Work, Play, and Productivity Rating: 4 out of 5 stars4/5Excel : The Ultimate Comprehensive Step-By-Step Guide to the Basics of Excel Programming: 1 Rating: 5 out of 5 stars5/5Excel 101: A Beginner's & Intermediate's Guide for Mastering the Quintessence of Microsoft Excel (2010-2019 & 365) in no time! Rating: 0 out of 5 stars0 ratingsIntroduction to Information Systems: Information Technology Essentials, #1 Rating: 0 out of 5 stars0 ratingsExcel Formulas and Functions 2020: Excel Academy, #1 Rating: 4 out of 5 stars4/5Scrivener For Dummies Rating: 4 out of 5 stars4/5Excel Tables: A Complete Guide for Creating, Using and Automating Lists and Tables Rating: 5 out of 5 stars5/5Microsoft Copilot For Dummies Rating: 0 out of 5 stars0 ratingsQuickBooks Online For Dummies, 2025 Edition Rating: 5 out of 5 stars5/5CompTIA Project+ Study Guide: Exam PK0-005 Rating: 0 out of 5 stars0 ratingsMicrosoft Excel 365 Bible Rating: 0 out of 5 stars0 ratingsAgile Project Management: Scrum for Beginners Rating: 4 out of 5 stars4/5Excel Dashboards and Reports Rating: 5 out of 5 stars5/5101 Most Popular Excel Formulas: 101 Excel Series, #1 Rating: 4 out of 5 stars4/5Enterprise AI For Dummies Rating: 3 out of 5 stars3/5Microsoft Power Platform A Deep Dive: Dig into Power Apps, Power Automate, Power BI, and Power Virtual Agents (English Edition) Rating: 0 out of 5 stars0 ratings50 Useful Excel Functions: Excel Essentials, #3 Rating: 5 out of 5 stars5/5Personal Knowledge Graphs: Connected thinking to boost productivity, creativity and discovery Rating: 5 out of 5 stars5/5Access 2019 For Dummies Rating: 0 out of 5 stars0 ratingsBitcoin For Dummies Rating: 4 out of 5 stars4/5
Reviews for Microsoft Azure
1 rating0 reviews
Book preview
Microsoft Azure - Richard J. Dudley
Table of Contents
Microsoft Azure: Enterprise Application Development
Credits
About the Authors
Acknowledgement
Acknowledgement
About the Reviewer
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Errata
Piracy
Questions
1. Introduction to Cloud Computing
What is an enterprise application?
What is cloud computing?
Some benefits of cloud computing
Some downsides of cloud computing
Cloud computing infrastructure
Cloudy skies ahead
Is cloud computing enterprisey
enough?
Summary
2. The Nickel Tour of Azure
Explaining Azure to the managers
Windows Azure
Compute service
Storage service
Blob Storage
Table Storage
Queue Storage
Azure Fabric Agent and Controller
SQL Azure
Windows Azure platform: AppFabric
Codename Dallas
Development Fabric
Considerations for the ASP.NET developer
How are Azure costs calculated?
Calculating Windows Azure pricing
Calculating SQL Azure pricing
Calculating AppFabric pricing
Summary
3. Setting Up for Development
Downloading the tools
Configuring the local machine for development
Installing Windows Azure tools and SDK
Summary
4. Designing our Sample Application
Project design
Integrating application with cloud features
Creating an Azure account
Summary
5. Introduction to SQL Azure
Overview of SQL Azure
Manageability
Managing SQL Azure
Similarities
Differences
High availability
Scalability
Relational data model
Familiar development model
What's the same in SQL Azure?
Data types
Database objects
Fully supported T-SQL commands
Partially supported T-SQL commands
SQL Server built-in functions
Multiple active result sets
What's different in SQL Azure?
Number of databases
Database objects
Service Broker, SQL Browser, and DTC
T-SQL commands
System functions
Data synchronization
Security
Development considerations
Managing maximum size
Management tools
SQL Azure portal
SSMS 2008 R2
Project Houston
Access 2010
Managing databases, logins, and roles in SQL Azure
Migrating schema and data
Manually scripting objects and data
SQL Azure Migration Wizard
SQL Server Integration Services (SSIS)
SQL Server Import and Export Wizard
Creating packages from scratch
DAC Packs
BCP
The Jupiter Motor's ERP system database and the Dealer Orders database
SQL Azure portal
Creating our database
Summary
6. Azure Blob Storage
Blobs in the Azure ecosystem
Creating Blob Storage
Windows Azure Content Delivery Network
Blob Storage Data Model
Blob Storage
Representational State Transfer
The Blob Storage API
Working with containers using the REST interface
Working with containers using the StorageClient library
Working with blobs
Summary
7. Azure Table Storage
Table Storage versus database tables
Some of the good stuff
Limitations of Table Storage
Adding Table Storage to an Azure account
Accessing Table Storage
Working with tables
Working with entities
Entity Group Transactions
Choosing a PartitionKey
Exception handling
Retry on exceptions
Exceptions on retry
Concurrency conflicts
Table errors and HTTP response codes
Summary
8. Queue Storage
The ins and outs of queues
Reasons to use a queue
Invisibility time and failover
Special handling for binary data
Working with queues
Listing queues
REST API
Client library
Creating queues
REST API
Client library
Deleting queues
REST API
Client library
Setting metadata
REST API
Client library
Getting metadata
REST API
Client library
Working with messages
Summary
9. Web Role
The role of the web
Web roles, déjà vu, and ASP.NET
Creating the solution and web role project
Application diagnostics and logging in the cloud
Jupiter Motors web role
How do we get there? Here's our code!
Additional stored procedures used by the web role
Summary
10. Web Services and Azure
Web services and WCF
Securing WCF
Jupiter Motors web service
Creating a new WCF service web role
Our WCF web services
ERP service interface — IERPService.vb
Service Contract
Operation Contract
Data Contract
Using ADO.NET datasets
ERP service implementation — ERPService.svc.vb
LoadStartupData service function
GetOrderStatusForOrder service function
AddOrderStatusUpdateToQueue service function
GetOrdersNotComplete, GetOrderStatuses, and CreateDataSetFromDataReader class functions
DataTable gotcha
Web Service Definition Language (WSDL) gotcha
Summary
11. Worker Roles
Worker role internals
Uses of worker roles
Externally facing worker roles
Thread-pool pattern
Managing worker roles
Best practices
The Jupiter Motors worker role
Building the Jupiter Motors worker role
Summary
12. Local Application for Updates
Brief overview of the application
JupiterMotorsERP local application
Adding App.config code
Testing our application
Summary
13. Azure AppFabric
Introduction to Azure AppFabric
Access Control
Authentication versus authorization
Basics of Access Control configuration
Requests and Simple Web Tokens
Configuring Access Control for Jupiter Motors
Configuring Azure AppFabric Portal
Configuration tools
Creating a Token Policy
Configuring a Scope
Configuring an Issuer
Configuring a Rule
Configuring a client application for Access Control
Requesting the Token
Using Access Control in a web service
Service Bus
Service Bus as message relay
Service Bus as connection broker
Summary
14. Azure Monitoring and Diagnostics
Azure Diagnostics under the hood
Enabling diagnostic logging
Changing the location of the logging configuration
Logging config data in our application
Transferring and persisting diagnostic data
Accessing stored data
Summary
15. Deploying to Windows Azure
Setting up hosted service in Windows Azure
Setting Hosted Service identifiers
Affinity Groups — geographically grouping services
Preparation application for deployment
Ready for deployment
Changing live configuration
Upgrading the deployment
Running the deployment
Summary
Conclusion
Index
Microsoft Azure: Enterprise Application Development
Microsoft Azure: Enterprise Application Development
Copyright © 2010 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 authors, nor Packt Publishing, and its dealers and 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: December 2010
Production Reference: 1231110
Published by Packt Publishing Ltd.
32 Lincoln Road
Olton
Birmingham, B27 6PA, UK.
ISBN 978-1-849680-98-1
www.packtpub.com
Cover Image by Vinayak Chittar (<[email protected]> )
Credits
Authors
Richard J. Dudley
Nathan A. Duchene
Reviewers
Ruslan Konviser
Anton Staykov
Acquisition Editor
James Lumsden
Development Editor
Dhwani Devater
Technical Editor
Gaurav Datar
Indexer
Rekha Nair
Editorial Team Leader
Gagandeep Singh
Project Team Leader
Lata Basantani
Project Coordinator
Rebecca Sawant
Proofreader
Ting Baker
Graphics
Geetanjali Sawant
Production Coordinator
Shantanu Zagade
Cover Work
Shantanu Zagade
About the Authors
Richard J. Dudley has experience in the field of computers, going all way back to PC-DOS 1.1 (of which the original box still sits in a closet), with 128K and dual floppies. He began programming in GW-BASIC, and has used nearly every BASIC variant along the way. He was very active in the Louisville BBS community in the 1980s.
Richard holds a BS in Environmental Science from Allegheny College, and an MS in Biological Sciences from The University of Alabama. He developed his programming skills as a way to record and analyze his data, and later collaborate with other labs as the World Wide Web slowly came into being. Eventually, the dot com boom was too tempting, and Rich left science to be become a full-time developer. Rich spent 10 years as an Enterprise Developer, building and supporting everything from consumer websites to several mission-critical systems integrations, to Crystal-and SSRS-based BI tools, to a number of internal line-of-business applications.
Rich is now a Technology Evangelist for ComponentOne, where his job is to support the user community by working with all the latest Microsoft technologies.
Rich's past employers include The University of Alabama-Birmingham (Research Assistant V), The University of Pittsburgh (Research Specialist II), Spang & Co. (e-Commerce Developer), and Armada Supply Chain Solutions (Senior Application Developer).
Acknowledgement
You always see an author thank his or her family, and until you write a book, you can't really understand why. Writing a book is time consuming–you spend a lot of time looking out of a window watching the seasons pass by, wishing you were kayaking on the nearby lake, or going for a bike ride, or anything other than being inside staring at a glowing rectangle hoping the words start flowing soon. We've made almost one complete turn around the sun since we started this book, and it is the culmination of a great deal of work.
So, at the risk of sounding clichéd, I have to thank my wife Kathy, and daughter Anna Claire, who can now have her daddy back.
The impetus to write a technical book doesn't come from money–there's a small advance, and if you're really lucky, maybe some royalties. Fame? Not really–if you're popular, maybe a dozen people will tweet about you. The urge to write a book comes from something more fundamental, something our parents instilled in us and we try and instill in our children–sharing. Share your experiences, share what you know, as doing so builds a stronger community. I hope you find what we've done to be useful.
Nathan A. Duchene has been developing in the .NET Framework since 2005, starting with ASP.NET 2.0. He found a need for a website with the features available in ASP.NET, and with some guidance from Richard J. Dudley, quickly developed and published his web application to the world. After experiencing the ease and flexibility offered by .NET to developers, he decided to learn more features, best practices, and tricks to enhance his web application, build new web applications, write and maintain some console applications, and much more.
In 2008, Nathan and Richard developed and entered a web application into a coding contest, which was voted by the community as the second best of all submissions, losing only by a few votes. Winning an MSDN Premium subscription, it allowed Nathan to play with a number of systems and tools, strengthening his knowledge in the development world.
Nathan, along with Richard, was part of a group that gave a presentation on Silverlight 2 in the Windows Azure cloud in 2009. Both technologies were in beta or pre-beta phases, which caused unexpected issues. Even though the application would not work, the talk was a great success in explaining Windows Azure and Silverlight 2 before they were released to the world.
Nathan is currently an Application Developer for a supply chain solutions company based in Pittsburgh, PA. Along with some .NET development, he also develops and administers solutions using Microsoft SQL Server 2000/2005/2008, Microsoft Biztalk Server 2009, and Microsoft Office SharePoint Server 2007.
This is Nathan's first book and has been a tremendous experience from front to back. After being given the opportunity to pass on some knowledge back to the community, he hopes to have the opportunity in the future to write more books for the community. After observing how quickly technology changes, he feels it's important to release up-to-date information for others to make use of. While Nathan and Richard had to re-write numerous chapters along the way to include new features or changes to existing features, the experience was amazing.
Acknowledgement
I'd like to thank my family and friends for all the support throughout the book process. Not only did they support me, but the encouragement helped me through some rough times when I thought it to be a difficult task to be physically able to write the book with everything else going on at the time. Without my friends and family, I couldn't have made it through this journey. Most importantly, I'd also like to thank my co-author, Richard Dudley. He has been a colleague, a friend, and a mentor over the last eight years. He's shown me opportunities that no one else has and I'm really happy to have him around as a partner in everything we've done. Richard's enthusiasm to help me flourish personally and professionally has had the most meaning in my life recently, and I look forward to working side-by-side with him over the next decades.
About the Reviewer
Anton Staykov has over nine years of solid experience in developing dynamic software solutions (corporate web portals, rich media sites, e-commerce sites, internal software solutions covering specific business needs), using the latest technologies, including Microsoft .NET, MS SQL Server, PHP, MySQL. Currently he is Technical Evangelist for a world leader in the field of User Interface Development Tools and User Experience services. He is User Group Lead for Windows Azure User Group Bulgaria. Anton is an Engineer in Telecommunications and Master of Science in Internet Software Technologies.
You can visit his blog at: http://blogs.staykov.net/.
Preface
Microsoft's Azure platform is an exciting offering in the cloud services market space. Designed to compete with Google AppEngine and Amazon Web Services, Azure stresses a familiar development environment (primarily .NET, SQL Server, and Visual Studio) with a rich set of capabilities. In addition to using Windows Azure to host web applications and services, SQL Azure provides a relational database in the cloud, and Access Control can be utilized to integrate user accounts with identity providers. We can leverage our skills to build powerful applications on Azure with relative ease.
The aim of this book is to gain an understanding of the process, advantages, and challenges of building an application on Azure. We do this by providing in-depth discussion of the platform as we build a sample application.
What this book covers
Chapter 1, Introduction to Cloud Computing, provides an introduction to cloud computing and enterprise applications.
Chapter 2, The Nickel Tour of Azure, is an overview of the service offerings in the Microsoft Azure Platform.
Chapter 3, Setting Up for Development, shows us the tools required for developing applications for Azure and how to set up our development environments.
Chapter 4, Designing our Sample Application, provides the overview of the sample application that will be built throughout the rest of this book.
Chapter 5, Introduction to SQL Azure, provides an introduction to SQL Azure and discusses the differences between SQL Azure and SQL Server 2008. We also create the database objects for our sample application in this chapter.
Chapter 6, Azure Blob Storage, discusses the Blob Storage service and how to interact with blobs using either a .NET client library or REST services. We also create the containers and blobs for our sample application in this chapter.
Chapter 7, Azure Table Storage, discusses the Table Storage service and how to interact with tables using either a .NET client library or REST services.
Chapter 8, Queue Storage, speaks about the Queue Storage service and how to interact with queues using either a .NET client library or REST services. We also create the queues needed for our application in this chapter.
Chapter 9, Web Role, gives an overview of what a web role is, and some of the similarities and differences between a web role and a traditional web application. We also build the portal web role for our sample application in this chapter.
Chapter 10, Web Services and Azure, discusses WCF web services and provides an overview of building a web service. We also build the web service needed for our sample application.
Chapter 11, Worker Roles, speaks about worker roles and many of the functions they can perform. We also build the worker roles for our sample application in this chapter.
Chapter 12, Local Application for Updates, teaches us how to build a Windows Forms application that interacts with our web services.
Chapter 13, Azure AppFabric, provides an overview of the Azure AppFabric, and discusses the capabilities of Access Control and Service Bus. We also configure Access Control for our sample application.
Chapter 14, Azure Monitoring and Diagnostics, discusses the diagnostic monitoring services available in Microsoft Azure, along with how to enable these services in our sample application.
Chapter 15, Deploying to Windows Azure, teaches how to deploy our sample application to Windows Azure and how to change our application's configuration once it is deployed.
What you need for this book
For this book, we need a PC running Windows XP or 7. We also need either Visual Studio 2008 or 2010, or if both are not available, we can go for Visual Web Developer 2010 Express Edition. SQL Server 2008 Express also needs to be installed. We need to install the Windows Azure Tools for Microsoft Visual Studio, and depending on the OS and Visual Studio used, there may be some additional hotfixes. A complete list of requirements can be found at http://msdn.microsoft.com/en-us/windowsazure/cc974146.aspx.
Who this book is for
If you are a developer or architect who wants to build enterprise-level applications with Azure, but needs to understand more about Azure's capabilities first, this book is for you. As the examples are in .NET, the book will skew to MS-oriented developers. But a lot of what is discussed will be applicable to anyone wanting to work with Azure. No matter what language you use, you provision the application fabric the same way, and all the underlying concepts will be the same.