13
Enterprise development Enterprise development reference architecture reference architecture (EDRA) (EDRA) -Deepti Seelamsetti -Deepti Seelamsetti

Enterprise development reference architecture (EDRA)

  • Upload
    aamir97

  • View
    595

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Enterprise development reference architecture (EDRA)

Enterprise development Enterprise development reference architecturereference architecture

(EDRA)(EDRA)

-Deepti Seelamsetti-Deepti Seelamsetti

Page 2: Enterprise development reference architecture (EDRA)

AgendaAgenda

Current challenges in building enterprise Current challenges in building enterprise class applications.class applications.

Best practices and PatternsBest practices and Patterns EDRAEDRA

What is EDRA?What is EDRA? EDRA High Level Logical viewEDRA High Level Logical view EDRA Pipeline FlowEDRA Pipeline Flow Application BlocksApplication Blocks

SummarySummary

Page 3: Enterprise development reference architecture (EDRA)

Challenges in Enterprise Challenges in Enterprise Application DevelopmentApplication Development

Complex dataComplex data Multiple simultaneous usersMultiple simultaneous users Varying business requirementsVarying business requirements Heterogeneous platforms.Heterogeneous platforms.

Page 4: Enterprise development reference architecture (EDRA)

Best practices and patternsBest practices and patterns

What is a pattern?What is a pattern? A pattern is a form, template, or model (or, A pattern is a form, template, or model (or,

more abstractly, a set of rules) which can be more abstractly, a set of rules) which can be used to make or to generate things or parts of used to make or to generate things or parts of a thing, especially if the things that are a thing, especially if the things that are generated have enough in common for the generated have enough in common for the underlying pattern to be inferred or discerned, underlying pattern to be inferred or discerned, in which case the things are said to exhibit the in which case the things are said to exhibit the pattern. pattern.

Page 5: Enterprise development reference architecture (EDRA)

Best practices and patternsBest practices and patterns

What is a pattern?What is a pattern? Describes a problem which occurs over and Describes a problem which occurs over and

over again in our environment, and then over again in our environment, and then describes the core of the solution to that describes the core of the solution to that problem, in such a way that you can use this problem, in such a way that you can use this solution a million times over, without ever solution a million times over, without ever doing it the same way twice. doing it the same way twice.

Page 6: Enterprise development reference architecture (EDRA)

EDRAEDRA

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

Page 7: Enterprise development reference architecture (EDRA)

EDRA Guiding PrinciplesEDRA Guiding Principles

Separation of ConcernsSeparation of Concerns Separating the service interface from the internal service Separating the service interface from the internal service

implementation.implementation. Separating business logic from cross-cutting concerns such as Separating business logic from cross-cutting concerns such as

logging, monitoring, or raising business events.logging, monitoring, or raising business events. Separating business logic from the underlying transport so that Separating business logic from the underlying transport so that

multiple transports can be used to access a single service multiple transports can be used to access a single service implementation.implementation.

BenefitsBenefits 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”.

Page 8: Enterprise development reference architecture (EDRA)

EDRA Framework (EDAF)EDRA Framework (EDAF) Enterprise Development Application

Framework (EDAF) is one possible is one possible implementation of the conceptual implementation of the conceptual architecture. architecture.

Frameworks are useful for:Frameworks are useful for: Productivity: Frameworks Frameworks

standardize the way in which a standardize the way in which a class of problems is solved.class of problems is solved.

Time to market: Increased Increased productivity due to the need to productivity due to the need to develop and test only code that is develop and test only code that is related to business requirements.related to business requirements.

Predictability: Reusable, tested Reusable, tested solutions based on a predefined solutions based on a predefined architecture reduce risk and architecture reduce risk and increase the predictability of the increase the predictability of the development process.development process.

Page 9: Enterprise development reference architecture (EDRA)

Life in the PipelineLife in the Pipeline

Page 10: Enterprise development reference architecture (EDRA)

EDRA-Application BlocksEDRA-Application Blocks Application blocks are a type of guidance, Application blocks are a type of guidance,

provided as source code that can be used "as provided as source code that can be used "as is," extended, or modified by developers to use is," extended, or modified by developers to use on enterprise development projects. on enterprise development projects.

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

DescriptionApplication Block

Page 11: Enterprise development reference architecture (EDRA)

SummarySummary EDRA is one model for building distributed applications EDRA is one model for building distributed applications

with the following characteristics:with the following characteristics: Enterprise scale projectsEnterprise scale projects Advanced architectureAdvanced architecture Large, diverse, and distributed development teamsLarge, diverse, and distributed development teams

Includes an extensible application framework that Includes an extensible application framework that incorporates reusable assets allowing you to use:incorporates reusable assets allowing you to use: ASP.NET Web servicesASP.NET Web services Message QueuingMessage Queuing Enterprise ServicesEnterprise Services

Brings together Brings together patterns & practices patterns & practices guidance:guidance: Design patternsDesign patterns Application blocks Application blocks Security and performance guidanceSecurity and performance guidance

Page 12: Enterprise development reference architecture (EDRA)

BenefitsBenefits Productivity: Frameworks standardize the way Frameworks standardize the way

in which a class of problems is solved.in which a class of problems is solved. Time to market: Increased productivity due to Increased productivity due to

the need to develop and test only code that is the need to develop and test only code that is related to business requirements.related to business requirements.

Predictability: Reusable, tested solutions Reusable, tested solutions based on a predefined architecture reduce based on a predefined architecture reduce risk and increase the predictability of the risk and increase the predictability of the development process.development process.

Page 13: Enterprise development reference architecture (EDRA)

What EDRA Is NotWhat EDRA Is Not

EDRA is not a supported Microsoft product.EDRA is not a supported Microsoft product. EDRA is architectural guidance provided in the form of code EDRA is architectural guidance provided in the form of code

which you can use “as-is”.which you can use “as-is”. Support: EDRA is considered “user-written code” by product Support: EDRA is considered “user-written code” by product

support.support. Compatibility: EDRA is not guaranteed to be forward or Compatibility: EDRA is not guaranteed to be forward or

backward compatible.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 only “right” way to build distributed applications. EDRA is not the Microsoft reference architecture for building EDRA is not the Microsoft reference architecture for building

service oriented applications.service oriented applications. EDRA can be used for building any kind of distributed EDRA can be used for building any kind of distributed

application.application. Much of what EDRA does is orthogonal to service orientation.Much of what EDRA does is orthogonal to service orientation.