Patterns & practices Enterprise Library Brian Button Consultant/Developer patterns & practices.

Slides:



Advertisements
Similar presentations
.NET Technology. Introduction Overview of.NET What.NET means for Developers, Users and Businesses Two.NET Research Projects:.NET Generics AsmL.
Advertisements

Best Practices For Application Development Steven Wilssens & Jelle Druyts Compuware.NET Consultants
Copyright Hub Software Engineering Ltd 2010All rights reserved Hub Workflow Product Overview.
Designing, Deploying and Managing Workflow in SharePoint Sites Steve Heaney Product Development Manager OBS
Yii – How Power Comes Introduction, OOP & Design Patterns Presented at: Nextbridge Multan Center Aug 25, 2011.
Software Frame Simulator (SFS) Technion CS Computer Communications Lab (236340) in cooperation with ECI telecom Uri Ferri & Ynon Cohen January 2007.
Enterprise Library 3.0: Overview. Context  Reusable components are important Address common development challenges consistently across applications 
Enterprise Smart Clients Architecture, Patterns, Design, Best Practices Keith Elder Manager, Sr. Software Engineer Quicken Loans Blog:
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.
Leveraging Enterprise Library in Your Applications Keith Elder Quicken Loans Manager, Sr. Software Engineer Microsoft MVP Keith a t keithelder dot net.
MIT iCampus iLabs Software Architecture Workshop June , 2006.
© 2005, Cornell University. Rapid Application Development using the Kuali Architecture (Struts, Spring and OJB) A Case Study Bryan Hutchinson
Tom Hollander Solution Architect Solutions Development Centre Microsoft Australia ARC307.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Hands-On Microsoft Windows Server 2003 Administration Chapter 5 Administering File Resources.
Course Instructor: Aisha Azeem
Connect with life Praveen Srvatsa Director | AsthraSoft Consulting Microsoft Regional Director, Bangalore Microsoft MVP, ASP.NET.
User Group 2015 Version 5 Features & Infrastructure Enhancements.
Building Offline/Cache Mode Web Apps Using Sync Framework Mike Clark Group Manager Cloud Data Services Team
Create with SharePoint 2010 Jen Dodd Sr. Solutions Consultant
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
Smart Client Applications for Developers Davin Mickelson, MCT, MCSD New Horizons of MN.
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
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
©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.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Trimble Connected Community
Doing Something Useful with Enterprise Library 3.0 Benjamin Day Level: Intermediate.
Enterprise Library for.NET Framework 2.0: Overview.
Enterprise Library 3.0: What’s New?. The Story So Far…  Application Blocks are reusable, extensible source-code components that provide guidance for.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
Framework Universal & Infinite Software Solution.
Building an Offline Smart Client using Domain-Driven Design Principles Tim McCarthy.
Enterprise Library Building an Application Block Ed Jezierski Solution Architect Scott Densmore Software Engineer Ron Jacobs Product Manager.
V0.1 BlackBerry HTML5/WebWorks Applications for the BlackBerry ® PlayBook™ Tablet BlackBerry Academic Program Module 5 - Writing HTML5/WebWorks API Extensions.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
DEP350 Windows ® Rights Management (Part 1): Introduction, Concepts, And Technology Marco DeMello Group Program Manager Windows Trusted Platforms & Infrastructure.
DEV333 Instrumenting Applications for Manageability with the Enterprise Instrumentation Framework David Keogh Program Manager Visual Studio Enterprise.
Patterns & practices for Application Architectures Developer Days, Warsaw, October, 2003 Wojtek Kozaczynski Architect, PAG
SAURABH PANT PROGRAM MANAGER MICROSOFT CORPORATION Client Application Services in Orcas Authentication, Roles & Web Settings.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
Enterprise Library Caching Application Block Brian Button Software Design Engineer Ron Jacobs Product Manager Scott Densmore Software Design Engineer.
ARCH-08 A Common Business Service Approach to Application Development Anthony Swindells Progress Fellow.
Presented by Vishy Grandhi.  Architecture (Week 1) ◦ Development Environments ◦ Model driven architecture ◦ Licensing and configuration  AOT (Week 2)
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Microsoft Visual Studio 2005 Tools for the Office System: Building Office Solutions Using Visual Studio 2005 Tools for Office Andrew Coates Developer Evangelist.
Enterprise Library Caching Application Block Peter Provost Software Design Engineer Ron Jacobs Product Manager Scott Densmore Software Design Engineer.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
Module 6: Administering Reporting Services. Overview Server Administration Performance and Reliability Monitoring Database Administration Security Administration.
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.
Excel Services Displays all or parts of interactive Excel worksheets in the browser –Excel “publish” feature with optional parameters defined in worksheet.
A Web Service Software Factory Introduction Don Smith Product Manager patterns & practices.
DotNetNuke v4 Overview Stan Schultes Stan Schultes Enterprise architect / application developer Enterprise architect / application developer Conference.
 Cloud Computing technology basics Platform Evolution Advantages  Microsoft Windows Azure technology basics Windows Azure – A Lap around the platform.
Enterprise Library 3.0 Memi Lavi Solution Architect Microsoft Consulting Services Guy Burstein Senior Consultant Advantech – Microsoft Division.
October 2014 HYBRIS ARCHITECTURE & TECHNOLOGY 01 OVERVIEW.
Enterprise Library Overview
CMPE419 Mobile Application Development
What Is Sharepoint? Mohsen Ashkboos
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
CMPE419 Mobile Application Development
Windows Forms in Visual Studio 2005: An in-depth look at key features
Mark Quirk Head of Technology Developer & Platform Group
ONAP Architecture Principle Review
Presentation transcript:

patterns & practices Enterprise Library Brian Button Consultant/Developer patterns & practices

Speaker Introduction  Principal Consultant at Agile Solutions Group St. Louis-based Train, mentor, develop, lead teams in agile software development  Consulted in Microsoft patterns & practices since October, 2003 Smart Client Offline Application Block Enterprise Library  My badge is orange, not blue These opinions are mine and mine alone I do not speak for MS or patterns & practices

Welcome to an Exclusive Club!

Short History

patterns & practices Reference Architectures ApplicationBlocks Guidance on architectural principles and cross-cutting issues such as security and performance Patterns Atomic solutions to recurring problems Sub-system-level guidance for common services System-level guidance for common customer scenarios Guides

Application Blocks defined  Reusable, extensible, modifiable Common mechanism Logging Caching Configuration management… Reusable fragment of app architecture User interface process management Smart disconnected client Service aggregation…

Application Blocks are great, but…  In general feedback has been extremely positive, but there is room for improvement: 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

Introducing “Enterprise Library”  Library of reusable software assets to address common enterprise development challenges  Part of the patterns & practices guidance library  Strong focus on consistency, extensibility, ease of use and integration  v1 produced in partnership with Avanade, leveraging experience from customer engagements and incorporating aspects of their ACA.NET application framework

Included Application Blocks  Caching  Data  Exception Handling  Logging  Security  Cryptography (symmetric only)  Common configuration and tooling

Let’s build an example app  Simple data access to Northwind  Add a bit of logging  And some exception handling

Security Crypto ConfigRun-TimeConfigTooling DataAccess Logging & Instrumentation Caching ExceptionHandling Enterprise Library v1 Architecture

Block Architecture Block Code PluggableProviders BlockConfigurationCode Unit Tests BlockConfiguration Design Code

What comes in the box?  There is no box  Released as guidance Source code format only “As-is”, like rest of p&p guidance  You get All source All unit tests Documentation Quick starts

Caching Application Block  Provides a flexible and extensible caching mechanism that can be used at all layers of an application  Supports backing stores that persist cache data into a database or isolated storage, so the data can survive app restarts  Can be used in ASP.NET apps, although the ASP.NET cache is preferred for simple scenarios  Supports similar scenarios to the original caching block, but with a revised architecture to make it more thread- and exception-safe

Data Access Application Block  Provides simplified access to the most common data access operations  Aim was to keep much of the simplicity of the original DAAB blocks, but to provide additional features requested by customers  Notable new features: Support for multiple database types through a factory (SQL Server, Oracle and DB2 out of the box). This provides consistent and portable code (caveats apply!) Connection strings are stored and managed in external configuration

Exception Handling Application Block  Facilitates consistent exception handling behavior at logical boundaries of an application  Allows the creation of “exception policies” which dictate which actions should be taken for specific exception types at the logical boundary Example: All security exceptions arising from the business layer need to be logged, and the messages sanitized before being propagated to the caller  Actions are extensible; we provide Logging, Wrapping one exception with another, and Replacing one exception with an other  Block has little in common with the existing EMAB which was primarily used to log exceptions

Logging & Instrumentation Application Block  Allows applications to log business and operations data to various destinations, which are externally configurable  Replaces the Enterprise Instrumentation Framework and the existing Logging Application Block  Configuration specifies which messages go where, and how they are formatted  Formatters and sinks are extensible. We provide sinks for Event Log, Database, Text File, MSMQ, , WMI and Windows Event Tracing

Security Application Block  Provides a simple API and pluggable implementations of core security primitive operations  Covers 5 security areas: Authentication, Authorization, Roles, Profile and Security Caching  Each module supports extensible plug-in providers. In general we supply plug-ins for common Microsoft infrastructure (AD, AzMan) as well as a light-weight database implementation  Developers can build their own plug-ins to interface with existing security solutions

Cryptography Application Block  Provides a simplified approach to implementing common cryptography scenarios  Includes modules for symmetric cryptography and hashing  Each module supports pluggable algorithms and key stores Supports all.NET crypto algorithms out of the box, or developers can implement their own  Algorithms and keys can be managed through the configuration tool

Configuration Application Block  Allows applications to easily read and write configuration data from configurable storage locations  Used by all blocks in Enterprise Library, can also be used by customer blocks, frameworks and applications  Includes two parts: Configuration Runtime, which applications use at runtime to access configuration data Configuration Designtime, which provides nodes that are used by the configuration tool to give a simple design-time experience  Configuration can be encrypted and individual elements can be masked in the tool

Lots of places to go learn more…  Webcasts Several overview webcasts plus one webcast per block  Hands on Labs Labs focused on learning to use each block  Podcasts Listen to the Enterprise Library developers talk about the culture, experiences, and history of EL V1.

Even more places…  Patterns & Practices Download and install Enterprise Library  Enterprise Library GotDotNet Workspace

Learn from the authors Enterprise Library team blogs: Brian Buttonhttp://oneagilecoder.agilestl.comhttp://oneagilecoder.agilestl.com Scott Densmorehttp://blogs.msdn.com/scottdensmorehttp://blogs.msdn.com/scottdensmore Peter Provosthttp://peterprovost.orghttp://peterprovost.org Jim Newkirkhttp://blogs.msdn.com/jamesnewkirkhttp://blogs.msdn.com/jamesnewkirk Tom Hollanderhttp://blogs.msdn.com/tomhollhttp://blogs.msdn.com/tomholl Hisham Bazhttp://blog.hishambaz.comhttp://blog.hishambaz.com Tim Shakarian

What’s coming?  Enterprise Library June 2005 Bug fixes, a few new features, changes to compile on Whidbey June 30, 2005 or so  Enterprise Library for.NET 2.0 Same feature set implemented on Whidbey A little while after Whidbey ships  Enterprise Library V?.? Solving the next batch of problems A year or more after Whidbey ships