latest best practice

S

stixwix

Hi,

I've been away from java dev for a couple of years and don't really
know what has happened in the interim. At that time, a typical web
app would probably use struts and personally i avoided EJB completely.
So, is JSF better than struts (or would you use both?).
Has EJB become easier to understand or is it better to use Hibernate
or similar?
Has Google Web tool kit had an impact?

Thanks,
Andy
 
R

Robert Klemme

I've been away from java dev for a couple of years and don't really
know what has happened in the interim. At that time, a typical web
app would probably use struts and personally i avoided EJB completely.
So, is JSF better than struts (or would you use both?).
Has EJB become easier to understand or is it better to use Hibernate
or similar?
Has Google Web tool kit had an impact?

I can comment only partially: EJB 3.0 has made a big step forward by
allowing to include meta data via Java 5 annotations directly into the
code. Also, I believe, there is a Hibernate add on that will actually
be able to read this meta data. Generally there seems to be some
convergence going on between hibernate and EJB persistence.

HTH

robert
 
V

visionset

stixwix said:
Hi,

I've been away from java dev for a couple of years and don't really
know what has happened in the interim. At that time, a typical web
app would probably use struts and personally i avoided EJB completely.
So, is JSF better than struts (or would you use both?).
Has EJB become easier to understand or is it better to use Hibernate
or similar?
Has Google Web tool kit had an impact?

Struts2, which is an amalgamation mainly of WebWorks though also previous
Struts practices, is worth a look at, not sure it's got a final release yet,
but it can't be long.
Spring is well worth using for its own sake in your webapps, especially if
the framework already uses it.
Acegi is a great security tool and has strong community support.
Hibernate is going from strength to strength, even the .Net community use a
version of it!
Eclipse has a host of plugins that aid webdev greatly espcially
hibernate/tomcat support.
You can use Hibernate and restrict yourself to the JEE persistence API which
is a subset, to ease future EJB container migration.
HTH
 
L

Lew

For smaller applications I use neither Struts nor JSF, but just write my own
controller servlet.

It's a little bit of work, but once you've done it once it only takes a couple
of hours to put together a complete web app ever onward.

The rest of the work, writing logic or "Action" classes and the DAO layer,
etc., is the same.

For larger apps, or ones that tend to evolve feature sets or maintenance
crews, frameworks are a better choice.

In that world I would prefer JSF because it's from Sun and because the rampant
abuse of Struts 1.1 soured me on that project. I am given to understand that
JSF and Struts could actually be used together, but I know not much of it.

I am just buckling down to learn JSF.

-- Lew
 
L

Lew

visionset said:
For sure, it just doesn't cut it at interviews.

Which is a shame, because so many people get through the interview because
they can correctly explain how to set up a struts-config.xml, but then when
they get on the job they totally don't understand how Struts works, the basis
of the MVC architecture, or when to use or not use certain taglibs, and they
completely hose the project.

If I were interviewing you, I'd be much more impressed that you know how to
build a framework than that you know how to (mis)use one.

-- Lew
 
P

Patricia Shanahan

Lew said:
Which is a shame, because so many people get through the interview
because they can correctly explain how to set up a struts-config.xml,
but then when they get on the job they totally don't understand how
Struts works, the basis of the MVC architecture, or when to use or not
use certain taglibs, and they completely hose the project.

If I were interviewing you, I'd be much more impressed that you know how
to build a framework than that you know how to (mis)use one.

I'm beginning to doubt whether anyone is going to hire me after I finish
my current studies. I have a highly developed general "learn computer
concepts and apply them" skill. I can see myself having to study the
currently fashionable acronyms just to get to an interview.

Patricia
 
?

=?ISO-8859-1?Q?Arne_Vajh=F8j?=

stixwix said:
I've been away from java dev for a couple of years and don't really
know what has happened in the interim. At that time, a typical web
app would probably use struts and personally i avoided EJB completely.
So, is JSF better than struts (or would you use both?).

I would go for JSF. Preferrable a JSF implementation with AJAX
support.
Has EJB become easier to understand or is it better to use Hibernate
or similar?

Is it best to use hammer or paint ? It depends a lot on what you
want to do. Hibernate is not a replacement for EJB's. Hibernate
is a replacement for entity beans. You may still need session beans
and message driven beans if you need that functionality. With EJB 3.0
(but note that the EJB 3 standard is not that widely used yet) the
difference between entity bean and Hibernate is much smaller
than it was.

The Spring framework is also rather hot. It is often combined
with Hibernate. But can also be combined with EJB's.
Has Google Web tool kit had an impact?

I do not know. I though GWT was Java code being compiled
to JavaScript to be executed client side.

Arne
 
?

=?ISO-8859-1?Q?Arne_Vajh=F8j?=

Robert said:
I can comment only partially: EJB 3.0 has made a big step forward by
allowing to include meta data via Java 5 annotations directly into the
code.

A minority (including me) does not see that as a step forward ...

Arne
 
A

alexandre_paterson

Hi,

I've been away from java dev for a couple of years and don't really
know what has happened in the interim.

Depends on what you're looking at but Spring took a part of
the Java world by storm and has lots of momentum.

Not everybody uses it, but it may interest you:

http://www.springfamework.org (it's entirely Open Source Software)

Spring now has some very interesting real-world
success stories.

At that time, a typical web app would probably use struts and
personally i avoided EJB completely.
So, is JSF better than struts (or would you use both?).

I'd use Spring. Spring projects continues to avoid EJB.

You can use struts + Spring (Spring is much more than struts) but
Spring's design is so much cleaner that, for a new project,
I wouldn't bother with struts at all.

Has Google Web tool kit had an impact?

This is another topic: it is gaining some traction but
apparently not *that* much of an impact yet.

If you're writing a Java Webapp and need some JavaScript
on the client's browser, then GWT can be really useful: you
write in Java and you've got JavaScript automagically generated.
GWT fixes many JavaScript-related caching *bugs* (not just nasty
caching issues, but also browser bugs etc.) and offers you
safer type checking than plain JavaScript, a nice API, etc.
 
O

Oliver Wong

Lew said:
Which is a shame, because so many people get through the interview
because they can correctly explain how to set up a struts-config.xml,
but then when they get on the job they totally don't understand how
Struts works, the basis of the MVC architecture, or when to use or not
use certain taglibs, and they completely hose the project.

If I were interviewing you, I'd be much more impressed that you know how
to build a framework than that you know how to (mis)use one.

On the other hand, there are strategic hires (e.g. "Is this person a
generally good programmer? It doesn't matter what specific technologies
they are familiar with, as a good programmer will be able to pick up new
technologies relatively quickly.") and there are tactical hires (e.g.
"We're 6 months behind schedule. We need someone who knows how to work
with FooBar right now. We need them to use FooBar the same way our 20
other developers use FooBar, which is the same way everyone else uses
FooBar. We do NOT need a different (or custom) framework to replace
FooBar, even if it this different framework is faster, better, stronger.
We don't need someone smart, we just need someone who will do what they're
told, with little to no supervision/overhead. So do you know how to edit a
FooBar-conf.xml file?")

- Oliver
 
B

blmblm

I'm beginning to doubt whether anyone is going to hire me after I finish
my current studies. I have a highly developed general "learn computer
concepts and apply them" skill. I can see myself having to study the
currently fashionable acronyms just to get to an interview.

Well .... Take my comments with a huge grain of salt, because most
of what I know about getting industry jobs with an advanced degree
is second-hand at best. (I'm in academia.) With that disclaimer:

What degree are you pursuing, and what kind of job are you thinking
of applying for? If it's a master's, and you're thinking of
a job focusing more on development, then your concerns might be
well founded. But if it's a PhD, and you're thinking of something
more research-oriented, I'm not sure familiarity with the current
crop of buzzwords will matter so much.

(And -- have you thought at all about an academic job? Based on
your track record in this group, you seem pretty good at explaining
things, and patient with newbie questions, which would be huge
assets in a job that emphasizes teaching.)
 
L

Lew

Oliver said:
On the other hand, there are strategic hires (e.g. "Is this person a
generally good programmer? It doesn't matter what specific technologies
they are familiar with, as a good programmer will be able to pick up new
technologies relatively quickly.") and there are tactical hires (e.g.
"We're 6 months behind schedule. We need someone who knows how to work
with FooBar right now. We need them to use FooBar the same way our 20
other developers use FooBar, which is the same way everyone else uses
FooBar. We do NOT need a different (or custom) framework to replace
FooBar, even if it this different framework is faster, better, stronger.
We don't need someone smart, we just need someone who will do what they're
told, with little to no supervision/overhead. So do you know how to edit a
FooBar-conf.xml file?")

Such "tactical" hiring can be very shortsighted. For example, in my own
experience I have seen that people who understand the Front Controller pattern
can use Struts quite well, but those who don't make a complete hash of things.
A hiring manager would be well advised to make sure that the programmers they
hire * actually know how to program * .

Too many collecting paychecks for as programmers have too little talent or
knowledge for the activity and too much ego or laziness to admit it.
 
F

frustratedprogrammer

Hi,

I've been away from java dev for a couple of years and don't really
know what has happened in the interim. At that time, a typical web
app would probably use struts and personally i avoided EJB completely.
So, is JSF better than struts (or would you use both?).
Has EJB become easier to understand or is it better to use Hibernate
or similar?
Has Google Web tool kit had an impact?

Thanks,
Andy


In summary there is now more choice, but at the same time less
agreement over the best frameworks to use:)

There has also been some level of recognition (by some but not all)
that there are alternatives to EJBs for enterprise development.
 
W

Wojtek

Oliver Wong wrote :
On the other hand, there are strategic hires (e.g. "Is this person a
generally good programmer? It doesn't matter what specific technologies they
are familiar with, as a good programmer will be able to pick up new
technologies relatively quickly.")

Yes, except that this person will NEVER make it through the inital HR
sweep.

"Ok, you do not know Java 1.2.3.4? We ONLY use THAT verison here...."

Typically the HR droid has gone thought the development managers and
asked them what specific technologiess they are using or have ever
used. That becomes the basis for the job ad and the initial filter
criteria for all the responses
 
C

Chris Uppal

Wojtek said:
Yes, except that this person will NEVER make it through the inital HR
sweep.

"Ok, you do not know Java 1.2.3.4? We ONLY use THAT verison here...."

Typically the HR droid has gone thought the development managers and
asked them what specific technologiess they are using or have ever
used. That becomes the basis for the job ad and the initial filter
criteria for all the responses

I agree that this happens, but I wonder how much of the blame for this lies in
ourselves. We -- obviously -- cannot expect HR folk to make sensible decisions
on real technical matters, so the only filters they can apply are the ones we
ourselves suggest. And if we don't tell them things like (for instance):

Java is the underlying stuff -- they have to know that well, but it doesn't
matter much how/where/when they learned it.

Web servers are an application of Java, and not everyone who knows Java
well will have done anything with web servers. We'd prefer someone who
has at least /some/ experience of web servers, but it doesn't matter much
whether they gained it with any of the following:
XXX, YYY, ZZZ...
or even if they worked with a non-Java webserver such as:
AAA, BBB, CCC.

Experience of web-page design, DreamWeaver, PHP, or Flash, is not
relevant.

Ideally, we want the person to have experience of the specific web-server
called JBoss, but that isn't as important as the other two.

then how can they be expected to help ? FWIW, the small experience I have
suggests that HR people prefer to be given more sensible information about what
we are looking for.

-- chris
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top