Presentation is loading. Please wait.

Presentation is loading. Please wait.

Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.

Similar presentations


Presentation on theme: "Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are."— Presentation transcript:

1 Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are trademarks of Accenture. Application Delivery Fundamentals 2.0: Java Module 22: Enterprise Architecture Patterns

2 Copyright © 2012 Accenture All Rights Reserved. Module Objectives Recognize the major patterns in Software Technology including: Java EE Patterns, Architectural Patterns and Patterns of Enterprise Architecture (EA). Recognize multi-tier architecture elements of an EA including technologies and patterns used at different tiers. Recognize the services provided by different tiers. 2 At the end of this module, you will be able to:

3 Copyright © 2012 Accenture All Rights Reserved. Agenda Java EE Patterns Architectural Patterns Multi-tier Architecture Elements Tier Services Summary 3

4 Copyright © 2012 Accenture All Rights Reserved. [Half-page image. Size: 9.53cm x 25.4cm, Position: 0,0] Build on the Gang of Four (GoF) patterns. May be categorized as high-level design patterns or low- level architectural patterns. Java EE Patterns 4

5 Copyright © 2012 Accenture All Rights Reserved. Java EE Patterns Classification TierFeaturesJ2EE Patterns Presentation Tier Contains all presentation logic that services the clients Intercepting FilterFront Controller Context ObjectApplication Controller View HelperComposite View Service to WorkerDispatcher View Business TierProvides the business services needed by the application clients Business DelegateService Locator Session FaçadeApplication Service Business ObjectComposite Entity Transfer ObjectValue List Handler Transfer Object Assembler Integration Tier Controls the communication with external resources and systems such as databases and legacy applications Data Access ObjectService Activator Domain StoreWeb Service Broker 5

6 Copyright © 2012 Accenture All Rights Reserved. Java EE Patterns Front Controller: Presentation Tier Processes Request Handling Pre and Post processing Command Processor Request Processor Navigation and Dispatch Navigation Resolver Request Dispatcher View Processing View Preparer View Creator Intercepting Filter Front Controller View Helper 6

7 Copyright © 2012 Accenture All Rights Reserved. Java EE Patterns Front Controller: Sample Areas of Application Aspects of Requests managed by Front Controller Authentication Authorization Session Management Navigation Debugging Localization Internationalization 7

8 Copyright © 2012 Accenture All Rights Reserved. Java EE Patterns Business Object: Business Tier Process domain object model, separation of concern and modularity to gain conceptual simplicity and reuse. Integrates business logic and state from generic aspects like persistence, transaction management and concurrency. Separates sophisticated application domain model with complex business logic and validation rules. Captures 8

9 Copyright © 2012 Accenture All Rights Reserved. [Portrait image size: 10.03cm x 6.67cm, position: 17.5cm x 5.41cm] Java EE Patterns Business Object: Sample Areas of Application (1 of 2) Business Object pattern can be applied to: Applications that benefit from the explicit domain model. Business applications with volatile business rules. 9

10 Copyright © 2012 Accenture All Rights Reserved. Java EE Patterns Business Object: Sample Areas of Application (2 of 2) Business applications with volatile business rules: A conceptual domain model. The models used to formulate rules. The changes to business rules that can be done dynamically. 10

11 Copyright © 2012 Accenture All Rights Reserved. Java EE Patterns DAO: Integration Tier Process all interactions with the resource layer. Encapsulates implementation details from clients. Hides a Uniform API to clients despite potentially diverse resources. Provides the business tier from changes in the resource layer. Protects 11

12 Copyright © 2012 Accenture All Rights Reserved. [Half-page image. Size: 9.53cm x 25.4cm, Position: 0,0] Hide database implementation details Create transfer objects Returns the transfer objects to the client Java EE Patterns DAO: Sample Areas of Application 12

13 Copyright © 2012 Accenture All Rights Reserved. Java EE Patterns Web Service Broker: Integration Tier Process integration of heterogeneous applications Enables reuse by implementing a service model Encourages complexity by hiding implementation detail Reduces Extension - in other words, it can be extended Allows 13

14 Copyright © 2012 Accenture All Rights Reserved. [Half-page image. Size: 9.53cm x 25.4cm, Position: 0,0] Web Service Broker is an integration layer pattern It is best used to: –Expose services in an enterprise to be consumed by other systems. –Integrate disparate systems running on different platforms. Java EE Patterns Web Service Broker: Sample Areas of Application 14

15 Copyright © 2012 Accenture All Rights Reserved. Architectural Patterns Model-View-Controller (MVC) (1 of 2) Structural relationship between the three components: Model View Controller 15

16 Copyright © 2012 Accenture All Rights Reserved. Architectural Patterns Model-View-Controller (MVC) (2 of 2) Model Encapsulates application state Responds to state queries Exposes application functionality Notifies views of changes View Renders the models Requests updates from models Sends user gestures to controller Allows controller to select view Controller Defines application behavior Maps user actions to model updates Selects view for response One for each functionality Change Notification State Query State Change View Selection User Gestures Method InvocationsEvents 16

17 Copyright © 2012 Accenture All Rights Reserved. Knows about the data that needs to be displayed. Knows about the operations that can be applied on the data. Does not know how to display the data to the user. Architectural Patterns MVC: Model Object Model View Controller 17

18 Copyright © 2012 Accenture All Rights Reserved. Architectural Patterns MVC: View Object Provides Graphical User Interface components Relays user requests Uses the query methods Displays information Maintains consistency Model View Controller 18

19 Copyright © 2012 Accenture All Rights Reserved. Translates interactions with the view into actions. Is responsible for mapping end-user action to application response. Architectural Patterns MVC: Controller Object Model View Controller 19

20 Copyright © 2012 Accenture All Rights Reserved. Cons: Learning curve to adopt MVC Potential for excessive updates Pros: Multiple views using the same model Easier support for new types of clients Clarity of design Efficient modularity Ease of growth Architectural Patterns MVC: Consequences 20

21 Copyright © 2012 Accenture All Rights Reserved. Multi-tier Architecture Elements EA Technologies Java Enterprise Architecture Technologies D Java Applet HTML A EJB JDBCJDBC Servlet JSP DBMS Application server Web server Browser Client Tier Middle Tier Data Tier 21

22 Copyright © 2012 Accenture All Rights Reserved. Multi-tier Architecture Elements Patterns 22

23 Copyright © 2012 Accenture All Rights Reserved. Tier Services TierOverviewServices Client Tier Application (e.g., web browser or applet) running on a desktop, laptop or WAP phone accessing the application/web server using HTTP, FTP, etc. User Interface Displays Result Presentation Tier Usually JSP and Servlets that prepare/format data to deliver to the Client Tier, and acts as an interface between the Client and Business Tier. This tier encapsulates the presentation logic. Authentication Authorization Session Management Business Tier Contains the business objects and rules, handles data manipulation and transformation. Data Processing Business Rules/Workflow Validation Integration Tier Provides the interface between layers, handles all data I/O with external resources. Data Transformation Persistence Services Resources Tier Data Storage, Query and storage optimization, Performance (e.g. Indexing). Data Storage Data Access 23

24 Copyright © 2012 Accenture All Rights Reserved. Exercise Map Patterns to Tiers Match the following six Patterns to the Tiers (A, B and C) below: Front Controller View Helper Business Object Session Façade Data Access Object Web Service Broker 24 Front Controller View Helper Business Object Session Facade Data Access Object Web Service Broker

25 Copyright © 2012 Accenture All Rights Reserved. Exercise Map Services to Tiers (1 of 2) Fill in the blank in the following sentence: ____________________ is a software architecture that separates an application's data model, user interface, and control logic into three distinct components. 25 Model-View-Controller (MVC)

26 Copyright © 2012 Accenture All Rights Reserved. Exercise Map Services to Tiers (2 of 2) Match the following nine Services listed to the Tiers in the diagram below. Note that each Tier can have more one service. Data Storage Session Management User Interface Business Rules Persistence Authentication Validation Data Transformation Data Access 26 ClientPresentationBusinessIntegrationResource User Interface Session Management Authentication Business Rules Validation Persistence Data Transformation Data Storage Data Access

27 Copyright © 2012 Accenture All Rights Reserved. Questions and Comments 27

28 Copyright © 2012 Accenture All Rights Reserved. Module Summary (1 of 2) Java EE Patterns are categorized as either high-level design patterns or low- level architectural patterns. Different pattern classifications are available in Java EE across the Presentation, Business and Integration Tiers. Each tier has distinct responsibilities that are defined within Java EE Patterns. 28 The key points from this module are:

29 Copyright © 2012 Accenture All Rights Reserved. Module Summary (2 of 2) The MVC framework is a pattern comprising of three related elements dealing with an application's data model, UI, and control logic. Different technology and patterns are used within Enterprise Applications and their relationships within tiers. Different services are offered within each tier in the Enterprise Application. 29


Download ppt "Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are."

Similar presentations


Ads by Google