Product Review
The Role of Programming, Presentation, and Database Skills in WebLogic Server Development
Digg This!
The skills needed to build an enterprise application with WLS
8.1 vary somewhat depending on what's being built. However, certain
key skills should be present on every development team. Proper
thought given to the programming, presentation, and database
development skillsets can mean the difference between successful and
problematic application deployment.
Java Skills
Java skills are, of course, the essence of WLS 8.1
development. Java skills are vastly different depending on what
you're doing. A programmer used to doing small command-line programs
in Java won't necessarily even know where to start developing an
online application using WLS.
Because of this, assembling a team to build applications
becomes more difficult. A manager cannot simply hire a Java
programmer; she must know what underlying technologies the
application will be using.
The norm in software development is to have one person wear
many hats and do multiple things. A word of caution: A developer
doing too many things at one time can directly relate to nothing
getting done on time. A division of labor and a hierarchy of Java
skills are what it takes to develop mission-critical software
quickly, efficiently, and correctly.
A Java Architect
Software solutions are only as good or as bad as their
design. A Java architect developing for WLS 8.1 must understand all
the technologies available and choose the best ones for the solution.
Most architects will use a design product to lay out the project -
first at a high level, and then at a more detailed level, showing
what technologies and classes are being used, extended, and created.
Changes will ultimately come into play as new requirements
and technical limitations are uncovered. A good Java architect will
have years of experience in software design and an excellent
understanding of not only OOP, but the J2EE architecture as well. The
architect should also be aware of the features of WLS 8.1, which will
enable him to take full advantage of its benefits. This enables
managers and architects to work together to provide the leadership
and direction for the software project.
JSPs and Servlets
Almost all applications running on WLS 8.1 will use either
JavaServer Pages (JSP) or servlets. JSPs include HTML with tags that
denote Java coding, whereas servlets are a bit more involved because
they're coded completely in Java.
JSPs are the easiest J2EE programs to write. A basic
understanding of the Java programming language and certain
J2EE-specific Web classes are all that's needed.
Another important part of writing JSPs is writing custom tag
libraries to go along with them. Tag libraries enhance the ability of
the JSP creator to create complex pages without writing any Java
within the JSP file. Tag libraries are written completely in Java and
have basic rules associated with them. Java developers should
understand how tag libraries work and how to write them.
Servlets are slightly more difficult, but not much. Different
levels of Java developers should exist here, with the more advanced
programmers leading the entry level programmers.
JDBC and SQL
A J2EE application will usually connect to a database of some
kind. This requires the use and set up of Java Database Connectivity
(JDBC). JDBC enables Java programmers to connect, create, update, and
retrieve information from databases that have JDBC drivers.
Structured Query Language (SQL) statements are formed, and data is
returned.
JDBC calls are an integral part of the J2EE framework. A
developer who works with JDBC must understand SQL and how it operates
because improperly designed SQL statements can have a huge effect on
the runtime of an application - especially when the. A developer
experienced with connecting with databases is desired here, or a
person who understands SQL is needed to properly formulate the SQL
statements for the Java programmer.
Note: Developers can always get help with database
administrators or designers when constructing SQL statements for a
program. However, understanding SQL at a high level is always
beneficial.
Beyond the Basics
The scalability of the J2EE architecture is a paramount
reason why J2EE is the platform of choice to develop on. Certain
technologies work together to give the application seamless
integration, even though it might be across different networks on
multitudes of separate platforms. The skill set needed for this type
of application requires the knowledge of some of, if not all, the
following technologies:
Enterprise JavaBeans
Container-Managed Persistence
Bean-Managed Persistence
Java Message Service
Java Transaction API and Java Transaction Service
Remote Method Invocation
Java Naming and Directory Interface
Java Management Extensions
XML Document Object Model (DOM) and Simple API for XML (SAX) parsers
XML Web Services
JCOM - Java connector for connecting to Microsoft COM components
These core technologies are advanced and are usually
performed or directed by a senior Java developer. One person is
usually not proficient in all the skills needed, but two or three
developers with overlapping skills can work together to create and
deploy these services.
Applets
Java applets are used to fill in the gaps between what HTML
can do and what regular applications can do. Applets are graphical in
nature, so they comprise a different skill set from J2EE. A J2EE
programmer won't necessarily know even where to start when building
an applet. Applets aren't used in all J2EE applications, but if
dynamically displayed information is needed without requesting it
from the server, this is a helpful skill.
Visual Presentation Skills
A picture might be worth more than 1000 words when putting
together a Web site. Even if the Web site works properly, graphical
enhancements and layouts attract new users and give a professional
appearance to the site. Depending on what's being presented, many
different skills are needed. The minimal skill set is HTML.
HTML Development
HTML development doesn't require the same technical expertise
as coding in Java, but it isn't necessarily easy. J2EE applications
have both dynamic and static pages. The dynamic pages are written in
JSP and servlet format, whereas the static pages are plain HTML.
Dynamic HTML (DHTML) is an extension of the HTML scope. Using
JavaScript, HTML objects can be manipulated to form menus, for
example. Also, cascading style sheets (CSS) files can be used in
conjunction with HTML to provide a changeable look and feel. A good
HTML developer has experience in laying out forms, working with
specific tag properties, working with DHTML, and knowledge of CSS
tags. There's a difference in how different browsers and versions of
browsers display information. A good HTML developer knows these
differences and implements browser-neutral applications.
It's also necessary to point out that senior Java developers
could have adequate skills for HTML and design, which is helpful. But
in my experience, they don't necessarily create the most attractive
sites using and watching out for any nuances the way a dedicated HTML
person would.
JavaScript
JavaScript is useful in applications by providing a method to
access form data and manipulate HTML objects. JavaScript was designed
as an easy-to-use component for HTML developers. Consequently, most
good HTML developers know this information.
GUI Design
Graphical user interface design is the key component to
application usability. Most of the time, the designs change several
times before a product is released. The actual programmers sometimes
work with the users to find the screen layouts and functionality.
This isn't always the best idea. Users are normally used to the old
way they did things, so instead of improving the process or using a
new layout that might be easier, they want exactly what they had
before.
A better choice is to use a GUI designer who understands
these concepts and components. Sometimes it's not feasible to hire
one because of budget constraints. In that case, the developers must
be trained in GUI development. Good GUI design can make or break an
application because the GUI is what the customer sees first. The
customer won't see all the work that was put into the back end of an
application, and applaud you for that design, until he can easily
learn, find, and use the application's front end.
Graphic Arts
The days of presenting green screens full of data are gone.
The presentation of data is now expected to please the senses. In a
WLS application, not only must data be created, but pictures, movies,
sounds, and other multimedia must also be created and distributed.
Engineers don't usually have the skills to create and manipulate this
art (they're too busy reading technical manuals). A graphic artist is
now becoming a must in the development of applications. The graphic
artist works with the GUI designer to create visually appealing
screens. The skill of the graphic artist obviously depends on the
applications you're building. The more visually intensive your
applications are, the better the artist must be.
Database Skills
Database skills are essential for almost any application
using WebLogic. Information must be gathered, stored, and recalled on
a moment's notice free from errors. Database specialists ensure that
the system is scalable and has good performance for the application.
This first step in this process is always database design.
Database Design
Database design encompasses knowledge of grouping related
information. This enables information to be found and queried easily.
Using certain rules such as third normal form, tables, fields,
primary keys, foreign keys, and so on can be identified. A good
database designer can make it easy for administration later on.
Note: A database designer can make the job of the entire team
easy or near impossible. This can affect the entire project
development process and even maintenance later on.
Database Development
Database developers take the design specifications and create
the database, stored procedures, and views necessary for the
application. Each database is slightly different in the features it
supports, so database developers should be chosen who usually develop
for only one database, such as Oracle or Microsoft SQL Server. This
might not be true in all cases, but it's generally true that the
larger the project, the more specialized the people.
Database Administration
Database administration is often overlooked when developing
applications, but it's a crucial aspect of all areas of an
application life cycle. Database administrators are responsible for
analyzing database use to increase performance using database views,
memory allocation, table size allocation, and stored procedures.
These performance tweaks allow WLS applications to speed up the most
time-consuming operation: waiting for data.
Summary
Programming, presentation, and database skills are important
to the design and implementation of a WLS 8.1 application. These
skills depend on the scope of project, and can be covered by a few
individuals with a wide array of knowledge or many individuals with
more specialized knowledge bases.
Excerpted from BEA WebLogic Server 8.1 Unleashed, chapter 3, by Jeff
Marin, Steve Steffen, et al.
Publication date: October 2003
ISBN: 0-672-32487-3
Sams Publishing