Presentation is loading. Please wait.

Presentation is loading. Please wait.

Confidential - Property of infiNET Solutions. Architecting and Designing Scalable, Multitier Systems in J2EE infiNET Solutions David R. King – Chief Technology.

Similar presentations


Presentation on theme: "Confidential - Property of infiNET Solutions. Architecting and Designing Scalable, Multitier Systems in J2EE infiNET Solutions David R. King – Chief Technology."— Presentation transcript:

1 Confidential - Property of infiNET Solutions

2 Architecting and Designing Scalable, Multitier Systems in J2EE infiNET Solutions David R. King – Chief Technology Officer Yuhong Guo – Senior Software Engineer

3 Confidential - Property of infiNET Solutions Agenda Our Task Software Process Multitier Systems Overview MVC Design Pattern Component Design Pattern Putting it Together Examples

4 Confidential - Property of infiNET Solutions Our Task – The Challenge The CEO said: –“Build me on-line payment system for higher education”

5 Confidential - Property of infiNET Solutions Our Task – Business Perspective Different user roles Multiple merchants on campus Campus and department level branding Single sign-on Various client systems on campus Various business rules by institution

6 Confidential - Property of infiNET Solutions Our Task – Technology Perspective Configurable Customizable –Apply custom business rules Extendable –Use as a development platform for new functionality Scalable Secure Rapid deployment J2EE – The natural choice

7 Confidential - Property of infiNET Solutions Software Engineering Process Process is critical to a solid system –Solves the business domain problem in a cost efficient way –Addresses Architecture & Design –Addresses Testing & Quality Assurance –Allows effective and efficient contribution of team members (1+1 > 2) –Controls software life-cycle

8 Confidential - Property of infiNET Solutions Multitier Systems Overview Front-end tier –Resides on end users’ devices Middle tier –Web and application servers Back-end tier –Databases

9 Confidential - Property of infiNET Solutions MVC Design Pattern Typical MVC pattern for Web

10 Confidential - Property of infiNET Solutions MVC Design Pattern (cont’d) Problem with typical MVC Controller logic embedded in servlets –Other UI types cannot reuse controller Solution Separate controller logic from servlets and put into regular Java classes

11 Confidential - Property of infiNET Solutions MVC Design Pattern – New Architecture

12 Confidential - Property of infiNET Solutions MVC Design Pattern (cont’d) Benefits of separating controller logic from servlets –More flexible Add new interface component for the new UI –Code Mobility Controllers being regular Java classes allows you to deploy the controllers to different tiers as needed –Salable See Code Mobility

13 Confidential - Property of infiNET Solutions Component Design Pattern Component orientated architecture –Independent module that can be plugged into system Flexibility –Separation of interface from implementation Reusability –Loose coupling between components Scalability –Functionality at different layers

14 Confidential - Property of infiNET Solutions Component Design Pattern (cont’d) Business logic layer –Light weight component Light view of application data –Application of dynamic business rules Ex. Payment amount must be: –= to some value –>= or <= some value –Minimum amount –Management of session Maintain current state Flow control

15 Confidential - Property of infiNET Solutions Component Design Pattern (cont’d) User/Service delegation model –User –Service –Service factory –User factory Delegation vs. Inheritance

16 Confidential - Property of infiNET Solutions Component Design Pattern (cont’d) Application logic layer –Heavy weight component –Domain specific rules –Provides definition of relationship between interfaces

17 Confidential - Property of infiNET Solutions Component Design Pattern (cont’d) Application Programming Interface (API) –Access by name Bootstrap Mapping –Factory interface Abstract Factory Factory Method –Domain interface

18 Confidential - Property of infiNET Solutions Component Design Pattern (cont’d) Service Provider Interface (SPI) –Defines configuration format and mechanism –Defines relationship between implementation classes –Defines template method for implementation

19 Confidential - Property of infiNET Solutions Component Design Pattern (cont’d) Data Access Layer –Encapsulation of data source –Encapsulation of data access method –DAO interfaces –Value object –Data binding

20 Confidential - Property of infiNET Solutions Component Design Pattern (cont’d) Implementation –XML based configuration Dynamic instantiation Dynamic relationships Dynamic meta-data

21 Confidential - Property of infiNET Solutions Putting it Together interface PaymentService { PaymentResult postPayment(…); } interface PaymentMethodService { boolean isAddressRequired(); } interface PaymentResult extends Transaction { String getAccountNumber(); } interface CreditCardPaymentResult extends PaymentResult; interface ECheckPaymentResult extends PaymentResult;

22 Confidential - Property of infiNET Solutions Putting it Together (cont’d) interface Processor { MetaData getMetaData(); Transaction createTransaction(…); } class TransactionData { String getAccountNumber(); void setAccountNumber(String); } interface Transaction { Account getAccount(); boolean hasError(); }

23 Confidential - Property of infiNET Solutions Putting it Together (cont’d) abstract class AbstractProcessor implements Processor { concrete Transaction createTransaction(…); abstract Transaction createFrom(TransactionData); void setMetaData(MetaData); void setTransactionDAO(TransactionDAO); } class TransactionImpl implements Transaction { TransactionImpl(TransactionData, …); } interface TransactionDAO { boolean add(TransactionData); }

24 Confidential - Property of infiNET Solutions Putting it Together (cont’d) PaymentService MyPaymentService

25 Confidential - Property of infiNET Solutions Putting it Together (cont’d) ….

26 Confidential - Property of infiNET Solutions Examples University of Pittsburgh University of Michigan University of California – San Diego

27 Confidential - Property of infiNET Solutions Questions & Answers Thank You! David R. King - dking@infinet-inc.comdking@infinet-inc.com Yuhong Guo – yguo@infinet-inc.comyguo@infinet-inc.com


Download ppt "Confidential - Property of infiNET Solutions. Architecting and Designing Scalable, Multitier Systems in J2EE infiNET Solutions David R. King – Chief Technology."

Similar presentations


Ads by Google