SlideShare a Scribd company logo
Enterprise Library for .NET Framework 2.0 R  a  j  u P e r u m a n d l a 9  8  6  6  0  0  1  2  3 0
Index ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Enterprise Library basics ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Enterprise Library Ecosystem Partner blocks Customer blocks Community blocks p&p blocks Block Specification p&p  Enterprise Library Partner X library Customer Y library Customer Z library
Application Blocks ,[object Object],[object Object],[object Object],[object Object]
Enterprise Library for .NET Framework 2.0 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Key changes from EntLib 1.x ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Enterprise Library for .NET Framework 2.0 Caching Security Data  Access Logging Exception Handling Cryptography Core Block Dependency Optional Provider Dependency Plug-in Config Helpers  & Design Instrumen- tation Object Builder
Exception Handling Application Block Caching Security Data  Access Logging Exception Handling Cryptography Core Block Dependency Optional Provider Dependency Plug-in Config Helpers  & Design Instrumen- tation Object Builder
Exception Handling Needs ,[object Object],[object Object],[object Object],[object Object],[object Object]
Exception Handling Application Block ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exception Handling - Example ,[object Object],[object Object],[object Object],[object Object],[object Object]
Logging Application Block Caching Security Data  Access Logging Exception Handling Cryptography Core Block Dependency Optional Provider Dependency Plug-in Config Helpers  & Design Instrumen- tation Object Builder
Logging Needs ,[object Object],[object Object],[object Object],[object Object],[object Object]
Logging Application Block ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
New In This Release ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Logging - Examples ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],// Or if you prefer one line... Customer cust = GetCustomer(123); // Log the customer – will call cust.ToString() for the log entry Logger.Write(cust, category, priority);
Data Access Application Block Caching Security Data  Access Logging Exception Handling Cryptography Core Block Dependency Optional Provider Dependency Plug-in Config Helpers  & Design Instrumen- tation Object Builder
Data Access Needs ,[object Object],[object Object],[object Object],[object Object]
Data Access Application Block ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Data Access - Examples Public Function GetProductsInCategory(ByRef Category As Integer) As DataSet ' Create the Database object, using the database instance with the ' specified logical name. This is mapped to a connection string in  ' the configuration file Dim db As Database = DatabaseFactory.CreateDatabase("Sales") ' Invoke the stored procedure with one line of code! return db.ExecuteDataSet("GetProductsByCategory", Category) ' Note: connection was closed by ExecuteDataSet method call  End Function public Dataset GetProductsInCategory(string connectionString, int category)  { // Create the Database object, using the specified connection string SqlDatabase db = new SqlDatabase(connectionString);  // Invoke the stored procedure with one line of code! return db.ExecuteDataSet("GetProductsByCategory", category); // Note: connection was closed by ExecuteDataSet method call  }
New In This Release ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Caching Application Block Caching Security Data  Access Logging Exception Handling Cryptography Core Block Dependency Optional Provider Dependency Plug-in Config Helpers  & Design Instrumen- tation Object Builder
Caching Scenarios ,[object Object],[object Object],[object Object]
Caching Application Block ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Cryptography Application Block Caching Security Data  Access Logging Exception Handling Cryptography Core Block Dependency Optional Provider Dependency Plug-in Config Helpers  & Design Instrumen- tation Object Builder
Cryptography Scenarios ,[object Object],[object Object],[object Object]
Cryptography Application Block ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Enterprise Library for .NET Framework 2.0 Caching Security Data  Access Logging Exception Handling Cryptography Core Block Dependency Optional Provider Dependency Plug-in Config Helpers  & Design Instrumen- tation Object Builder
Security Scenarios ,[object Object],[object Object],[object Object],[object Object]
Security Application Block + ASP.NET ,[object Object],[object Object],[object Object],[object Object],ASP.NET Client Code Security Application Block Membership Profile Membership Provider Profile Provider Authorization Factory Security Cache Factory IAuthorization Provider ISecurity Cache Provider Authorization Rule Provider Caching Store Provider AzMan Authorization Provider ActiveDirectory Membership Provider Sql Membership Provider Sql Profile Provider Caching Application Block
Core architecture Caching Security Data  Access Logging Exception Handling Cryptography Core Block Dependency Optional Provider Dependency Plug-in Config Helpers  & Design Instrumen- tation Object Builder
Configuration Runtime ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Configuration Sources Application Blocks or Custom Code IConfigurationSource SystemConfiguration Source FileConfiguration Source SqlConfiguration Source app.config / web.config foo.config app.config / web.config Default ConfigurationSource = … System.Configuration File Watcher File Watcher
Configuration Sources ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Change Notifications ,[object Object],[object Object],[object Object],[object Object],[object Object]
Configuration Source Examples ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],< enterpriseLibrary.ConfigurationSource   selectedSource =&quot;fileSource&quot;>   < sources >   < add   name =&quot;fileSource&quot;  type =&quot;Microsoft.Practices.EnterpriseLibrary.Common.Configuration.FileConfigurationSource, Microsoft.Practices.EnterpriseLibrary.Common&quot;  filePath =&quot;test.config&quot;/> < add   name =&quot;systemSource&quot;  type =&quot;Microsoft.Practices.EnterpriseLibrary.Common.Configuration.SystemConfigurationSource, Microsoft.Practices.EnterpriseLibrary.Common&quot;/> </ sources >   </ enterpriseLibrary.ConfigurationSource >
Configuration Design and Tooling ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Configuration Design-Time ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Instrumentation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Enabling Instrumentation ,[object Object],[object Object],[object Object],[object Object],[object Object]
Instrumentation Architecture ,[object Object],Instrumentation Provider Class(es) Instrumentation Listener Class(es) Instrumentation Configuration Settings WMI Perf Counters Event Log Event ObjectBuilder Wires up Application or Block calls
Instrumentation Attributes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Instrumentation Example public class  Database :  IInstrumentationEventProvider  {   DbConnection OpenConnection() { // Do stuff instrumentationProvider.FireConnectionOpenedEvent(); } public object GetInstrumentationEventProvider() { return instrumentationProvider;  } }   [InstrumentationListener(   typeof(DataInstrumentationListener), typeof(DataInstrumentationListenerBinder))] public class  DataInstrumentationProvider   { [InstrumentationProvider(&quot;ConnectionOpened&quot;)] public event  E ventHandler<EventArgs>  connectionOpened; public void FireConnectionOpenedEvent() { connectionOpened(this, new EventArgs()); } internal class  DataInstrumentationListener  : InstrumentationListener  { public DataInstrumentationListener(string instanceName,  bool perfCountersEnabled, bool eventLogEnabled, bool wmiEnabled) : base(perf…, event…, wmi…)  {} [InstrumentationConsumer( “ConnectionOpened&quot;)] public void ConnectionOpened(object sender, EventArgs e) { if (PerformanceCountersEnabled) connectionOpenedCounter.Increment(); }
Factories and Object Builder ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Object Builder ,[object Object],[object Object],[object Object],[object Object],[object Object]
Factories Core Application Block Static Factory or façade Instance  Provider Factory Enterprise Library Factory Custom Factory Block Objects Object Builder Strategies User Code Configuration Source
Using Static Facades and Factories ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Creating Objects Directly ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Beyond Enterprise Library… ,[object Object],[object Object]
Enterprise Library online ,[object Object],[object Object]
Enterprise Library weblogs ,[object Object],[object Object],[object Object],[object Object],[object Object]
Questions?

More Related Content

What's hot

Entity Framework - Queries
Entity Framework -  QueriesEntity Framework -  Queries
Entity Framework - QueriesEyal Vardi
 
2005 - .NET Chaostage: 1st class data driven applications with ASP.NET 2.0
2005 - .NET Chaostage: 1st class data driven applications with ASP.NET 2.02005 - .NET Chaostage: 1st class data driven applications with ASP.NET 2.0
2005 - .NET Chaostage: 1st class data driven applications with ASP.NET 2.0Daniel Fisher
 
LDAP Injection & Blind LDAP Injection
LDAP Injection & Blind LDAP InjectionLDAP Injection & Blind LDAP Injection
LDAP Injection & Blind LDAP InjectionChema Alonso
 
Entity Framework - Object Services
Entity Framework -  Object ServicesEntity Framework -  Object Services
Entity Framework - Object ServicesEyal Vardi
 
Evident Discovery2
Evident Discovery2Evident Discovery2
Evident Discovery2Clark8435
 
Introduction to Shib 2.0 (Chad La Joie)
Introduction to Shib 2.0 (Chad La Joie)Introduction to Shib 2.0 (Chad La Joie)
Introduction to Shib 2.0 (Chad La Joie)JISC.AM
 
Orion context broker webminar 2013 06-19
Orion context broker webminar 2013 06-19Orion context broker webminar 2013 06-19
Orion context broker webminar 2013 06-19Fermin Galan
 
Ch06 ado.net fundamentals
Ch06 ado.net fundamentalsCh06 ado.net fundamentals
Ch06 ado.net fundamentalsMadhuri Kavade
 
Introducing the Entity Framework
Introducing the Entity FrameworkIntroducing the Entity Framework
Introducing the Entity FrameworkLearnNowOnline
 
Query Store and live Query Statistics
Query Store and live Query StatisticsQuery Store and live Query Statistics
Query Store and live Query StatisticsSolidQ
 
Oracle Audit Vault Training | Audit Vault - Oracle Trainings
Oracle Audit Vault Training | Audit Vault - Oracle TrainingsOracle Audit Vault Training | Audit Vault - Oracle Trainings
Oracle Audit Vault Training | Audit Vault - Oracle TrainingsOracleTrainings
 
Building N Tier Applications With Entity Framework Services 2010
Building N Tier Applications With Entity Framework Services 2010Building N Tier Applications With Entity Framework Services 2010
Building N Tier Applications With Entity Framework Services 2010David McCarter
 
ATG - Web Commerce @ Your Figertips
ATG - Web Commerce @ Your FigertipsATG - Web Commerce @ Your Figertips
ATG - Web Commerce @ Your FigertipsKeyur Shah
 
Orion Context Broker workshop (CPMX5)
Orion Context Broker workshop (CPMX5)Orion Context Broker workshop (CPMX5)
Orion Context Broker workshop (CPMX5)Fermin Galan
 

What's hot (20)

Hibernate
HibernateHibernate
Hibernate
 
Entity Framework - Queries
Entity Framework -  QueriesEntity Framework -  Queries
Entity Framework - Queries
 
2005 - .NET Chaostage: 1st class data driven applications with ASP.NET 2.0
2005 - .NET Chaostage: 1st class data driven applications with ASP.NET 2.02005 - .NET Chaostage: 1st class data driven applications with ASP.NET 2.0
2005 - .NET Chaostage: 1st class data driven applications with ASP.NET 2.0
 
LDAP Injection & Blind LDAP Injection
LDAP Injection & Blind LDAP InjectionLDAP Injection & Blind LDAP Injection
LDAP Injection & Blind LDAP Injection
 
Entity Framework - Object Services
Entity Framework -  Object ServicesEntity Framework -  Object Services
Entity Framework - Object Services
 
Evident Discovery2
Evident Discovery2Evident Discovery2
Evident Discovery2
 
Introduction to Shib 2.0 (Chad La Joie)
Introduction to Shib 2.0 (Chad La Joie)Introduction to Shib 2.0 (Chad La Joie)
Introduction to Shib 2.0 (Chad La Joie)
 
Orion context broker webminar 2013 06-19
Orion context broker webminar 2013 06-19Orion context broker webminar 2013 06-19
Orion context broker webminar 2013 06-19
 
Ch06 ado.net fundamentals
Ch06 ado.net fundamentalsCh06 ado.net fundamentals
Ch06 ado.net fundamentals
 
Introducing the Entity Framework
Introducing the Entity FrameworkIntroducing the Entity Framework
Introducing the Entity Framework
 
Data Binding
Data BindingData Binding
Data Binding
 
Ch 7 data binding
Ch 7 data bindingCh 7 data binding
Ch 7 data binding
 
Query Store and live Query Statistics
Query Store and live Query StatisticsQuery Store and live Query Statistics
Query Store and live Query Statistics
 
J2EE pattern 5
J2EE pattern 5J2EE pattern 5
J2EE pattern 5
 
Oracle Audit Vault Training | Audit Vault - Oracle Trainings
Oracle Audit Vault Training | Audit Vault - Oracle TrainingsOracle Audit Vault Training | Audit Vault - Oracle Trainings
Oracle Audit Vault Training | Audit Vault - Oracle Trainings
 
Building N Tier Applications With Entity Framework Services 2010
Building N Tier Applications With Entity Framework Services 2010Building N Tier Applications With Entity Framework Services 2010
Building N Tier Applications With Entity Framework Services 2010
 
ATG - Web Commerce @ Your Figertips
ATG - Web Commerce @ Your FigertipsATG - Web Commerce @ Your Figertips
ATG - Web Commerce @ Your Figertips
 
B_110500002
B_110500002B_110500002
B_110500002
 
Orion Context Broker workshop (CPMX5)
Orion Context Broker workshop (CPMX5)Orion Context Broker workshop (CPMX5)
Orion Context Broker workshop (CPMX5)
 
Presentation
PresentationPresentation
Presentation
 

Similar to Enterprise Library 2.0

Enterprise Library 3.0 Overview
Enterprise Library 3.0 OverviewEnterprise Library 3.0 Overview
Enterprise Library 3.0 Overviewmcgurk
 
Enterprise Library 2.0 Core Architecture
Enterprise Library 2.0 Core ArchitectureEnterprise Library 2.0 Core Architecture
Enterprise Library 2.0 Core Architecturemcgurk
 
Play framework : A Walkthrough
Play framework : A WalkthroughPlay framework : A Walkthrough
Play framework : A Walkthroughmitesh_sharma
 
Arc Ready Cloud Computing
Arc Ready Cloud ComputingArc Ready Cloud Computing
Arc Ready Cloud ComputingPhilip Wheat
 
ArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudMicrosoft ArcReady
 
Getting Started with Enterprise Library 3.0 in ASP.NET
Getting Started with Enterprise Library 3.0 in ASP.NETGetting Started with Enterprise Library 3.0 in ASP.NET
Getting Started with Enterprise Library 3.0 in ASP.NETPhilWinstanley
 
Windows Azure - Uma Plataforma para o Desenvolvimento de Aplicações
Windows Azure - Uma Plataforma para o Desenvolvimento de AplicaçõesWindows Azure - Uma Plataforma para o Desenvolvimento de Aplicações
Windows Azure - Uma Plataforma para o Desenvolvimento de AplicaçõesComunidade NetPonto
 
Pillars of great Azure Architecture
Pillars of great Azure ArchitecturePillars of great Azure Architecture
Pillars of great Azure ArchitectureKarthikeyan VK
 
Design Pattern Mastery - Momentum Dev Con 19 Apr 2018
Design Pattern Mastery - Momentum Dev Con 19 Apr 2018Design Pattern Mastery - Momentum Dev Con 19 Apr 2018
Design Pattern Mastery - Momentum Dev Con 19 Apr 2018Steven Smith
 
IntelliJ IDEA Architecture and Performance
IntelliJ IDEA Architecture and PerformanceIntelliJ IDEA Architecture and Performance
IntelliJ IDEA Architecture and Performanceintelliyole
 
Silverlight Development & The Model-View-ViewModel Pattern
Silverlight Development & The Model-View-ViewModel PatternSilverlight Development & The Model-View-ViewModel Pattern
Silverlight Development & The Model-View-ViewModel PatternDerek Novavi
 
Net framework session03
Net framework session03Net framework session03
Net framework session03Vivek chan
 
Azure presentation nnug dec 2010
Azure presentation nnug  dec 2010Azure presentation nnug  dec 2010
Azure presentation nnug dec 2010Ethos Technologies
 
Patterns (contd)Software Development ProcessDesign patte.docx
Patterns (contd)Software Development ProcessDesign patte.docxPatterns (contd)Software Development ProcessDesign patte.docx
Patterns (contd)Software Development ProcessDesign patte.docxdanhaley45372
 
Adaptive Architecture
Adaptive ArchitectureAdaptive Architecture
Adaptive ArchitectureNick Harrison
 
Oracle UCM Implementation Patterns
Oracle UCM Implementation PatternsOracle UCM Implementation Patterns
Oracle UCM Implementation PatternsBrian Huff
 
System verilog important
System verilog importantSystem verilog important
System verilog importantelumalai7
 

Similar to Enterprise Library 2.0 (20)

Enterprise Library 3.0 Overview
Enterprise Library 3.0 OverviewEnterprise Library 3.0 Overview
Enterprise Library 3.0 Overview
 
Enterprise Library 2.0 Core Architecture
Enterprise Library 2.0 Core ArchitectureEnterprise Library 2.0 Core Architecture
Enterprise Library 2.0 Core Architecture
 
Play framework : A Walkthrough
Play framework : A WalkthroughPlay framework : A Walkthrough
Play framework : A Walkthrough
 
Arc Ready Cloud Computing
Arc Ready Cloud ComputingArc Ready Cloud Computing
Arc Ready Cloud Computing
 
ArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudArcReady - Architecting For The Cloud
ArcReady - Architecting For The Cloud
 
.net Framework
.net Framework.net Framework
.net Framework
 
Getting Started with Enterprise Library 3.0 in ASP.NET
Getting Started with Enterprise Library 3.0 in ASP.NETGetting Started with Enterprise Library 3.0 in ASP.NET
Getting Started with Enterprise Library 3.0 in ASP.NET
 
Windows Azure - Uma Plataforma para o Desenvolvimento de Aplicações
Windows Azure - Uma Plataforma para o Desenvolvimento de AplicaçõesWindows Azure - Uma Plataforma para o Desenvolvimento de Aplicações
Windows Azure - Uma Plataforma para o Desenvolvimento de Aplicações
 
Pillars of great Azure Architecture
Pillars of great Azure ArchitecturePillars of great Azure Architecture
Pillars of great Azure Architecture
 
Design Pattern Mastery - Momentum Dev Con 19 Apr 2018
Design Pattern Mastery - Momentum Dev Con 19 Apr 2018Design Pattern Mastery - Momentum Dev Con 19 Apr 2018
Design Pattern Mastery - Momentum Dev Con 19 Apr 2018
 
IntelliJ IDEA Architecture and Performance
IntelliJ IDEA Architecture and PerformanceIntelliJ IDEA Architecture and Performance
IntelliJ IDEA Architecture and Performance
 
Sky High With Azure
Sky High With AzureSky High With Azure
Sky High With Azure
 
Silverlight Development & The Model-View-ViewModel Pattern
Silverlight Development & The Model-View-ViewModel PatternSilverlight Development & The Model-View-ViewModel Pattern
Silverlight Development & The Model-View-ViewModel Pattern
 
Net framework session03
Net framework session03Net framework session03
Net framework session03
 
Azure presentation nnug dec 2010
Azure presentation nnug  dec 2010Azure presentation nnug  dec 2010
Azure presentation nnug dec 2010
 
Patterns (contd)Software Development ProcessDesign patte.docx
Patterns (contd)Software Development ProcessDesign patte.docxPatterns (contd)Software Development ProcessDesign patte.docx
Patterns (contd)Software Development ProcessDesign patte.docx
 
Adaptive Architecture
Adaptive ArchitectureAdaptive Architecture
Adaptive Architecture
 
Introduction To Cloud Computing
Introduction To Cloud ComputingIntroduction To Cloud Computing
Introduction To Cloud Computing
 
Oracle UCM Implementation Patterns
Oracle UCM Implementation PatternsOracle UCM Implementation Patterns
Oracle UCM Implementation Patterns
 
System verilog important
System verilog importantSystem verilog important
System verilog important
 

Recently uploaded

De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...Product School
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...Product School
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeCzechDreamin
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backElena Simperl
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...CzechDreamin
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2DianaGray10
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekCzechDreamin
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesThousandEyes
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsExpeed Software
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIES VE
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...Product School
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Product School
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka DoktorováCzechDreamin
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Thierry Lestable
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
 

Recently uploaded (20)

De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 

Enterprise Library 2.0

  • 1. Enterprise Library for .NET Framework 2.0 R a j u P e r u m a n d l a 9 8 6 6 0 0 1 2 3 0
  • 2.
  • 3.
  • 4. Enterprise Library Ecosystem Partner blocks Customer blocks Community blocks p&p blocks Block Specification p&p Enterprise Library Partner X library Customer Y library Customer Z library
  • 5.
  • 6.
  • 7.
  • 8. Enterprise Library for .NET Framework 2.0 Caching Security Data Access Logging Exception Handling Cryptography Core Block Dependency Optional Provider Dependency Plug-in Config Helpers & Design Instrumen- tation Object Builder
  • 9. Exception Handling Application Block Caching Security Data Access Logging Exception Handling Cryptography Core Block Dependency Optional Provider Dependency Plug-in Config Helpers & Design Instrumen- tation Object Builder
  • 10.
  • 11.
  • 12.
  • 13. Logging Application Block Caching Security Data Access Logging Exception Handling Cryptography Core Block Dependency Optional Provider Dependency Plug-in Config Helpers & Design Instrumen- tation Object Builder
  • 14.
  • 15.
  • 16.
  • 17.
  • 18. Data Access Application Block Caching Security Data Access Logging Exception Handling Cryptography Core Block Dependency Optional Provider Dependency Plug-in Config Helpers & Design Instrumen- tation Object Builder
  • 19.
  • 20.
  • 21. Data Access - Examples Public Function GetProductsInCategory(ByRef Category As Integer) As DataSet ' Create the Database object, using the database instance with the ' specified logical name. This is mapped to a connection string in ' the configuration file Dim db As Database = DatabaseFactory.CreateDatabase(&quot;Sales&quot;) ' Invoke the stored procedure with one line of code! return db.ExecuteDataSet(&quot;GetProductsByCategory&quot;, Category) ' Note: connection was closed by ExecuteDataSet method call End Function public Dataset GetProductsInCategory(string connectionString, int category) { // Create the Database object, using the specified connection string SqlDatabase db = new SqlDatabase(connectionString); // Invoke the stored procedure with one line of code! return db.ExecuteDataSet(&quot;GetProductsByCategory&quot;, category); // Note: connection was closed by ExecuteDataSet method call }
  • 22.
  • 23. Caching Application Block Caching Security Data Access Logging Exception Handling Cryptography Core Block Dependency Optional Provider Dependency Plug-in Config Helpers & Design Instrumen- tation Object Builder
  • 24.
  • 25.
  • 26. Cryptography Application Block Caching Security Data Access Logging Exception Handling Cryptography Core Block Dependency Optional Provider Dependency Plug-in Config Helpers & Design Instrumen- tation Object Builder
  • 27.
  • 28.
  • 29. Enterprise Library for .NET Framework 2.0 Caching Security Data Access Logging Exception Handling Cryptography Core Block Dependency Optional Provider Dependency Plug-in Config Helpers & Design Instrumen- tation Object Builder
  • 30.
  • 31.
  • 32. Core architecture Caching Security Data Access Logging Exception Handling Cryptography Core Block Dependency Optional Provider Dependency Plug-in Config Helpers & Design Instrumen- tation Object Builder
  • 33.
  • 34. Configuration Sources Application Blocks or Custom Code IConfigurationSource SystemConfiguration Source FileConfiguration Source SqlConfiguration Source app.config / web.config foo.config app.config / web.config Default ConfigurationSource = … System.Configuration File Watcher File Watcher
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44. Instrumentation Example public class Database : IInstrumentationEventProvider { DbConnection OpenConnection() { // Do stuff instrumentationProvider.FireConnectionOpenedEvent(); } public object GetInstrumentationEventProvider() { return instrumentationProvider; } } [InstrumentationListener( typeof(DataInstrumentationListener), typeof(DataInstrumentationListenerBinder))] public class DataInstrumentationProvider { [InstrumentationProvider(&quot;ConnectionOpened&quot;)] public event E ventHandler<EventArgs> connectionOpened; public void FireConnectionOpenedEvent() { connectionOpened(this, new EventArgs()); } internal class DataInstrumentationListener : InstrumentationListener { public DataInstrumentationListener(string instanceName, bool perfCountersEnabled, bool eventLogEnabled, bool wmiEnabled) : base(perf…, event…, wmi…) {} [InstrumentationConsumer( “ConnectionOpened&quot;)] public void ConnectionOpened(object sender, EventArgs e) { if (PerformanceCountersEnabled) connectionOpenedCounter.Increment(); }
  • 45.
  • 46.
  • 47. Factories Core Application Block Static Factory or façade Instance Provider Factory Enterprise Library Factory Custom Factory Block Objects Object Builder Strategies User Code Configuration Source
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.