Leveraging Application Blocks in Your Application Development Ihsan Anabtawi Technology Specialist Microsoft ® Corporation.

Slides:



Advertisements
Similar presentations
Mick Badran – BizTalk MVP Training and Integration Specialist Breeze SOA314.
Advertisements

Power BI Sites and Mobile BI. What You Will Learn Sharing and Collaboration Introducing Power BI Exploring Power BI Features and Services Partner Opportunities.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
XML Web Services in Visual Studio ®.NET NameTitleCompany.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 10: Server Administration.
ESupport Shifting Customers to the Internet for Support Published: January 2002.
Best Practices for Building Web Services with Visual Studio ®.NET Sanguan Thammarojsakul Microsoft MVP -.NET Department of Computer Science, Faculty of.
Microsoft ® ASP.NET: Designing and Developing a Line-of-Business Web Application.
ASP.NET: Designing and Developing a Line-of-Business Web Application Ammar Abuthuraya Developer & Platform Lead Microsoft ® Corporation.
Best Practices for ASP.NET Development Ammar Abuthuraya Developer & Platform Lead Microsoft Corporation.
DBA230 Introducing SQL Server 2000 Reporting Services Jason Carlson Product Unit Manager SQL Server Microsoft Corporation.
DYNAMICS CRM AS AN xRM DEVELOPMENT PLATFORM Jim Novak Solution Architect Celedon Partners, LLC
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
Joe Stagner Developer Community Champion Microsoft Corporation Best Practices and Techniques for Building Secure.
Using the WDK for Windows Logo and Signature Testing Craig Rowland Program Manager Windows Driver Kits Microsoft Corporation.
Deploying PKI Inside Microsoft The experience of Microsoft in deploying its own corporate PKI Published: December 2003.
Visual Studio ®.NET Data with XML Carlotta Eaton ( Associate Professor of IST New River Community College Slides by Microsoft Modified.
Microsoft ®.NET and Microsoft ® Office 2003 Suthep Sangvirotjanaphat [MVP]
Conditions and Terms of Use
Virtual techdays INDIA │ Nov 2010 Developing Office Biz Application using WPF on Windows 7 Sarang Datye │ Sr. Consultant, Microsoft Sridhar Poduri.
Created by the Community for the Community BizTalk 2009 Webcast Series.
Deploying SharePoint Products and Technologies for Enterprise Collaboration Microsoft IT group’s Centrally Hosted Collaboration Solution.
HRWeb Maximizing Employee Productivity and the Effectiveness of the HR Organization Published: June 2002.
DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.
DEV337 Modeling Distributed Enterprise Applications Using UML in Visual Studio.NET David Keogh Program Manager Visual Studio Enterprise Tools.
Module 7: Accessing Data by Using ADO.NET
Create Windows ® Applications with.NET Carlotta Eaton ( Associate Professor of IST New River Community College Slides by Microsoft.
Introduction to ASP.NET COMPLETELY DESIGNED BY: COMPLETELY DESIGNED BY: ER.ASHISH PANDEY ER.ASHISH PANDEY (KNOWLEDGE EXECUTIVE ) (KNOWLEDGE EXECUTIVE )
DAT430 Extending Microsoft ® ADO.NET Building a Custom Data Factory API DAT430 Extending Microsoft ® ADO.NET Building a Custom Data Factory API Gert E.R.
Connect with life Vedant Kulshreshtha Technology Solutions Professional – SharePoint | Microsoft India
Security Configuration Wizard Keith D Miller Microsoft European Support Readiness Manager.
Welcome. Welcome to this TechNet Event URL for on-line feedback is in your reminder No Planned Fire Drills Please turn your Mobile Phones off To.
Microsoft Visual Studio 2005 Tools for the Office System: Building Office Solutions Using Visual Studio 2005 Tools for Office Andrew Coates Developer Evangelist.
Arend-Jan Speksnijder Solutions Architect Microsoft Dynamics Lighthouse team Dynamics AX2009 Technical Overview and Demo (DYN301)
Building Custom Controls with ASP.NET and the Microsoft ®.NET Framework Rames Gantanant Microsoft Regional Director, Thailand
Introduction to SQL Server 2000 Reporting Services Jeff Dumas Technical Specialist Microsoft Corporation
MGT305 - Application Management in Private and Public Clouds Daniel Savage Microsoft Corporation MGT305 Kenan Owens Microsoft Corporation.
Enterprise Library 3.0 Memi Lavi Solution Architect Microsoft Consulting Services Guy Burstein Senior Consultant Advantech – Microsoft Division.
Joy Rathnayake Senior Architect – Virtusa Pvt. Ltd.
Building Enterprise Applications Using Visual Studio®
How to be a SharePoint Developer
Microsoft Certification Paths
Demand Management and Workflow
Deployment Planning Services
Deployment Planning Services
6/16/2018 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Developing Hybrid Apps on Microsoft Azure Stack
Enterprise Library Overview
Проектиране и изграждане на сигурни Smart Client приложения
Manual testing of Windows Metro style apps built using HTML
TechEd /13/2018 7:46 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Office Power Hour New developer APIs and features for Apps for Office
SharePoint Online Management and Control
Principles of report writing
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
11/19/2018 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
TechEd /21/2018 5:20 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered.
Matt Masson Software Development Engineer Microsoft Corporation
Microsoft Virtual Academy
12/9/2018 Desktop Virtualization Corey Hynes Kyle Rosenthal President Technical Lead HynesITe Inc Spider Consulting @windowspcguy.
Microsoft Certification Paths
TechEd /15/2019 8:08 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
DAT381 Team Development with SQL Server 2005
Pablo Castro Software Architect Microsoft Corporation
MDC-B203 Deploying Applications in Microsoft System Center Virtual Machine Manager Using Services John Messec Program Manager Microsoft.
2/27/2019 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Delivering great hardware solutions for Windows
Service Template Creation from the Ground Up
Windows Forms in Visual Studio 2005: An in-depth look at key features
Presentation transcript:

Leveraging Application Blocks in Your Application Development Ihsan Anabtawi Technology Specialist Microsoft ® Corporation

What We Will Cover Introduction to: Introduction to:  Data Access Application Block  Exception Management Application Block  Configuration Management Application Block  Updater Application Block

Session Prerequisites Level 200 Familiarity with Microsoft Visual Studio ®.NET Familiarity with Microsoft Visual Studio ®.NET Understanding of Microsoft Visual C# ® Understanding of Microsoft Visual C# ® Basic understanding of Microsoft SQL Server™ 2000 Basic understanding of Microsoft SQL Server™ 2000

Demonstrations Demo 1 – Introduction to the Data Access Application Block Demo 1 – Introduction to the Data Access Application Block Demo 2 – Introduction to the Exception Management Application Block Demo 2 – Introduction to the Exception Management Application Block Demo 3 – Introduction to the Configuration Management Application Block Demo 3 – Introduction to the Configuration Management Application Block Demo 4 – Introduction to the Updater Application Block Demo 4 – Introduction to the Updater Application Block

Agenda Introduction Introduction Data Access Application Block Data Access Application Block Exception Management Application Block Exception Management Application Block Configuration Management Application Block Configuration Management Application Block Updater Application Block Updater Application Block Session Summary Session Summary

Introduction What are Application Blocks? Create less custom code Create less custom code Encapsulate best practices Encapsulate best practices Based on real applications Based on real applications

Introduction Available Application Blocks Authorization and Profile Authorization and Profile Aggregation Aggregation Asynchronous Invocation Asynchronous Invocation Caching Caching Logging Logging User Interface Process User Interface Process Data Access Data Access Exception Management Exception Management Configuration Management Configuration Management Updater Updater

Introduction What Do Application Blocks Include? Visual Studio.NET Projects Visual Studio.NET Projects  Microsoft Visual Basic ®.NET and Visual C# source code  Quick Start Samples Documentation Documentation  Developing Applications  Design and Implementation  Deployment and Operations  Reference Available from: Available from:

Agenda Introduction Introduction Data Access Application Block Data Access Application Block Exception Management Application Block Exception Management Application Block Configuration Management Application Block Configuration Management Application Block Updater Application Block Updater Application Block Session Summary Session Summary

Data Access Application Block Main Elements

Data Access Application Block Using the SqlHelperParameterCache Class Managing parameters Managing parameters  CacheParameterSet  GetCachedParameterSet  GetSpParameterSet Caching and retrieving parameters Caching and retrieving parameters Retrieving stored procedure parameters Retrieving stored procedure parameters

Demo 1 Introduction to the Data Access Application Block

Demonstration Summary Using the SqlHelper class Using the SqlHelper class  SqlHelper::ExecuteNonQuery()  SqlHelper::ExecuteDataSet()  SqlHelper::ExecuteReader() Supporting transactions Supporting transactions

Data Access App. Block SqlHelper Class Public Functions ExecuteNonQuery This method is used to execute commands that do not return any rows or values. ExecuteReader This method is used to return a SqlDataReader object that contains the resultset returned by a command. ExecuteDataset This method returns a DataSet object that contains the resultset returned by a command. ExecuteXmlReader This method returns an XML fragment from a FOR XML query. FillDataset This method is similar to ExecuteDataset, except that a pre- existing DataSet can be passed in, allowing additional tables to be added. UpdateDataset This method updates a DataSet using an existing connection and user-specified update commands. It is typically used with CreateCommand. CreateCommand This method simplifies the creation of a SQL command object by allowing a stored procedure and optional parameters to be provided. This method is typically used with UpdateDataset

Data Access App. Block SqlHelper Class Private Functions AttachParameter A function used to attach any necessary SqlParameter objects to the SqlCommand being executed. AttachParameters PrepareCommand A function used to initialize the properties of the command, such as its connection, transaction context, and so on. ExecuteReader This private implementation of ExecuteReader is used to open a SqlDataReader object with the appropriate CommandBehavior to manage the lifetime of the connection associated with the reader most efficiently. Provide a consistent way to execute commands Provide a consistent way to execute commands

Agenda Introduction Introduction Data Access Application Block Data Access Application Block Exception Management Application Block Exception Management Application Block Configuration Management Application Block Configuration Management Application Block Updater Application Block Updater Application Block Session Summary Session Summary

Exception Management Application Block Publishing Exceptions

Exception Management Application Block Internal Design

Exception Management Application Block Design Elements BaseApplicationException Class BaseApplicationException Class  Computer name where the exception was created  Date and time when the exception occurred  Name of the application domain hosting your application  Thread identity where the exception occurred  Windows identity of the thread  Additional custom information ExceptionManagerSectionHandler Class ExceptionManagerSectionHandler Class ExceptionManager Class ExceptionManager Class

Exception Management Application Block Design Elements ExceptionManagerInstaller class ExceptionManagerInstaller class  Automatic instantiation  Manual instantiation DefaultPublisher class DefaultPublisher class IExceptionPublisher and IExceptionXmlPublisher interfaces IExceptionPublisher and IExceptionXmlPublisher interfaces

Exception Management Application Block Configuration format <configuration> <section name="exceptionManagement" <section name="exceptionManagement" type=" Microsoft.ApplicationBlocks.ExceptionManagement type=" Microsoft.ApplicationBlocks.ExceptionManagement ExceptionManagerSectionHandler, ExceptionManagerSectionHandler, Microsoft.ApplicationBlocks.ExceptionManagement" /> Microsoft.ApplicationBlocks.ExceptionManagement" /> <publisher mode="on/off" assembly="AssemblyName" <publisher mode="on/off" assembly="AssemblyName" type="TypeName" exclude="(+)Type,(+)Type" type="TypeName" exclude="(+)Type,(+)Type" include="(+)Type,(+)Type"exceptionFormat="xml" customattr = "value" /> include="(+)Type,(+)Type"exceptionFormat="xml" customattr = "value" /> </configuration>

Exception Management Application Block Configuration Summary Enable or disable publishers Enable or disable publishers Include or exclude exception types Include or exclude exception types Exception detail format Exception detail format Custom attributes Custom attributes

Demo 2 Introduction to the Exception Management Application Block

Demonstration Summary Creating custom exceptions Creating custom exceptions Publishing custom exceptions Publishing custom exceptions Using Exception Block configuration files Using Exception Block configuration files Creating custom publishers Creating custom publishers

Exception Management Application Block Extending the Exception Management Application Block Why extend? Why extend? Creating a custom publisher Creating a custom publisher  Custom publisher  Receive details Configure the custom publisher Configure the custom publisher

Agenda Introduction Introduction Data Access Application Block Data Access Application Block Exception Management Application Block Exception Management Application Block Configuration Management Application Block Configuration Management Application Block Updater Application Block Updater Application Block Session Summary Session Summary

Configuration Management Application Block Using the Configuration Management Application Block Simplicity Simplicity Flexible data model Flexible data model Storage location independence Storage location independence Data security and integrity Data security and integrity Performance Performance Extensibility Extensibility

Configuration Management Application Block Internal Design

Configuration Management Application Block Reading a Named Configuration Section Hashtable configData; // Read the configuration section named AppConfig configData = (Hashtable)ConfigurationManager.Read("AppConfig"); (Hashtable)ConfigurationManager.Read("AppConfig");

Configuration Management Application Block Writing a Named Configuration Section Hashtable configData; // Write the configuration section named AppConfig ConfigurationManager.Write("AppConfig",configData);

Configuration Management Application Block Reading the Default Configuration Section Hashtable configData; // Read the default configuration section // (must be Hashtable-based) configData = (Hashtable)ConfigurationManager.Read();

Configuration Management Application Block Writing the Default Configuration Section Hashtable configData; // Write the default configuration section // (must be Hashtable-based) ConfigurationManager.Write(configData);

Configuration Block Documentation

Demo 3 Introduction to the Configuration Management Application Block-

Demonstration Summary The ConfigurationManager class The ConfigurationManager class  Read  Write Encrypting configuration settings Encrypting configuration settings Providing alternate storage locations Providing alternate storage locations

Agenda Introduction Introduction Data Access Application Block Data Access Application Block Exception Management Application Block Exception Management Application Block Configuration Management Application Block Configuration Management Application Block Updater Application Block Updater Application Block Session Summary Session Summary

Updater Application Block When to Use the Updater Application Block Update applications Update applications vs. Windows Forms downloads vs. Windows Forms downloads vs. Centralized management systems vs. Centralized management systems vs. IntelliMirror vs. IntelliMirror

Updater Application Block Using the Updater Application Block

Demo 4 Introduction to the Updater Application Block

Demonstration Summary Configuring, writing and running a self- updating application Configuring, writing and running a self- updating application Using AppStart.exe Using AppStart.exe Using ManifestUtility.exe Using ManifestUtility.exe

Updater Application Block Developing Controllers Application to control the updater Application to control the updater ApplicationUpdateManager class ApplicationUpdateManager class  StartUpdater method  StopUpdate method

Updater Application Block Developing Downloaders Moving files Moving files IDownloader interface IDownloader interface BITS BITS  Transfers are restartable  Manageability  Security  Prioritized transfers Custom downloader class Custom downloader class

Updater Application Block Developing Validators Manage cryptographic signatures Manage cryptographic signatures IValidator interface IValidator interface Included validators Included validators Custom validators Custom validators

Updater Application Block Developing Post-Validators Post-deployment configuration Post-deployment configuration IPostProcessor interface IPostProcessor interface Implementing IPostProcessor Implementing IPostProcessor

Agenda Introduction Introduction Data Access Application Block Data Access Application Block Exception Management Application Block Exception Management Application Block Configuration Management Application Block Configuration Management Application Block Updater Application Block Updater Application Block Session Summary Session Summary

Session Summary Reusable code Reusable code Best practices applied to common programming tasks Best practices applied to common programming tasks

For More Information… MSDN Web site at MSDN Web site at  msdn.microsoft.com Microsoft Patterns and Practices on MSDN Microsoft Patterns and Practices on MSDN

Training and Events MSDN Webcasts, MSDN Online Seminars, Tech·Ed, PDC, Developer Days MSDN Essential Resources for Developers Subscription Services Online Information Membership Programs Print Publications Library, OS, Professional, Enterprise, Universal Delivered via CD-ROM, DVD, Web MSDN Online, MSDN Flash, How-To Resources, Download Center MSDN User Groups MSDN Magazine MSDN News

MSDN Webcasts Interactive, Live Online Events Interactive, synchronous, live online events Interactive, synchronous, live online events Discuss the hottest topics from Microsoft Discuss the hottest topics from Microsoft Open and free for the general public Open and free for the general public Take place every Tuesday Take place every Tuesdayhttp://

MSDN Subscriptions THE way to get Visual Studio.NET Visual Studio.NET MSDN Subscriptions NEW Professional Tools to build applications and XML Web services for Windows and the WebTools to build applications and XML Web services for Windows and the Web MSDN Professional $1199 new $899 renewal/upgrade MSDN Enterprise $2199 new $1599 renewal/upgrade MSDN Universal $2799 new $2299 renewal/upgrade Enterprise Developer Enterprise lifecycle toolsEnterprise lifecycle tools Team development supportTeam development support Core.NET Enterprise ServersCore.NET Enterprise Servers Enterprise Architect Software and data modelingSoftware and data modeling Enterprise templatesEnterprise templates Architectural guidanceArchitectural guidance

Where Can I Get MSDN? Visit MSDN Online at msdn.microsoft.com Visit MSDN Online at msdn.microsoft.com Register for the MSDN Flash newsletter at Register for the MSDN Flash newsletter atmsdn.microsoft.com/flash Become an MSDN CD subscriber at msdn.microsoft.com/subscriptions Become an MSDN CD subscriber at msdn.microsoft.com/subscriptions MSDN online seminars MSDN online seminarsmsdn.microsoft.com/training/seminars Attend more MSDN events Attend more MSDN events

Microsoft Press ® Essential Resources for Developers Microsoft Visual Studio ®.NET is here! This is your chance to start building the next big thing. Develop your.NET skills, increase your productivity with.NET books from Microsoft Press

Become a Microsoft Certified Solution Developer What is MCSD? What is MCSD?  Premium certification for professionals who design and develop custom business solutions How do I attain MCSD certification? How do I attain MCSD certification?  Pass four exams to prove competency with Microsoft solution architecture, desktop applications, distributed application development, and development tools Where do I get more information? Where do I get more information?  For more information about certification requirements, exams, and training options, visit

Training Training Resources for Developers Course Title: Course Title:  Course Number:  Availability:  Detailed Syllabus: Course Title: Course Title:  Course Number:  Availability:  Detailed Syllabus: To locate a training provider for this course, please access Microsoft Certified Technical Education Centers are Microsoft’s premier partners for training services

© 2004 Microsoft Corporation. All rights reserved. Microsoft, the.NET logo, Visual Basic, Visual C#, Visual J#, Visual Studio, the Visual Studio logo, Windows, the Windows logo, Active Directory, MSDN, and Microsoft Press are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.