Web Development with JavaServer Pages
Achieving division of labor
An important side effect of this decoupling of presentation and
implementation
through JSP is that it promotes a clear division of labor in the
development and
maintenance of web applications for dynamic content generation. It is
the rare individual
indeed who possesses outstanding skills in both programming and
artistic
design. Although many companies try, rarely are they fortunate enough
to find a
first class web designer who also possesses strong Java development
skills or the corollary,
a true Java guru with strong graphics and layout skills.
As a result, most web application development teams are
cross-functional in
nature, representing multiple specialties. Designers, graphic
artists, and HTML codgers
are responsible for the presentation. Java programmers and system
architects are
responsible for the implementation. Large corporate teams may also
include editors,
marketing consultants, database administrators, network engineers,
and system
administrators. All of the team members have important contributions
to make to
the focus, design, and content of the web application, but when it
comes time for
actual implementation, efficiency will be a direct result of the
extent to which the
participants are able to work independently. When a clear division of
labor can be
put in place, such that the need to coordinate work between team
members is
minimized, work on multiple parts of the implementation can be
carried out simultaneously.
Studies have repeatedly shown that communication is the major
bottle-neck
in team productivity; if communication needs can be reduced during
the
critical implementation phase, the productivity rewards can be
great.
Similarly, when changes to the application are required after initial
development,
the fewer team members that need to be involved in order to effect
that change, the
more quickly the modification can be put in place. For example, an
important concern
for an on-line service provider is the usability of their web site:
Is content easy
to find? Are services easy to use? Usability, then, is critical to
customer satisfaction
and retention. In the interest of usability, the presentation aspects
of a web application
may undergo almost constant review and revision. The implementation
of the
business and programming logic behind the application, however, tends
to evolve
much more slowly.
If the team members responsible for these two elements of the
application can
work independently, then, both the initial development and later
refinements can
be carried out more efficiently. As described above, JSP's support
for component-centric
design promotes the establishment of clear interfaces for accessing
the functionality
of server-side objects implemented as JavaBeans. The HTML-like tags
provided
by JavaServer Pages for accessing JavaBeans can then take advantage
of these
interfaces to achieve (and enforce) separation of presentation and
implementation.
In practical terms, this means that page designers can focus on HTML
and application
engineers can focus on Java. The team as a whole develops the
requirements
that drive the web application's design. The programmers then
translate these
requirements into a set of properties and behaviors to be implemented
as Java-Beans.
These properties and behaviors then provide the foundation for
dynamic
content generation to be leveraged by the presentation team via
JavaServer Pages.
And, once this foundation is established, both teams can work
independently to
refine their contributions to the application- e. g., enhancing
the look and feel of
the application, or increasing its run-time efficiency- without
negatively impacting
the performance of the other team.
Stop by next week for the next installment!
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.