Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

3 Copyright © 2005, Oracle. All rights reserved. Designing J2EE Applications.
Designing, Deploying and Managing Workflow in SharePoint Sites Steve Heaney Product Development Manager OBS
COM vs. CORBA.
Software Frame Simulator (SFS) Technion CS Computer Communications Lab (236340) in cooperation with ECI telecom Uri Ferri & Ynon Cohen January 2007.
Web Applications Development Using Coldbox Platform Eddie Johnston.
TAC Vista Security. Target  TAC Vista & Security Integration  Key customer groups –Existing TAC Vista users Provide features and hardware for security.
Enterprise development reference architecture (EDRA) -Deepti Seelamsetti.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Technical Architectures
Leveraging Enterprise Library in Your Applications Keith Elder Quicken Loans Manager, Sr. Software Engineer Microsoft MVP Keith a t keithelder dot net.
Interpret Application Specifications
Patterns & practices Enterprise Library Brian Button Consultant/Developer patterns & practices.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
ASP.NET Programming with C# and SQL Server First Edition Chapter 8 Manipulating SQL Server Databases with ASP.NET.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 7 Configuring File Services in Windows Server 2008.
Project Implementation for COSC 5050 Distributed Database Applications Lab1.
Winter Consolidated Server Deployment Guide for Hosted Messaging and Collaboration version 3.5 Philippe Maurent Principal Consultant Microsoft.
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
INTRODUCTION TO WEB DATABASE PROGRAMMING
Creating Business Workflow Using SharePoint Designer 2007 Presented by Tarek Ghazali IT Technical Specialist Microsoft SQL Server MVP Microsoft SQL Server.
“Behind the Scenes” of the Enterprise Development Reference Architecture (EDRA) Jonathan Wanagel Microsoft patterns & practices
©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Enterprise Library v1.0 A Technical.
1 © Talend 2014 Service Registry / WS-Policy Registry Training Slides 2014 Jan Bernhardt Zsolt Beothy-Elo
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
Christopher Jeffers August 2012
WorkPlace Pro Utilities.
ASP.NET The.NET Framework. The.NET Framework is Microsoft’s distributed run-time environment for creating, deploying, and using applications over the.
Enterprise Library for.NET Framework 2.0: Overview.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
COLD FUSION Deepak Sethi. What is it…. Cold fusion is a complete web application server mainly used for developing e-business applications. It allows.
Enterprise Library Building an Application Block Ed Jezierski Solution Architect Scott Densmore Software Engineer Ron Jacobs Product Manager.
Chapter 1 Introduction to SAS ® Enterprise Guide ®
I Copyright © 2004, Oracle. All rights reserved. Introduction Copyright © 2004, Oracle. All rights reserved.
IT 456 Seminar 5 Dr Jeffrey A Robinson. Overview of Course Week 1 – Introduction Week 2 – Installation of SQL and management Tools Week 3 - Creating and.
(Business) Process Centric Exchanges
Oracle Data Integrator Procedures, Advanced Workflows.
Database Design and Management CPTG /23/2015Chapter 12 of 38 Functions of a Database Store data Store data School: student records, class schedules,
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Office Business Applications Workshop Defining Business Process and Workflows.
Web Services Error Handling and Debugging. Agenda Simple SOAP faults Advanced SOAP faults SOAP headers and faults Error handling From a Service Perspective.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
MVC WITH CODEIGNITER Presented By Bhanu Priya.
Comprehensive Project Management Solutions with the.NET Server family.
Collaborative Planning Training. Agenda  Collaboration Overview  Setting up Collaborative Planning  User Setups  Collaborative Planning and Forecasting.
The business logic engine for Microsoft IIS Speaker T.M. Arnett.
Chapter 8 Object Design Reuse and Patterns. More Patterns Abstract Factory: Provide manufacturer independence Builder: Hide a complex creation process.
Lecture 21: Component-Based Software Engineering
Enterprise Library Caching Application Block Peter Provost Software Design Engineer Ron Jacobs Product Manager Scott Densmore Software Design Engineer.
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Overview of the Spring Framework Introducing.
Text TCS INTERNAL Oracle PL/SQL – Introduction. TCS INTERNAL PL SQL Introduction PLSQL means Procedural Language extension of SQL. PLSQL is a database.
Enterprise Library Overview Tom Hollander Product Manager Microsoft Edward Jezierski ArchitectMicrosoft Kyle Huntley Architect Avanade Ron Jacobs Product.
Packaging Design and Architecture Guidance for Visual Studio Tom Hollander Wojtek Kozaczynski Harry Pierson Microsoft.
Introduction to Microsoft.NET Enterprise Library (Patterns and Practices) Zaw Moe Tun Myanmar Information Technology.
Troubleshooting Workflow 8 Raymond Cruz, Software Support Engineer.
Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.
1 Copyright © 2008, Oracle. All rights reserved. Repository Basics.
Enterprise Library 3.0 Memi Lavi Solution Architect Microsoft Consulting Services Guy Burstein Senior Consultant Advantech – Microsoft Division.
ASP.NET Programming with C# and SQL Server First Edition
Self Healing and Dynamic Construction Framework:
Chris Menegay Sr. Consultant TECHSYS Business Solutions
Enterprise Library Overview
Introduction of Week 3 Assignment Discussion
Populating a Data Warehouse
Partnership.
Component-based Applications
Presentation transcript:

Introduction to the Enterprise Library

Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors to different sources Building framework/infrastructure components to generally simplify app development Searching on the internet thinking  Most applications need something like this  People must have written hundreds of things like this  I wish I could find a solution for this that I could reuse …wishing Microsoft had done some of this for you?

Agenda In this session I will  Introduce Enterprise Library  Examine each of the “blocks” in Enterprise Library So that you will  Understand what Enterprise Library offers  Understand what problems each block solves  Know when to use Enterprise Library

Application Blocks “Helpers” Classes which “help” you to do something but don’t impose an architecture Examples  Data Access  Exception Management  Configuration “Mini Frameworks” Classes which help implement a design for a specific area of an application Examples  User Interface Process  Async Invocation Block  Offline Application Block

Application Block Feedback Make blocks consistent Make blocks work well together Minimize dependencies  On other blocks  On infrastructure Make it easier to configure blocks Make evaluation and understanding of blocks easier Make using blocks easier

Enterprise Library Philosophy Consistency  Application blocks should feature consistent design patterns and implementation approaches. Extensibility  Application blocks must include defined extensibility points that allow developers to customize the behavior of the application blocks by adding in their own code. Ease of Use  Application blocks must be easy to use and should Leverage a graphical configuration tool Provide a simple installation procedure Include clear complete documentation and samples Integration  Application blocks should be designed to work well together and tested to make sure that they do. But it should also be possible to use the application blocks individually

Enterprise Library Enterprise Library is… A library of application blocks which solve common challenges A set of helper classes which work in any architectural style Architectural guidance embodied in code which ships with full source allowing you to modify and extend Available as a free download Enterprise Library is not… A part of the.NET Framework An application framework that imposes an architectural style A Microsoft product with support, compatibility and localization For sale

Enterprise Library 1.0

Data Access Application Block (DAAB) Data Access Application Block provides access to the most often used features of ADO.NET in simple-to-use classes, boosting developer productivity.

Data Access Block Provides the logic to perform the most common data access tasks. Developers only need to do the following: 1. Create the database object. 2. Supply the parameters for the command, if they are needed. 3. Call the appropriate method. These methods are optimized for performance. They are also portable. The DAAB works transparently with SQL Server, DB2, and Oracle databases.

Using a DataReader to Retrieve Multiple Rows Database db = DatabaseFactory.CreateDatabase(); using (IDataReader dataReader = db.ExecuteReader(CommandType.Text, "Select Name, Address, City From Customers" )) { customerGrid.DataSource = dataReader; customerGrid.DataBind(); }

Design Goals Encapsulate the logic used to perform the most common data access tasks. Relieve developers of the need to write duplicate code for common data access tasks. Minimize the need for custom code. Incorporate best practices for data access, as described in the.NET Data Access Architecture Guide..NET Data Access Architecture Guide Perform within 5 percent of ADO.NET's efficiency. Have a small number of objects and classes. Ensure that all the application block's functions work identically for different types of databases. Ensure that applications written for one type of database are, in terms of data access, the same as applications written for another type of database.

Limited set of interfaces ExecuteDataSet LoadDataSet ExecuteReader ExecuteScalar ExecuteNonQuery UpdateDataSet

Logging & Instrumentation Block Provides  A way to log information about application execution  A way to abstract generation of log content from destination  An easy configuration interface to change what is logged where at runtime

Supported sinks The event log messages A database A message queue A file WMI Custom – Write your own

Client-Distributor Architecture Composed of two components Client creates messages that are written out by the distributor. Typically both client and distributor are on the same machine. Allows for separating these two components to run on separate machines.

Distribution Strategies Client sends messages to the distributor using a distribution strategy. Two distribution strategies provided in the Logging block  In Process  MSMQ. The In Process strategy is the default. With the MSMQ strategy, the client will create a log message and send it to MSMQ. Another process waits for the message to arrive then writes it out to the appropriate sinks.

Exception Handling Block Provides A way to standardize exception handling throughout your application A simple way to add boilerplate exception code A way to log exception information An easy way to adjust what is logged A way to wrap and replace exceptions before they are propagated up the call stack

Documented Usage

Exception Handlers Wrap handler. This exception handler wraps one exception around another. Replace handler. This exception handler replaces one exception with another. Logging handler. This exception handler formats exception information such as the message and the stack trace. Then the logging handler gives this information to the Enterprise Library Logging and Instrumentation Application Block so that it can be published.

When to use the Exception Handling Block

Configuration Block Provides: A way to read AND write complex configuration data A way to be notified of configuration data changes A way to secure sensitive configuration information An interface for administrators to change and validate configuration

Typical Examples Reading Writing