Presentation is loading. Please wait.

Presentation is loading. Please wait.

Enterprise development reference architecture (EDRA) -Deepti Seelamsetti.

Similar presentations


Presentation on theme: "Enterprise development reference architecture (EDRA) -Deepti Seelamsetti."— Presentation transcript:

1 Enterprise development reference architecture (EDRA) -Deepti Seelamsetti

2 Agenda  Current challenges in building enterprise class applications.  Best practices and Patterns  EDRA What is EDRA? What is EDRA? EDRA High Level Logical view EDRA High Level Logical view EDRA Pipeline Flow EDRA Pipeline Flow Application Blocks Application Blocks  Summary

3 Challenges in Enterprise Application Development  Complex data  Multiple simultaneous users  Varying business requirements  Heterogeneous platforms.

4 Best practices and patterns  What is a pattern? A pattern is a form, template, or model (or, more abstractly, a set of rules) which can be used to make or to generate things or parts of a thing, especially if the things that are generated have enough in common for the underlying pattern to be inferred or discerned, in which case the things are said to exhibit the pattern. A pattern is a form, template, or model (or, more abstractly, a set of rules) which can be used to make or to generate things or parts of a thing, especially if the things that are generated have enough in common for the underlying pattern to be inferred or discerned, in which case the things are said to exhibit the pattern.

5 Best practices and patterns  What is a pattern? Describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice. Describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice.

6 EDRA  EDRA provides architectural guidelines that an organization can use to standardize the development of distributed applications.

7 EDRA Guiding Principles  Separation of Concerns Separating the service interface from the internal service implementation. Separating the service interface from the internal service implementation. Separating business logic from cross-cutting concerns such as logging, monitoring, or raising business events. Separating business logic from cross-cutting concerns such as logging, monitoring, or raising business events. Separating business logic from the underlying transport so that multiple transports can be used to access a single service implementation. Separating business logic from the underlying transport so that multiple transports can be used to access a single service implementation.  Benefits Leverage strengths of different types of developers. Leverage strengths of different types of developers. Preserves business logic through changes to “plumbing”. Preserves business logic through changes to “plumbing”.

8 EDRA Framework (EDAF)  is one possible implementation of the conceptual architecture.  Enterprise Development Application Framework (EDAF) is one possible implementation of the conceptual architecture.  Frameworks are useful for: Productivity: Frameworks standardize the way in which a class of problems is solved. Time to market: Increased productivity due to the need to develop and test only code that is related to business requirements. Predictability: Reusable, tested solutions based on a predefined architecture reduce risk and increase the predictability of the development process.

9 Life in the Pipeline

10 EDRA-Application Blocks  Application blocks are a type of guidance, provided as source code that can be used "as is," extended, or modified by developers to use on enterprise development projects. Application BlockDescription Caching Application Block This application block allows developers to incorporate a local cache in their applications. Configuration Application Block This application block allows applications to read and write configuration information. Data Access Application Block This application block allows developers to incorporate standard database functionality in their applications. Cryptography Application Block This application block allows developers to include encryption and hashing functionality in their applications. Exception Handling Application Block This application block allows developers and policy makers to create a consistent strategy for processing exceptions that occur throughout the architectural layers of enterprise applications. Logging and Instrumentation Application Block This application block allows developers to incorporate standard logging and instrumentation functionality in their applications. Security Application Block This application block allows developers to incorporate security functionality in their applications. Applications can use the application block in a variety of situations, such as authenticating and authorizing users against a database, retrieving role and profile information, and caching user profile information.

11 Summary  EDRA is one model for building distributed applications with the following characteristics: Enterprise scale projects Enterprise scale projects Advanced architecture Advanced architecture Large, diverse, and distributed development teams Large, diverse, and distributed development teams  Includes an extensible application framework that incorporates reusable assets allowing you to use: ASP.NET Web services ASP.NET Web services Message Queuing Message Queuing Enterprise Services Enterprise Services  Brings together patterns & practices guidance: Design patterns Design patterns Application blocks Application blocks Security and performance guidance Security and performance guidance

12 Benefits Frameworks standardize the way in which a class of problems is solved. Productivity: Frameworks standardize the way in which a class of problems is solved. Increased productivity due to the need to develop and test only code that is related to business requirements. Time to market: Increased productivity due to the need to develop and test only code that is related to business requirements. Reusable, tested solutions based on a predefined architecture reduce risk and increase the predictability of the development process. Predictability: Reusable, tested solutions based on a predefined architecture reduce risk and increase the predictability of the development process.

13 What EDRA Is Not  EDRA is not a supported Microsoft product. EDRA is architectural guidance provided in the form of code which you can use “as-is”. EDRA is architectural guidance provided in the form of code which you can use “as-is”. Support: EDRA is considered “user-written code” by product support. Support: EDRA is considered “user-written code” by product support. Compatibility: EDRA is not guaranteed to be forward or backward compatible. Compatibility: EDRA is not guaranteed to be forward or backward compatible. Localization: EDRA is not localized. Localization: EDRA is not localized.  EDRA is not the only “right” way to build distributed applications.  EDRA is not the Microsoft reference architecture for building service oriented applications. EDRA can be used for building any kind of distributed application. EDRA can be used for building any kind of distributed application. Much of what EDRA does is orthogonal to service orientation. Much of what EDRA does is orthogonal to service orientation.


Download ppt "Enterprise development reference architecture (EDRA) -Deepti Seelamsetti."

Similar presentations


Ads by Google