Successful Business with Agile & Lean

Download Report

Transcript Successful Business with Agile & Lean

Java Web
Development
T-111.4360 WWW-palvelun suunnittelu
@ HUT 4.3.2008
Markus Hjort
Reaktor Innovations
Goals Tonight
 I hope you all get
 Short introduction to Java Web Development
 Understanding how Java tries to solve real world problems
within web development!
The Big Picture
Standards





Java Applets
Java Servlets
Java Server Pages (JSP)
Java Server Faces (JSF)
Java Portlets
Open Source Frameworks






Struts
WebWork
GWT (Google Web Toolkit)
Tapestry
Wicket
...
Servlet Containers (Application Servers)






Tomcat
Jetty
Bea WebLogic
IBM WebSphere
Caucho Resin
...
Typical applications
 Static web sites
 Dynamic web sites
 Web-based Products
The Challenges of Web Development*
 Web interfaces change frequently
 Web interfaces involve complex markup
 Web interfaces use a very different model
compared to traditional Uis in languages such
as Java
* Rod Johnson: J2EE Design and development
The Challenges of Web Development
 HTTP requests can carry only string
parameters
 Web interfaces make it difficult to validate
user input, as we have limited control over
over the client browser
 HTML offers a limited choice of UI controls
The Challenges of Web Development
 Ensuring that a web site looks right and works
correctly in all all common browsers can be
difficult
 There are many efficiency considerations
 Web interfaces are relatively hard to test
Lessons Learned In Java
Web Development
Epic fails
 The shortcomings of Servlet-only solutions
 “JSP Model 1” Architecture
OO is important!
Reuse
Testability
Model View Controller
(MVC)
Front Controller Pattern
 Controller uses model for business logic
 Controller forwards to view
 View shows model values
Component
Frameworks
Html Components
 Links
 Labels
 Images
 ...
 You can easily create your own custom
components
Thank you!
Links

JSP Tutorial: http://www.jsptut.com/

Wicket: http://apache.wicket.org/

MVC: http://en.wikipedia.org/wiki/Model-view-controller

JDBC (for database access):
http://java.sun.com/docs/books/tutorial/jdbc/overview/index.html