Presentation is loading. Please wait.

Presentation is loading. Please wait.

©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.

Similar presentations


Presentation on theme: "©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."— Presentation transcript:

1 ©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 Overview Kyle Burkholder & Jeff Donahoe (Ben Reierson – Demo) Avanade 01.06.05 Twin Cities.NET User Group Microsoft Office

2 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Agenda About Avanade What are Application Blocks? What is Enterprise Library? How is EntLib Being Extended? Demo Questions

3 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. About Avanade

4 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Joint venture between Accenture & Microsoft in 2000 Avanade continues to grow its business; as of October, we have 3,000+ employees worldwide Have delivered (and are currently delivering) on more than 3,000 projects for 1300+ customers More than 75% of our technologists are Microsoft-certified; many with multiple certifications Currently delivering on nine projects utilizing early adoption of EntLib v1.0 Avanade Avanade Americas Seattle San Francisco Chicago Dallas New York Toronto St. Louis San Antonio Nashville Kansas City Cincinnati Avanade Australia Sydney Melbourne Brisbane Canberra Avanade India Mumbai Bangalore Hyderabad Avanade Asia Singapore Kuala Lumpur Bangkok Avanade Europe Paris London Milan Rome Madrid Barcelona Malaga Kronberg Almere

5 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. What Are Application Blocks?

6 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Forms of p&p Guidance 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

7 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Why Application Blocks? Microsoft®.NET platform includes very broad, generic functionality – This makes the platform suitable for a wide variety of application types and architectures – However, specific customer segments have common needs at a higher level of abstraction. The platform does not always directly support these without a lot of manual work – Prescriptive guidance that links functionality together is lacking

8 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Existing p&p Application Blocks Aggregation Application Block for.NET Asynchronous Invocation Application Block for.NET Authorization and Profile Application Block Caching Application Block for.NET Configuration Management Application Block for.NET Data Access Application Block for.NET Exception Management Application Block for.NET Logging Application Block Smart Client Offline Application Block Updater Application Block for.NET User Interface Process Application Block (v2.0)

9 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. What Exactly Is The Problem? How many times do enterprise developers ask: – Most applications need something like this – People must have written hundreds of things like this – I wish I could find a solution for this that I could reuse – …

10 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Application Block Feedback 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 evaluation and understanding of blocks easier – Make using blocks easier – Make it easier to configure blocks

11 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. What is Enterprise Library?

12 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Introducing “Enterprise Library”! Library of reusable software assets to address common enterprise development challenges, consistently, correctly and quickly 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 the ACA.NET application framework

13 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Enterprise Library Ecosystem Enterprise Library is a solid core to be leveraged and extended by others Avanade has built a new version of ACA.NET using Enterprise Library as the foundation Enterprise Library Partner Program will encourage other partners to contribute to EntLib and build their own offerings on top Microsoft will foster a community of customers and partners using, discussing and extending the library

14 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. p&p Enterprise Library Enterprise Library ecosystem Partner blocks Customer Community blocks p&p blocks ACA.NET Customer X Library Customer Y library *This is a slide from the Microsoft Patterns and Practices Team

15 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Consistency Design and implementation principles Configuration Documentation Tests Tooling Samples Operational requirements Installation procedures

16 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Extensibility Extending existing blocks – Pluggable providers Guidelines how to create new blocks – Design patterns and principles – Hooking into the configuration tool – Documentation guidelines and templates

17 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Ease of Use Cuts down the amount of code you need to write for common enterprise scenarios Many usability improvements over existing Application Blocks, including – Configuration tooling – Simplified installation and deployment – Improved documentation and samples

18 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Integration Packaged as integrated library Blocks are designed to work well together, but they can still be used individually – Dependencies are encapsulated into pluggable providers Configuration understands how to use blocks together in application – Blocks used as providers for other blocks

19 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Enterprise Library v1.0 Seven blocks in the first release – Configuration – Data Access – Caching – Security – Cryptography – Exception Handling – Logging & Instrumentation

20 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Code and Demos

21 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. 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 Enterprise Library will include standalone and Visual Studio- integrated versions of the configuration tool

22 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. 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 (Microsoft ® 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

23 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Data Access Demo

24 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Demo Scenario - Overview

25 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. 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 Microsoft ® 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

26 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Caching Demo

27 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Security Application Block Provides a simple API and pluggable implementations of core security primitive operations Covers five 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 (Active Directory ®, AzMan) as well as a light-weight database implementation Developers can build their own plug-ins to interface with existing security solutions

28 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Security Demo

29 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. 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

30 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. 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

31 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Exception Handling Demo

32 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Logging and 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, E- mail, WMI and Windows Event Tracing

33 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Demo Scenario - Recap

34 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. How Is EntLib Being Extended?

35 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. ACA.NET 4.0 - Quickbeam ACA.NET 4.0 is Avanade’s differentiating asset on top of Enterprise Library v1 Features – Service Oriented Architecture (SOA) & Aspect Oriented Architecture (AOA) on top of Enterprise Library – Async Support for all Transports – VB.NET Support for ACA.NET’s SOA/AOA attributes – Validation & improved Connections Frameworks – State Machine – WSE2 support (transport and ACA.NET Security) The Batch Framework will become its own asset in the future: ACA Batch The Microsoft User Interface Process block (UIP) will be added to Enterprise Library in the future

36 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. How Do I Get Started With EntLib?

37 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Where Are patterns & practices? They are On Microsoft.com – http://www.microsoft.com/practices/ http://www.microsoft.com/practices/ They are on Bookshelves – http://www.amazon.com/practices/ http://www.amazon.com/practices/ They are on GotDotNet – http://workspaces.gotdotnet.com/ (search on patterns & practices) http://workspaces.gotdotnet.com/

38 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Upgrading existing applications Enterprise Library is not compatible with previous Application Blocks or ACA.NET Migration guidelines in the documentation Recommended approach: used a phased adoption, using Enterprise Library for new applications and significant redevelopment Multiple application blocks and frameworks may coexist within an environment (e.g.. UIP) *This is a slide from the Microsoft Patterns and Practices Team

39 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. What’s next? Microsoft will continue to enhance Enterprise Library, providing new Application Blocks to assist with scenarios such as Validation, SOA and Smart Client Microsoft is planning a Microsoft®.NET 2.0 “Whidbey” compliant release around the time that.NET 2.0 and Microsoft® Visual Studio® 2005 are released Get involved in the community to participate in requirements, reviews and beta testing! http://workspaces.gotdotnet.com/entlib http://workspaces.gotdotnet.com/entlib *This is a slide from the Microsoft Patterns and Practices Team

40 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Wrap-Up Takeaways – EntLib will replace Application Blocks – EntLib won’t cover all the blocks, but can co-exist with them – You can start preparing with EntLib today (Documentation on GotDotNet) – Application blocks are ready for the enterprise – Nice opportunities to create extensions and built a community Contact info – Kyle Burkholder (kyleb@avanade.com) – Jeff Donahoe (jeffreyd@avanade.com)

41 ©2004 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries. Questions?


Download ppt "©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."

Similar presentations


Ads by Google