21
Markus Hjort Reaktor Innovations Java Web Development T-111.4360 WWW-palvelun suunnittelu @ HUT 4.3.2008

Markus Hjort Reaktor Innovations Java Web Development T-111.4360 suunnittelu @ HUT 4.3.2008

Embed Size (px)

Citation preview

Page 1: Markus Hjort Reaktor Innovations Java Web Development T-111.4360  suunnittelu @ HUT 4.3.2008

Markus HjortReaktor Innovations

Java WebDevelopment

T-111.4360 WWW-palvelun suunnittelu @ HUT 4.3.2008

Page 2: Markus Hjort Reaktor Innovations Java Web Development T-111.4360  suunnittelu @ HUT 4.3.2008

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!

Page 3: Markus Hjort Reaktor Innovations Java Web Development T-111.4360  suunnittelu @ HUT 4.3.2008

The Big Picture

Page 4: Markus Hjort Reaktor Innovations Java Web Development T-111.4360  suunnittelu @ HUT 4.3.2008

Standards

Java Applets Java Servlets Java Server Pages (JSP) Java Server Faces (JSF) Java Portlets

Page 5: Markus Hjort Reaktor Innovations Java Web Development T-111.4360  suunnittelu @ HUT 4.3.2008

Open Source Frameworks

Struts WebWork GWT (Google Web Toolkit) Tapestry Wicket ...

Page 6: Markus Hjort Reaktor Innovations Java Web Development T-111.4360  suunnittelu @ HUT 4.3.2008

Servlet Containers (Application Servers)

Tomcat Jetty Bea WebLogic IBM WebSphere Caucho Resin ...

Page 7: Markus Hjort Reaktor Innovations Java Web Development T-111.4360  suunnittelu @ HUT 4.3.2008

Typical applications

Static web sites Dynamic web sites Web-based Products

Page 8: Markus Hjort Reaktor Innovations Java Web Development T-111.4360  suunnittelu @ HUT 4.3.2008

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

Page 9: Markus Hjort Reaktor Innovations Java Web Development T-111.4360  suunnittelu @ HUT 4.3.2008

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

Page 10: Markus Hjort Reaktor Innovations Java Web Development T-111.4360  suunnittelu @ HUT 4.3.2008

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

Page 11: Markus Hjort Reaktor Innovations Java Web Development T-111.4360  suunnittelu @ HUT 4.3.2008

Lessons Learned In Java Web

Development

Page 12: Markus Hjort Reaktor Innovations Java Web Development T-111.4360  suunnittelu @ HUT 4.3.2008

Epic fails

The shortcomings of Servlet-only solutions “JSP Model 1” Architecture

Page 13: Markus Hjort Reaktor Innovations Java Web Development T-111.4360  suunnittelu @ HUT 4.3.2008

OO is important!

Page 14: Markus Hjort Reaktor Innovations Java Web Development T-111.4360  suunnittelu @ HUT 4.3.2008

Reuse

Page 15: Markus Hjort Reaktor Innovations Java Web Development T-111.4360  suunnittelu @ HUT 4.3.2008

Testability

Page 16: Markus Hjort Reaktor Innovations Java Web Development T-111.4360  suunnittelu @ HUT 4.3.2008

Model View Controller(MVC)

Page 17: Markus Hjort Reaktor Innovations Java Web Development T-111.4360  suunnittelu @ HUT 4.3.2008

Front Controller Pattern

Controller uses model for business logic Controller forwards to view View shows model values

Page 18: Markus Hjort Reaktor Innovations Java Web Development T-111.4360  suunnittelu @ HUT 4.3.2008

ComponentFrameworks

Page 19: Markus Hjort Reaktor Innovations Java Web Development T-111.4360  suunnittelu @ HUT 4.3.2008

Html Components

Links Labels Images ... You can easily create your own custom

components

Page 20: Markus Hjort Reaktor Innovations Java Web Development T-111.4360  suunnittelu @ HUT 4.3.2008

Thank you!

Page 21: Markus Hjort Reaktor Innovations Java Web Development T-111.4360  suunnittelu @ HUT 4.3.2008

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