22
How to Choose How to Choose A Web Application A Web Application Framework Framework Sang Shin, [email protected] Sang Shin, [email protected] Java Technology Architect Java Technology Architect www.javapassion.com www.javapassion.com Sun Microsystems, Inc. Sun Microsystems, Inc. 1

How to ChoosHow to Choose A Web Application Framework

Embed Size (px)

Citation preview

Page 1: How to ChoosHow to Choose A Web Application Framework

How to ChooseHow to ChooseA Web Application A Web Application FrameworkFramework

Sang Shin, [email protected] Shin, [email protected] Technology ArchitectJava Technology Architectwww.javapassion.comwww.javapassion.comSun Microsystems, Inc.Sun Microsystems, Inc.

1

Page 2: How to ChoosHow to Choose A Web Application Framework

2

Factors to consider• Technical features of the framework• Types of application, Types of framework> Request-based (Action-based) or UI-Component based framework

• Ease of development• Ease of testing• Tool support• POJO based• Dependency Injection support• Community and vendor support• Standard-based or not• Maturity and real-life usage cases

Page 3: How to ChoosHow to Choose A Web Application Framework

3

Features of theFeatures of theFrameworkFramework

Page 4: How to ChoosHow to Choose A Web Application Framework

4

Technical Features• Dispatching• Navigation (page selection)• Tag support • Conversion (conversion of String to model data types)• Usage of HTML designer • Validation framework (client & server)• View technologies (JSP, Velocity, PDF, etc.)• Extensibility• Conversational scope support• Template and Tiles support• Ajax support• Internationalization

Page 5: How to ChoosHow to Choose A Web Application Framework

5

Types of Apps &Types of Apps &Types of FrameworksTypes of Frameworks

Page 6: How to ChoosHow to Choose A Web Application Framework

6

Types of Applications• Internet facing, large number of clients, high-traffic> Yahoo, Amazon.com, Company's public website

• Intranet, small number of clients> Employee website

Page 7: How to ChoosHow to Choose A Web Application Framework

7

Types of Web App. Frameworks• Request based frameworks> Struts 1, Struts 2, Spring MVC

• UI-Component based framework> JSF, Tapestry

Page 8: How to ChoosHow to Choose A Web Application Framework

8

Types of Applications• Internet facing, large number of clients, high-traffic> Request-based framework (Struts 2, Spring MVC)

• Intranet, small number of clients> UI-Component based framework (JSF)

Page 9: How to ChoosHow to Choose A Web Application Framework

9

Ease of Development,Ease of Development,Ease of Testing & Ease of Testing & Debugging & Profiling,Debugging & Profiling,Tool SupportTool Support

Page 10: How to ChoosHow to Choose A Web Application Framework

10

Ease of development• Does the framework support hot deployment?> Will save development time

• Convention of configuration> No need to specify common default values> Configuration required only when non-default values are

used

Page 11: How to ChoosHow to Choose A Web Application Framework

11

Ease of testing, debugging, profiling• Does the framework support unit-testing and

integration testing?> Tool support

• Is profiling possible with the framework?

Page 12: How to ChoosHow to Choose A Web Application Framework

12

POJO Based?POJO Based?Dependency Injection?Dependency Injection?

Page 13: How to ChoosHow to Choose A Web Application Framework

13

POJO based?• Business logic can be captured in the form of POJO> You don't have to extends or implement framework

specific class or interfaces?> You can test the business logic without the presence of

the framework> You can use different framework in the future with

minimal disruption

Page 14: How to ChoosHow to Choose A Web Application Framework

14

Dependency Injection Support?• Ease of development• Ease of testing

Page 15: How to ChoosHow to Choose A Web Application Framework

15

Community Support,Community Support,Standard or notStandard or not

Page 16: How to ChoosHow to Choose A Web Application Framework

16

Community Support• Is the community big enough, active enough to help

me?> Active discussion?

• Is the community working actively for the evolution of the framework?> Frequent release

Page 17: How to ChoosHow to Choose A Web Application Framework

17

Standard or not?• No vendor lock-in• Future enhancement

Page 18: How to ChoosHow to Choose A Web Application Framework

18

Maturity &Maturity &Real-life Usage CasesReal-life Usage Cases

Page 19: How to ChoosHow to Choose A Web Application Framework

19

Maturity • Has it proven in the market place?• Do production environments use it?

Page 20: How to ChoosHow to Choose A Web Application Framework

20

So... Which One?So... Which One?

Page 21: How to ChoosHow to Choose A Web Application Framework

21

My Recommendation • Choose JSF if you are not sure> It is a standard> All vendors support it> Mature and proven in the market place> Many tools

Page 22: How to ChoosHow to Choose A Web Application Framework

How to ChooseHow to ChooseA Web Application A Web Application FrameworkFramework

Sang Shin, [email protected] Shin, [email protected] Technology ArchitectJava Technology Architectwww.javapassion.comwww.javapassion.comSun Microsystems, Inc.Sun Microsystems, Inc.

22