Upload
elliando-dias
View
1.934
Download
1
Tags:
Embed Size (px)
Citation preview
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
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
3
Features of theFeatures of theFrameworkFramework
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
5
Types of Apps &Types of Apps &Types of FrameworksTypes of Frameworks
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
7
Types of Web App. Frameworks• Request based frameworks> Struts 1, Struts 2, Spring MVC
• UI-Component based framework> JSF, Tapestry
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)
9
Ease of Development,Ease of Development,Ease of Testing & Ease of Testing & Debugging & Profiling,Debugging & Profiling,Tool SupportTool Support
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
11
Ease of testing, debugging, profiling• Does the framework support unit-testing and
integration testing?> Tool support
• Is profiling possible with the framework?
12
POJO Based?POJO Based?Dependency Injection?Dependency Injection?
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
14
Dependency Injection Support?• Ease of development• Ease of testing
15
Community Support,Community Support,Standard or notStandard or not
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
17
Standard or not?• No vendor lock-in• Future enhancement
18
Maturity &Maturity &Real-life Usage CasesReal-life Usage Cases
19
Maturity • Has it proven in the market place?• Do production environments use it?
20
So... Which One?So... Which One?
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
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