You've underscored one of the most compelling aspects of an MVC
architecture. The inherent separation of concerns allows teams to be formed
where members have differing skill sets and yet the architecture helps to
define roles and responsibilities. At the most cursory level, it sounds like
you're in a situation where you can have your Web designers focus on the "V"
and your Java developers can focus on the "M" and the "C".

I've worked on a few different Struts-based web apps at different
organizations and found in my experience that the Java developers working on
these apps tend to have much further reach into (responsibility for) the
presentation tier than they might like. Even on projects where there are
dedicated "Web Designers" those people tend to focus on producing graphics
and layout mock ups. Even in cases where these designers have been
responsible for producing HTML/CSS for their designs, that markup usually
has to be refined by a "Coder". In my experience, familiarity and competence
with HTML, CSS, JavaScript, tag libraries, JSTL and similar technologies are
pretty indispensable to a valuable Struts developer. Some may say that this
is a result of us not being able to hire the right kind of Web designers to
these teams - and I certainly wouldn't argue with that position. In my
experience it's not an easy hiring task.

If you've got a number of "Web Designers" who can produce good markup and
know CSS and JavaScript, then they are obviously well suited to take
responsibility for the bulk of the presentation tier. Make it a point to
encourage them to learn and use JSTL. Keep in mind that it still requires a
fair amount of coordination between the Web designers and the Java
developers who are writing Struts Actions (to coordinate on the data that
the Actions are going to expose to the presentation tier). Another big win
in this kind of environment can come from recognizing patterns in your
presentation tier and encapsulating more complex logic in your own tag
libraries.

In my experience, even Java developers who have HTML/CSS/JavaScript skills
are happiest when they're focused on Java code. I've never worked on a
Struts project where the Java developers wouldn't welcome to the team at
least one more competent Web designer at any given moment to allow them to
focus more attention on what they tend to like best.

-Kelly

P.S. I take issue with Leon's comment in this thread regarding Hibernate's
performance. I work on an app that has very intense requirements for
database IO (lots of data going in and out) and even though we've rolled our
own persistence layer framework (for reasons other than performance),
Hibernate is very comparable in performance benchmarks. Hibernate has many
advanced features for performance tuning that most users don't understand or
use. In fact, in rolling our own persistence layer, we've borrowed a lot
from Hibernate and would probably be using it if we could. For the vast
majority of web apps, Hibernate or a similar persistence layer framework is
a huge win and shouldn't be discouraged.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to