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

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

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

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