Date post: | 28-Dec-2015 |
Category: |
Documents |
Upload: | joel-thomas-carson |
View: | 221 times |
Download: | 0 times |
Enterprise LibraryEnterprise LibraryEnterprise Library AppliedEnterprise Library Applied
Scott DensmoreScott DensmoreSoftware Design EngineerSoftware Design Engineer
Ron JacobsRon JacobsProduct ManagerProduct ManagerMicrosoft CorporationMicrosoft Corporation
Colin ColeColin Cole"Large Bank""Large Bank"
MicrosoftMicrosoft®® Consulting Services Consulting Services
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
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
.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
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
Lenny FensterLenny FensterACE-INA InsuranceACE-INA Insurance
Lead ArchitectLead ArchitectMicrosoftMicrosoft
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
The Problem?The Problem?
SpeedSpeed
QualityQualityRiskRisk
Sustained Sustained AdvantageAdvantage
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
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
Wrapping Around the blocks: The Wrapping Around the blocks: The Data Mapping Application BlockData Mapping Application Block
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
ACE TodayACE Today
BUTL
Workers CompensationRecreational MarineAccident and Health
Cat ModelingRisk Management
SQL
BUTL
Brent JacksonBrent Jackson
Enterprise ArchitectEnterprise Architect
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
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
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
Tim LandgraveTim Landgrave
ArchitectArchitectCroweCrowe
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
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
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
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
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
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
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
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
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
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
Announcing: Enterprise Library Announcing: Enterprise Library 1.01.0http://www.microsoft.com/http://www.microsoft.com/
practicespractices
Download it Download it
Today!Today!
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!
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.
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.
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