| By Steve Steffen | Article Rating: |
|
| September 10, 2003 01:56 PM EDT | Reads: |
13,203 |
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:
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
Published September 10, 2003 Reads 13,203
Copyright © 2003 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
- Oracle To Keynote Cloud Computing Expo
- The Economics of Cloud Computing Analyzed
- The Difference Between Web Hosting and Cloud Computing
- GovIT Expo Highlights Cloud Computing
- Cloud Computing Best Practices
- Gang of Four Creates Cloud BI Stack
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- Citrix Aims To Cripple VMware’s Cloud Designs
- Product Evaluation: JBoss TCO Calculator
- Platform as a Service Journal Launched on Ulitzer
- An Introduction to Abbot
- Oracle To Keynote Cloud Computing Expo
- Will Ulitzer Dominate News Content on The Web? -Gartner
- REA Is Where RIA Becomes the Norm
- The Economics of Cloud Computing Analyzed
- Software AG Named "Gold Sponsor" of SOA World Conference & Expo 2009 East
- The Difference Between Web Hosting and Cloud Computing
- GovIT Expo Highlights Cloud Computing
- Cloud Computing Best Practices
- Gang of Four Creates Cloud BI Stack
- Java vs C++ "Shootout" Revisited
- Where Are RIA Technologies Headed in 2008?
- Configuring Eclipse for Remote Debugging a WebLogic Java Application
- Migrating a JBoss EJB Application to WebLogic
- XA Transactions
- An Introduction to Abbot
- WebLogic Tutorial: "Integrating Apache Poi in WebLogic Server"
- Eclipse "Pollinate" Project to Integrate with Apache Beehive
- Failover and Recovery of Enterprise Applications - Part 1
- Cover Story: A Practical Solution to Internationalization of a J2EE Web App



































