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