Enterprise development reference architecture (EDRA) -Deepti Seelamsetti
Agenda <ul><li>Current challenges in building enterprise class applications. </li></ul><ul><li>Best practices and Patterns...
Challenges in Enterprise Application Development <ul><li>Complex data </li></ul><ul><li>Multiple simultaneous users </li><...
Best practices and patterns <ul><li>What is a pattern? </li></ul><ul><ul><li>A pattern is a form, template, or model (or, ...
Best practices and patterns <ul><li>What is a pattern? </li></ul><ul><ul><li>Describes a problem which occurs over and ove...
EDRA <ul><li>EDRA provides architectural guidelines that an organization can use to standardize the development of distrib...
EDRA Guiding Principles <ul><li>Separation of Concerns </li></ul><ul><ul><li>Separating the service interface from the int...
EDRA Framework (EDAF) <ul><li>Enterprise Development Application Framework (EDAF)  is one possible implementation of the c...
Life in the Pipeline
EDRA-Application Blocks <ul><li>Application blocks are a type of guidance, provided as source code that can be used &quot;...
Summary <ul><li>EDRA is one model for building distributed applications with the following characteristics: </li></ul><ul>...
Benefits <ul><ul><li>Productivity:  Frameworks standardize the way in which a class of problems is solved. </li></ul></ul>...
What EDRA Is Not   <ul><li>EDRA is not a supported Microsoft product. </li></ul><ul><ul><li>EDRA is architectural guidance...
Upcoming SlideShare
Loading in …5
×

Enterprise development reference architecture (EDRA)

768 views
675 views

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
768
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Enterprise development reference architecture (EDRA)

  1. 1. Enterprise development reference architecture (EDRA) -Deepti Seelamsetti
  2. 2. Agenda <ul><li>Current challenges in building enterprise class applications. </li></ul><ul><li>Best practices and Patterns </li></ul><ul><li>EDRA </li></ul><ul><ul><li>What is EDRA? </li></ul></ul><ul><ul><li>EDRA High Level Logical view </li></ul></ul><ul><ul><li>EDRA Pipeline Flow </li></ul></ul><ul><ul><li>Application Blocks </li></ul></ul><ul><li>Summary </li></ul>
  3. 3. Challenges in Enterprise Application Development <ul><li>Complex data </li></ul><ul><li>Multiple simultaneous users </li></ul><ul><li>Varying business requirements </li></ul><ul><li>Heterogeneous platforms. </li></ul>
  4. 4. Best practices and patterns <ul><li>What is a pattern? </li></ul><ul><ul><li>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. </li></ul></ul>
  5. 5. Best practices and patterns <ul><li>What is a pattern? </li></ul><ul><ul><li>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. </li></ul></ul>
  6. 6. EDRA <ul><li>EDRA provides architectural guidelines that an organization can use to standardize the development of distributed applications. </li></ul>
  7. 7. EDRA Guiding Principles <ul><li>Separation of Concerns </li></ul><ul><ul><li>Separating the service interface from the internal service implementation. </li></ul></ul><ul><ul><li>Separating business logic from cross-cutting concerns such as logging, monitoring, or raising business events. </li></ul></ul><ul><ul><li>Separating business logic from the underlying transport so that multiple transports can be used to access a single service implementation. </li></ul></ul><ul><li>Benefits </li></ul><ul><ul><li>Leverage strengths of different types of developers. </li></ul></ul><ul><ul><li>Preserves business logic through changes to “plumbing”. </li></ul></ul>
  8. 8. EDRA Framework (EDAF) <ul><li>Enterprise Development Application Framework (EDAF) is one possible implementation of the conceptual architecture. </li></ul><ul><li>Frameworks are useful for: </li></ul><ul><ul><li>Productivity: Frameworks standardize the way in which a class of problems is solved. </li></ul></ul><ul><ul><li>Time to market: Increased productivity due to the need to develop and test only code that is related to business requirements. </li></ul></ul><ul><ul><li>Predictability: Reusable, tested solutions based on a predefined architecture reduce risk and increase the predictability of the development process. </li></ul></ul>
  9. 9. Life in the Pipeline
  10. 10. EDRA-Application Blocks <ul><li>Application blocks are a type of guidance, provided as source code that can be used &quot;as is,&quot; extended, or modified by developers to use on enterprise development projects. </li></ul>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. Security Application Block This application block allows developers to incorporate standard logging and instrumentation functionality in their applications. Logging and Instrumentation 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. Exception Handling Application Block This application block allows developers to include encryption and hashing functionality in their applications. Cryptography Application Block This application block allows developers to incorporate standard database functionality in their applications. Data Access Application Block This application block allows applications to read and write configuration information. Configuration Application Block This application block allows developers to incorporate a local cache in their applications. Caching Application Block Description Application Block
  11. 11. Summary <ul><li>EDRA is one model for building distributed applications with the following characteristics: </li></ul><ul><ul><li>Enterprise scale projects </li></ul></ul><ul><ul><li>Advanced architecture </li></ul></ul><ul><ul><li>Large, diverse, and distributed development teams </li></ul></ul><ul><li>Includes an extensible application framework that incorporates reusable assets allowing you to use: </li></ul><ul><ul><li>ASP.NET Web services </li></ul></ul><ul><ul><li>Message Queuing </li></ul></ul><ul><ul><li>Enterprise Services </li></ul></ul><ul><li>Brings together patterns & practices guidance: </li></ul><ul><ul><li>Design patterns </li></ul></ul><ul><ul><li>Application blocks </li></ul></ul><ul><ul><li>Security and performance guidance </li></ul></ul>
  12. 12. Benefits <ul><ul><li>Productivity: Frameworks standardize the way in which a class of problems is solved. </li></ul></ul><ul><ul><li>Time to market: Increased productivity due to the need to develop and test only code that is related to business requirements. </li></ul></ul><ul><ul><li>Predictability: Reusable, tested solutions based on a predefined architecture reduce risk and increase the predictability of the development process. </li></ul></ul>
  13. 13. What EDRA Is Not <ul><li>EDRA is not a supported Microsoft product. </li></ul><ul><ul><li>EDRA is architectural guidance provided in the form of code which you can use “as-is”. </li></ul></ul><ul><ul><li>Support: EDRA is considered “user-written code” by product support. </li></ul></ul><ul><ul><li>Compatibility: EDRA is not guaranteed to be forward or backward compatible. </li></ul></ul><ul><ul><li>Localization: EDRA is not localized. </li></ul></ul><ul><li>EDRA is not the only “right” way to build distributed applications. </li></ul><ul><li>EDRA is not the Microsoft reference architecture for building service oriented applications. </li></ul><ul><ul><li>EDRA can be used for building any kind of distributed application. </li></ul></ul><ul><ul><li>Much of what EDRA does is orthogonal to service orientation. </li></ul></ul>

×