enterprise library enterprise library applied scott densmore software design engineer ron jacobs...

35
Enterprise Library Enterprise Library Enterprise Library Enterprise Library Applied Applied Scott Densmore Scott Densmore Software Design Engineer Software Design Engineer Ron Jacobs Ron Jacobs Product Manager Product Manager Microsoft Corporation Microsoft Corporation

Upload: joel-thomas-carson

Post on 28-Dec-2015

228 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

Enterprise LibraryEnterprise LibraryEnterprise Library AppliedEnterprise Library Applied

Scott DensmoreScott DensmoreSoftware Design EngineerSoftware Design Engineer

Ron JacobsRon JacobsProduct ManagerProduct ManagerMicrosoft CorporationMicrosoft Corporation

Page 2: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

Colin ColeColin Cole"Large Bank""Large Bank"

MicrosoftMicrosoft®® Consulting Services Consulting Services

Page 3: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

Large Bank Commercial Large Bank Commercial Loan SolutionLoan Solution

Commercial Loan Application

Host

Commercial LoanDatabase

.NET Web Services Architecture.NET Web Services Architecture

UnderwritingDocument GenerationBoardingServicing

Exposure

ExposureExposure/Credit/Credit

Web ServicesWeb Services

Page 4: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

Large Bank Commercial Loan Large Bank Commercial Loan SolutionSolution

Life 70 TranscendPW Datastore (SQL 2000)

BizTalk Server BizTalk Server Integration/Integration/Workflow TierWorkflow Tier

.NET Web .NET Web ServicesServices

User User WorkstationsWorkstations

LoanService

OtherServices

TranscendSQL Server™ Commercial Loan Database

Security Service XMLXML

BusinessBusinessMessagesMessages

Mainframe

HTTP/SOAP

BizTalkBizTalk®® Server Rules Engine Server Rules Engine

MQSeriesIntegration

Task QueueService

HTTP/SOAP

MQSeries

Smart Client Smart Client Smart Client

Page 5: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

.NET

.NET Web or SmartClient

Service Agent Components

XML Web Services over HTTP

IBM

RDBMS

Architecture Services

Data Entity Model

Architecture Services

Data Entity Model

Data

Possible usage of Biztalk Server or

another EAI tool here to

manage integration

.NET Client Components .NET Application Server Components

Firewall

Components exposed to user or remote client component.

Includes Client and Service Interface components in the .NET architecture.

Components accessed locally to connect to a remote component or data source.

Includes Service Agent and Data Access components in the .NET Architecture.

Data Entity Model

XML representation of application data structures passed between local and remote components.

Architecture Services components

Shared components used by client and server. Examples: exceptions, data access, common codes

Component category color keys

ADO.NET ProviderBusiness

Logic Components

Data Access Components

Service Interface (ASMX)

Business Façade

Components

Data Entity Model Object XML

Data Entity Model Object XML

Components implementing business logic.

Includes Business Façade and Business Layer components in the .NET architecture.

General Application Architecture Across Separate Physical Tiers

Page 6: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

How Is the Code How Is the Code OrganizedOrganized

Message-oriented Technical Architecture and Message-oriented Technical Architecture and Application Architecture Application Architecture Technical architectureTechnical architecture

Contains shared services logicContains shared services logicSecurity.  WS-Security (WSE) integration, Role-based Security.  WS-Security (WSE) integration, Role-based authorizationauthorization

Implements Implements Enterprise LibraryEnterprise Library defined security interfaces defined security interfaces against entitlements/authorization databaseagainst entitlements/authorization database

Enterprise LibraryEnterprise Library for Caching, Data Access, Exception for Caching, Data Access, Exception Handling, InstrumentationHandling, InstrumentationCodes management Codes management SerializationSerialization

Application architectureApplication architecture Houses business domain logicHouses business domain logicContains all commercial loan business logic, using the Contains all commercial loan business logic, using the technical architecture layer and technical architecture layer and Enterprise LibraryEnterprise Library for all for all shared logicshared logic

Page 7: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

Lenny FensterLenny FensterACE-INA InsuranceACE-INA Insurance

Lead ArchitectLead ArchitectMicrosoftMicrosoft

Page 8: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

ACE in Spring 2003ACE in Spring 2003

BUTL

SQL

Cat Modeling

Risk Management

Recreational Marine

Accident and Health

Workers Compensation

BUTL

BUTL

SQL

SQL

SQL

SQLBUTL

BUTL

Page 9: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

The Problem?The Problem?

SpeedSpeed

QualityQualityRiskRisk

Sustained Sustained AdvantageAdvantage

Page 10: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

The Solution: Centralized Assets The Solution: Centralized Assets Based on the Microsoft Application Based on the Microsoft Application BlocksBlocks

Reusable, extensible, modifiableReusable, extensible, modifiableCommon mechanism Common mechanism

Data AccessData AccessConfiguration managementConfiguration managementCachingCachingException HandlingException Handling

Worked well, for the most part, but…Worked well, for the most part, but…Difficult to configure some blocks Difficult to configure some blocks Difficult to evaluate and understand some blocksDifficult to evaluate and understand some blocksSome blocks did not work well together Some blocks did not work well together Too many dependenciesToo many dependencies

It was definitely a step forward, but was more It was definitely a step forward, but was more challenging than anticipatedchallenging than anticipated

Page 11: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

In January 2005, ACE Migrated from the In January 2005, ACE Migrated from the Previous App Blocks to “Enterprise Previous App Blocks to “Enterprise Library” for the:Library” for the:

Configuration Configuration DocumentationDocumentationTests Tests ToolingToolingSamplesSamplesExtensibilityExtensibility

Pluggable providerPluggable providerGuidelines how to create new blocks Guidelines how to create new blocks

Design patterns and principlesDesign patterns and principlesHooking into config toolHooking into config toolDocumentation guidelines and templatesDocumentation guidelines and templatesTesting requirements Testing requirements

Page 12: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

Wrapping Around the blocks: The Wrapping Around the blocks: The Data Mapping Application BlockData Mapping Application Block

Page 13: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

SecuritySecuritySecuritySecurity

CryptoCryptoCryptoCrypto

ConfigurationConfigurationConfigurationConfiguration

Data Data AccessAccessData Data

AccessAccess LoggingLoggingLoggingLogging

CachingCachingCachingCaching ExceptionsExceptionsExceptionsExceptions

ACE and Enterprise ACE and Enterprise Library v1Library v1

LegendLegend

DependencyDependency

Plug-inPlug-in

ConfigConfigToolTool

ConfigConfigToolTool

Page 14: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

ACE TodayACE Today

BUTL

Workers CompensationRecreational MarineAccident and Health

Cat ModelingRisk Management

SQL

BUTL

Page 15: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

Brent JacksonBrent Jackson

Enterprise ArchitectEnterprise Architect

Page 16: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

Architecture & Strategy Architecture & Strategy GoalsGoals

AgilityAgilityMore responsive to More responsive to business needsbusiness needsFaster delivery of functionFaster delivery of function

AlignmentAlignmentAlign IT with business Align IT with business needs and strategyneeds and strategyBetter alignment and Better alignment and cooperation across IT cooperation across IT organizationsorganizationsStandardized technology Standardized technology and processand process

ValueValueReduce costsReduce costsImprove productivityImprove productivitySharing and ReuseSharing and ReuseEnhance business Enhance business capabilitiescapabilities

A&SA&S

EAEA(SOA/EDA)(SOA/EDA)

Enterprise Enterprise Services & Services &

ComponentsComponentsStandards Standards ManagementManagement

Strategic Strategic Vendor Vendor

ManagementManagement

Technology Technology Life CycleLife Cycle

Solution Solution Alignment Alignment & Synergy& Synergy

Education & Education & CommunicationCommunication

ConsultingConsulting

Page 17: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

FY05 ProjectsFY05 Projects

Enterprise Event BrokerEnterprise Event BrokerWeb service implementing publish and subscribe Web service implementing publish and subscribe mechanism for enterprise eventsmechanism for enterprise events

Entirely data driven (not separate integration per Entirely data driven (not separate integration per subscriber)subscriber)

High volume throughput, fault tolerant, able to High volume throughput, fault tolerant, able to federatefederate

Implements EIF and DABImplements EIF and DAB

Symphony / Integrated Dell DesktopSymphony / Integrated Dell DesktopSmart client for sales force, aggregating WinForm Smart client for sales force, aggregating WinForm and Web contentand Web content

Common security, context and eventing across Common security, context and eventing across contentcontent

Implements modified Updater, Caching, EIF, Implements modified Updater, Caching, EIF, Exception Handling, AzManException Handling, AzMan

Page 18: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

Photon .NET 3.0Photon .NET 3.0

Photon.NET 3.0Photon.NET 3.0Web services gateway infrastructure handling >2M Web services gateway infrastructure handling >2M transactions / daytransactions / day

Refactored to implement EntLib (Logging, Configuration, Refactored to implement EntLib (Logging, Configuration, Security, Data Access) in Photon core and support UISecurity, Data Access) in Photon core and support UI

““Extremely easy to code with, easy to configure, Extremely easy to code with, easy to configure, well documented, good samples. … Also, source well documented, good samples. … Also, source code is well written and even comes with unit code is well written and even comes with unit tests. ”tests. ”

Rob Smith, Lead Photon DeveloperRob Smith, Lead Photon Developer

Allowed replacement of significant portions of home-grown Allowed replacement of significant portions of home-grown C++ code. C++ code.

Made small modifications to Data Access block to address Made small modifications to Data Access block to address ability to call same database instance on different serversability to call same database instance on different servers

Support tool copies metadata from master db server to local Support tool copies metadata from master db server to local SQL Server DE for platform resilienceSQL Server DE for platform resilience

Small modification to Security block to enhance performance Small modification to Security block to enhance performance of AzMan caching of XML storeof AzMan caching of XML store

Page 19: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

Tim LandgraveTim Landgrave

ArchitectArchitectCroweCrowe

Page 20: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

Accelerating Accelerating DevelopmentDevelopment

Case Study: New Smart Client application with Case Study: New Smart Client application with large Midwestern manufacturerlarge Midwestern manufacturerDisconnected application with local data store Disconnected application with local data store synchronizing with corporate back endsynchronizing with corporate back end

Application Updater block for application and database Application Updater block for application and database updatesupdates

Enterprise Library for Data Access and ConfigurationEnterprise Library for Data Access and Configuration

Use of these assets had two major implicationsUse of these assets had two major implicationsReduced development time by approximately three monthsReduced development time by approximately three months

Allowed us to develop and deploy a more robust and Allowed us to develop and deploy a more robust and supportable architecture than we originally envisionedsupportable architecture than we originally envisioned

Page 21: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

Increasing QualityIncreasing Quality

Case Study: Government agency retrofits Web Case Study: Government agency retrofits Web application to increase reliabilityapplication to increase reliability

Statewide agency was creating a Web application Statewide agency was creating a Web application using an Oracleusing an Oracle®® back end back end

Developers were novice database developers with little Developers were novice database developers with little Oracle experienceOracle experience

Application performed poorly and had significant resource Application performed poorly and had significant resource issuesissues

Replace existing database code with Enterprise Replace existing database code with Enterprise LibraryLibrary

Oracle database was accessed in a consistent manner by the Oracle database was accessed in a consistent manner by the entire development teamentire development team

Proven, tested, reliable Enterprise Library code increased Proven, tested, reliable Enterprise Library code increased performance and reliability of the overall applicationperformance and reliability of the overall application

Page 22: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

ReadifyReadify

Based in AustraliaBased in Australia

Technical Readiness specialistsTechnical Readiness specialists

An elite group of consultants An elite group of consultants More MVPs than any other More MVPs than any other MicrosoftMicrosoft®® partner in Australasia partner in Australasia

Training, Mentoring and Training, Mentoring and Technical Consulting excellence Technical Consulting excellence around the Microsoftaround the Microsoft®® .NET .NET development platform and development platform and associated Enterprise associated Enterprise technologiestechnologies

Helping organizations evolve with emerging Helping organizations evolve with emerging Microsoft technologiesMicrosoft technologies

Page 23: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

We developWe developINDUSTRIAL INDUSTRIAL

STRENGTH .NETSTRENGTH .NET

We developWe developINDUSTRIAL INDUSTRIAL

STRENGTH .NETSTRENGTH .NET

20012001 20022002 20032003 20042004 20052005

H2H2 H1H1 H2H2 H1H1 H2H2 H1H1 H2H2 H1H1 H2H2

Uses Version 1 MicrosoftUses Version 1 Microsoft®® Application Blocks Application Blocks

ScalabilityScalability

AvailabilityAvailability

SecuritySecurity

ManageabilityManageability

TestabilityTestability

MaintainabilityMaintainability

Page 24: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

20012001 20022002 20032003 20042004 20052005

H2H2 H1H1 H2H2 H1H1 H2H2 H1H1 H2H2 H1H1 H2H2

Creating an Creating an

eLearningeLearning version with version with

MicrosoftMicrosoft

Creating an Creating an

eLearningeLearning version with version with

MicrosoftMicrosoft

MicrosoftMicrosoft®® Enterprise Library, Enterprise Library, MicrosoftMicrosoft®® BizTalk 2004 and WSE 2 BizTalk 2004 and WSE 2

Solve the “ities”Solve the “ities”using best-practices using best-practices from Readify and from Readify and MicrosoftMicrosoft

Page 25: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

Mastering Industrial Mastering Industrial Strength .NETStrength .NET

Implementing best practisesImplementing best practisesHands-On LabsHands-On Labs

Architecture and Design GuidanceArchitecture and Design Guidance

Enterprise Library and OthersEnterprise Library and OthersWhen, Why and HowWhen, Why and How

http://www.readify.net/Default.aspx?tabid=212http://www.readify.net/Default.aspx?tabid=212

Page 26: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

Enterprise Library in Enterprise Library in AustraliaAustralia

Large Financial InstitutionLarge Financial InstitutionProvider Model for Unit TestingProvider Model for Unit Testing

EDRA (application blocks)EDRA (application blocks)plan to move to Enterprise Libraryplan to move to Enterprise Library

Australian ISVAustralian ISV.NET 2.0 Application.NET 2.0 Application

Multiple deployment modelsMultiple deployment models

Enterprise Library and WSE2Enterprise Library and WSE2

Page 27: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

Session SummarySession Summary

Colin Cole – “Large Bank”Colin Cole – “Large Bank”Microsoft Consulting ServicesMicrosoft Consulting Services

Lenny Fenster – ACE-INA InsuranceLenny Fenster – ACE-INA InsuranceLead Architect, MicrosoftLead Architect, Microsoft

Brent Jackson – DellBrent Jackson – DellEnterprise ArchitectEnterprise Architect

Tim Landgrave – Crowe and ReadifyTim Landgrave – Crowe and ReadifyArchitect, CroweArchitect, Crowe

Page 28: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

Additional ResourcesAdditional Resources

.NET Data Access Architecture Guide .NET Data Access Architecture Guide

Improving Web Application SecurityImproving Web Application Security

Improving .NET Application Performance and ScalabiliImproving .NET Application Performance and Scalabilityty

Application Architecture for .NETApplication Architecture for .NET

PatternShare.orgPatternShare.org

Enterprise Library CommunityEnterprise Library Communityhttp://go.microsoft.com/fwlink/?linkid=39209&clcid=0http://go.microsoft.com/fwlink/?linkid=39209&clcid=0x09x09

www.ronjacobs.comwww.ronjacobs.comSlidesSlides

Tech TipsTech Tips

PodcastsPodcasts

Page 29: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

Patterns and Practices Live!Patterns and Practices Live!

Slides, hands-on labs, on-demand webcastsSlides, hands-on labs, on-demand webcasts

Upcoming live webcastsUpcoming live webcasts4/12 Global Bank Baseline Architecture4/12 Global Bank Baseline Architecture

4/14 Updater Application Block v24/14 Updater Application Block v2

4/21 Packaging design guidance for VS 20054/21 Packaging design guidance for VS 2005

4/28 Test Driven Deployment4/28 Test Driven Deployment

5/28 Ask p&p – send questions to 5/28 Ask p&p – send questions to [email protected]@microsoft.com

http://www.pnplive.comhttp://www.pnplive.com

Page 30: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

Announcing: Enterprise Library Announcing: Enterprise Library 1.01.0http://www.microsoft.com/http://www.microsoft.com/

practicespractices

Download it Download it

Today!Today!

Page 31: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

MSDN EventsMSDN Events

WhoWho• Your Local Microsoft Developer Community ChampionYour Local Microsoft Developer Community Champion

WhatWhat• Web Services UnleashedWeb Services Unleashed• Universal Data Access with SQL Server 2005Universal Data Access with SQL Server 2005™™

• Publishing Applications Using ClickOncePublishing Applications Using ClickOnce

WhyWhy• Gain valuable developer knowledge, network with peers, and get Gain valuable developer knowledge, network with peers, and get

VS 2005 Beta 2 and our content-rich special event DVDVS 2005 Beta 2 and our content-rich special event DVD

WhenWhen• April through June, on Tuesdays and Thursdays from 1-5PM local April through June, on Tuesdays and Thursdays from 1-5PM local

timetime

WhereWhere• Cities across the United StatesCities across the United States

HowHow• Visit MSDN Events at http://www.msdnevents.com to find out Visit MSDN Events at http://www.msdnevents.com to find out

more!more!

Page 32: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

MSDN Webcast Resources

Visit our blog Visit our blog http://blogs.msdn.com/msdnwebcasts for an http://blogs.msdn.com/msdnwebcasts for an rss feed of upcoming MSDN Webcastsrss feed of upcoming MSDN Webcasts

Submit text questions during the live Submit text questions during the live webcast using the “Ask a Question” buttonwebcast using the “Ask a Question” button

For recordings of past MSDN Webcasts: For recordings of past MSDN Webcasts: www.microsoft.com/usa/webcasts/ondemandwww.microsoft.com/usa/webcasts/ondemand

Got webcast content ideas? Please go to: Got webcast content ideas? Please go to: http://go.microsoft.com/fwlink/?http://go.microsoft.com/fwlink/?

LinkId=41781LinkId=41781 More webcasts at More webcasts at http://msdn.microsoft.com/webcasts http://msdn.microsoft.com/webcasts

Don’t forget to fill out the survey.Don’t forget to fill out the survey.

Page 33: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

IAB Poll

How would you rate the streaming audio quality from today’s presentation?

ExcellentGoodFairPoorUnacceptableNeeded to listen to the audio via telephony

Live Meeting Poll

Changes directly made to this slide will not be displayed in Live Meeting. Edit this slide by selecting Properties in the Live Meeting Presentation menu.

Page 34: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation

Free Trial Offer for Live MeetingFree Trial Offer for Live Meeting

This webcast is being presented using This webcast is being presented using MicrosoftMicrosoft

Office Live Meeting technology.Office Live Meeting technology.

14 days of free service. Unlimited online 14 days of free service. Unlimited online meetings with up to 10 participants. meetings with up to 10 participants.

Complimentary 24/7 customer support Complimentary 24/7 customer support for you and all meeting participants. for you and all meeting participants.

Get your own free 14-day trial by Get your own free 14-day trial by visiting: visiting: http://www.microsoft.com/presentlive http://www.microsoft.com/presentlive

Page 35: Enterprise Library Enterprise Library Applied Scott Densmore Software Design Engineer Ron Jacobs Product Manager Microsoft Corporation