Transcript Note

OOSSE - OO Review
Review session




A review of other OO technologies and may be
useful for exam (not required for assignment)
OO web development philosophy
JSP and OO
MVC models review




Struts
Tag libaries
Ajax
Summary
Source: [email protected]
Slide 1
OOSSE - OO Review
OO Software Engineering
By now you have experienced
UML
JSP
Let us review the OO tenets (beliefs,
principles) and how JSP reflects these tenets
What are the tenets of OO?
Version 1.1 Dec 2008
Source: [email protected]
Slide 2
OOSSE - OO Review
UML for web development
Can we also reflect on this?
How does UML help in web development
What diagrams have been useful?
What else is available from UML?
Answer: Web Application Extensions (WAE)
A set of UML modelling aspects designed to help
the web developer model web applications
Reading here
Version 1.1 Dec 2008
Source: [email protected]
Slide 3
OOSSE - OO Review
JSP engine reviewed
The JSP engine builds a servlet.
The HTML portions of the JavaServer Page
become Strings transmitted to print methods of
a PrintWriter object.
The JSP tag portions result in calls to methods
of the appropriate class whose output is
translated into more calls to a println method to
place the result in the HTML document.
Version 1.1 Dec 2008
Source: [email protected]
Slide 4
OOSSE - OO Review
JSP engine reviewed
JSP actually supports real Java code, not a
new scripting language.
Java code inside JSP is added to methods of a
Java Servlet that are generated the first time
the JSP is requested.
Uses set of pre-established objects by the Web
server that they use to generate a dynamic
Web page.
Version 1.1 Dec 2008
Source: [email protected]
Slide 5
OOSSE - OO Review
OO web development philosophy
 Web development...
 A collection of individual objects, that act on each other
 Different from traditional view in which a program may be seen
as a collection of actions, or simply as a list of instructions
 Objects capable of receiving messages, processing
data, and sending messages to other objects
 New object that inherits features from existing objects
 What we are seeing is a move from scripting/HTML
websites to a more OO philosophy
Version 1.1 Dec 2008
Source: [email protected]
Slide 6
OOSSE - OO Review
JSP Model 1 architecture
JSPs to handle HTTP requests
Data layer via Java Beans
For small web applications this model is okay
but more complex commercial applications a
different model is required – Model 2
Version 1.1 Dec 2008
Source: [email protected]
Slide 7
OOSSE - OO Review
Version 1.1 Dec 2008
Source: [email protected]
Slide 8
OOSSE - OO Review
JSP Model 2 architecture
Also called Web Model-View-Controller (MVC)
design see next slide
Separates the GUI from the business layer
Uses a Java Servlet to receive the HTTP
requests from the browser and communicate
with the model layer
JSPs only used for presentation – the Servlet
determines which view to send back to the
client
Version 1.1 Dec 2008
Source: [email protected]
Slide 9
OOSSE - OO Review
Version 1.1 Dec 2008
Source: [email protected]
Slide 10
OOSSE - OO Review
Servlets - “nuts and bolts”
 The Servlet class extends the HttpServlet class
 Essentially this means it can use the attributes/methods of this
class
 The HttpServlet class has a number of methods
 an init( ) method - used for connecting to databases dsn’s
 it has service method e.g. doGet, doPost, doPut and doDelete
 the above methods are the “meat” of the HttpServlet class
 It uses two objects, namely HttpServlet Request and
HttpServlet Response
 Here is an example of the MVC approach <link>
Version 1.1 Dec 2008
Source: [email protected]
Slide 11
OOSSE - OO Review
Other technology - Apache Struts
Interesting web architecture framework
http://struts.apache.org/
Designed to handle requests made by the client or
by web browsers
Apache struts is an open source framework
using servlet and JSP
See next slide for picture of struts
Version 1.1 Dec 2008
Source: [email protected]
Slide 12
OOSSE - OO Review
Version 1.1 Dec 2008
Source: [email protected]
Slide 13
OOSSE - OO Review
Other technology - Tag Libaries
Custom tags are dynamic page elements.
This means they can provide functionality to a
webpage using a syntax similar to normal
HTML tags.
The functionality is up to you…
They can provide an alternative (or an
additional) mechanism to JavaBeans for
dynamic scripting
As an example see this link <JSP Controls>
Version 1.1 Dec 2008
Source: [email protected]
Slide 14
OOSSE - OO Review
What do you need?
There are two components to a tag:
A Java tag handler class that implements the tag’s
functionality.
A Tag Library Descriptor (TLD) in the form of an
XML file describing the tag.
By including this tag on a JSP page you have
access to its functionality.
Version 1.1 Dec 2008
Source: [email protected]
Slide 15
OOSSE - OO Review
Java handler class
Yes, you have to code the functionality in Java.
So why bother? Why not just create a
JavaBean instead?
For standard webpage scripters, tags are more
familiar and provide a simpler mechanism.
For web application developers, JavaBeans
integrate more fully with the full application
environment so are more powerful.
Your choice….
Version 1.1 Dec 2008
Source: [email protected]
Slide 16
OOSSE - OO Review
Tag Library Descriptor
A TLD is a (fairly) simple XML file that
describes a set of custom tags.
You can put as many or as few custom tags in
a TLD and more than one TLD can be used in
a single project.
In principle, you could create many useful tags
and zip them into one .jar file for easy
resusability.
Version 1.1 Dec 2008
Source: [email protected]
Slide 20
OOSSE - OO Review
Other technology - Ajax
AJAX, shorthand for Asynchronous JavaScript
and XML
exchanging small amounts of data with the
server behind the scenes
Speeds up web interaction
Version 1.1 Dec 2008
Source: [email protected]
Slide 30
OOSSE - OO Review
Version 1.1 Dec 2008
Source: [email protected]
Slide 31
OOSSE - OO Review
Summary
Doing development in an OO style is beneficial
even if the software being used is not directly
OO
For the enterprise level OO is evident in the
selection of technologies mentioned
Version 1.1 Dec 2008
Source: [email protected]
Slide 32