What's your gut feeling for getting up and running on a struts-based
project? Hell-on-earth, or merely just painful?
--
>> Sponsor Me! <<
54 miles from London 2 Brighton
http://www.bhf.org.uk/sponsor/jay
Jay Caines-Gooby
j...@gooby.org
+44 (0)7956 182625
skype:jaygooby
http://snipperoo.com
http://blog.snipperoo.com
http://payperwidget.com - widget distribution marketplace
--
BNM Social - http://upcoming.yahoo.com/event/190648
BNM Subscribe/Unsubscribe: http://lists.wessexnetworks.com/cgi-bin/mailman/options/bnmlist/
BNM info/archives:
http://www.brightonnewmedia.org/
BNM archive search:
http://www.roddis.org/bnm/search.php
BNM powered by Wessex Networks:
http://www.wessexnetworks.com
I think it depends how much of it you use.
We only really use the templating side of it - and I think we are way out of
date - but it suits our purposes and that was really easy to get it to.
I think the more complex URL rewriting stuff can be complex to grasp
initially, but like anything once you do it enough you get the hang of it.
I hear Java Server faces is another kettle of fish though...
Regards
- Alan
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.467 / Virus Database: 269.7.6/813 - Release Date: 20/05/2007
07:54
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.467 / Virus Database: 269.7.6/813 - Release Date: 20/05/2007
07:54
Forget struts, it's obsolete and outdated. If you're going to use Java,
and make a quality, enterprise standard app, use Spring MVC.
If speed is of the essence, use Rails. The two aren't really comparable
as they are for totally different purposes (One is scalability and
enterprise quality code, one is for fast creation of webapps which
generally have a short lifespan).
And struts is painful. End of story!
Antony Jones
Developer
Gamesys Limited
e: ant...@gamesys.co.uk
t: 0207 478 8103
a: 1st Floor, 54-62 Regent Street, LONDON, W1B 5RE
Save trees and protect the environment - think before you print this
email!
Yep we use JSF for the frontend. Struts is your MVC though. Tapestry is
another cup of beef.
Antony Jones
Developer
Gamesys Limited
e: ant...@gamesys.co.uk
t: 0207 478 8103
a: 1st Floor, 54-62 Regent Street, LONDON, W1B 5RE
Save trees and protect the environment - think before you print this
email!
> -----Original Message-----
> From: bnmlist...@brightonnewmedia.org [mailto:bnmlist-
> bou...@brightonnewmedia.org] On Behalf Of Alan Newman
> Sent: 21 May 2007 16:51
> To: 'Brighton New Media'
> Subject: Re: [BNM] Struts vs. Rails
>
> Hi,
>
> I think it depends how much of it you use.
>
> We only really use the templating side of it - and I think we are way
out
> of
> date - but it suits our purposes and that was really easy to get it
to.
>
> I think the more complex URL rewriting stuff can be complex to grasp
> initially, but like anything once you do it enough you get the hang of
it.
>
> I hear Java Server faces is another kettle of fish though...
>
> Regards
>
> - Alan
>
>
>
> -----Original Message-----
> From: bnmlist...@brightonnewmedia.org
> [mailto:bnmlist...@brightonnewmedia.org] On Behalf Of Jay Caines-
> Gooby
> http://lists.wessexnetworks.com/cgi-bin/mailman/options/bnmlist/
> BNM info/archives:
> http://www.brightonnewmedia.org/
>
> BNM archive search:
> http://www.roddis.org/bnm/search.php
>
> BNM powered by Wessex Networks:
> http://www.wessexnetworks.com
>
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.5.467 / Virus Database: 269.7.6/813 - Release Date:
20/05/2007
> 07:54
>
>
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.5.467 / Virus Database: 269.7.6/813 - Release Date:
20/05/2007
> 07:54
>
>
Antony Jones
Developer
Gamesys Limited
e: ant...@gamesys.co.uk
t: 0207 478 8103
a: 1st Floor, 54-62 Regent Street, LONDON, W1B 5RE
Save trees and protect the environment - think before you print this
email!
> -----Original Message-----
> From: bnmlist...@brightonnewmedia.org [mailto:bnmlist-
> bou...@brightonnewmedia.org] On Behalf Of Antony Jones
> Sent: 21 May 2007 17:35
> To: Brighton New Media
> Subject: Re: [BNM] Struts vs. Rails
>
> > What's your gut feeling for getting up and running on a struts-based
> > project? Hell-on-earth, or merely just painful?
>
> Forget struts, it's obsolete and outdated. If you're going to use
Java,
> and make a quality, enterprise standard app, use Spring MVC.
>
> If speed is of the essence, use Rails. The two aren't really
comparable
> as they are for totally different purposes (One is scalability and
> enterprise quality code, one is for fast creation of webapps which
> generally have a short lifespan).
>
> And struts is painful. End of story!
>
>> What's your gut feeling for getting up and running on a struts-based
>> project? Hell-on-earth, or merely just painful?
>
> Forget struts, it's obsolete and outdated. If you're going to use
> Java,
> and make a quality, enterprise standard app, use Spring MVC.
You won't want do Struts 1 once you've messed about with WebWork.
But as luck would have it Struts 2 is WebWork plus the Struts
branding, so actually not too shabby. http://struts.apache.org/2.x/
docs/tutorials.html
On 21 May 2007, at 16:47, Jay Caines-Gooby wrote:
> I haven't done any Java for *ages* (>8 years). I have been Rails-ing
> for the last year.
In which case, Jez's note about Grails is probably the thing to do.
Although, Ruby, Rails and Java play nicely together if you're running
on the JRuby implementation.
BTW, there's also a very quiet Sussex Java User Group mailing list:
https://sussexjug.dev.java.net/ -- not sure who's on it.
Richard
> > Forget struts, it's obsolete and outdated. If you're going to use
> > Java,
> > and make a quality, enterprise standard app, use Spring MVC.
It sounds like struts is the defacto option, baecause that's what the
client has built things on in the past.
> http://struts.apache.org/2.x/docs/tutorials.html
I'll take a look.
> On 21 May 2007, at 16:47, Jay Caines-Gooby wrote:
> > I haven't done any Java for *ages* (>8 years). I have been Rails-ing
> > for the last year.
>
> In which case, Jez's note about Grails is probably the thing to do.
> Although, Ruby, Rails and Java play nicely together if you're running
> on the JRuby implementation.
Yep, Grails would seem like the simplest Rails -> Java transition.
> BTW, there's also a very quiet Sussex Java User Group mailing list:
> https://sussexjug.dev.java.net/ -- not sure who's on it.
Thanks all.
I'll see how far I can get...
--
>> Sponsor Me! <<
54 miles from London 2 Brighton
http://www.bhf.org.uk/sponsor/jay
Jay Caines-Gooby
j...@gooby.org
+44 (0)7956 182625
skype:jaygooby
http://snipperoo.com
http://blog.snipperoo.com
http://payperwidget.com - widget distribution marketplace
How efficient (performance wise) is Spring MVC out interest?
The stuff we tend to do is mostly very performance restrained - in that we
need to get trades/bids through the system quickly and have for those types
of financial apps gone down the bespoke route.
However for the CMS and eComemrce work it might make sense to have a look
Spring. I am however often wary of frameworks and like to work closer to the
metal and with code that we know we have full control over.
I would be interested in people's opinions on this...
Cheers
- Alan
-----Original Message-----
From: bnmlist...@brightonnewmedia.org
[mailto:bnmlist...@brightonnewmedia.org] On Behalf Of Jay Caines-Gooby
Sent: 22 May 2007 09:35
To: Brighton New Media
Subject: Re: [BNM] Struts vs. Rails
> http://struts.apache.org/2.x/docs/tutorials.html
Thanks all.
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.467 / Virus Database: 269.7.6/813 - Release Date: 20/05/2007
07:54
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.467 / Virus Database: 269.7.6/814 - Release Date: 21/05/2007
14:01
Without reading in depth about Struts 2, I don't know whether this is
still a problem, but my main complaint about Struts 1 is that it is
heavily tied in to the webapp you're building.
Spring MVC on the other hand is not, and your project creates no
reliance on Spring at all - it's completely abstracted and is simply
string, tying the parts of your project together.
IoC is invaluable, and I don't see why you'd start any J2EE project
today which doesn't use IoC/AOP. (Inversion of Control/Aspect oriented
Programming)
Now maybe Struts 2 solves, that, maybe it doesn't. Does anyone know?
Antony Jones
Developer
Gamesys Limited
e: ant...@gamesys.co.uk
t: 0207 478 8103
a: 1st Floor, 54-62 Regent Street, LONDON, W1B 5RE
Save trees and protect the environment - think before you print this
email!
> -----Original Message-----
> From: bnmlist...@brightonnewmedia.org [mailto:bnmlist-
> bou...@brightonnewmedia.org] On Behalf Of Richard Dallaway
> Sent: 22 May 2007 08:54
> To: Brighton New Media
> Subject: Re: [BNM] Struts vs. Rails
>
>
> On 21 May 2007, at 17:34, Antony Jones wrote:
>
> >> What's your gut feeling for getting up and running on a
struts-based
> >> project? Hell-on-earth, or merely just painful?
> >
> > Forget struts, it's obsolete and outdated. If you're going to use
> > Java,
> > and make a quality, enterprise standard app, use Spring MVC.
>
> You won't want do Struts 1 once you've messed about with WebWork.
> But as luck would have it Struts 2 is WebWork plus the Struts
> branding, so actually not too shabby. http://struts.apache.org/2.x/
> docs/tutorials.html
>
> On 21 May 2007, at 16:47, Jay Caines-Gooby wrote:
> > I haven't done any Java for *ages* (>8 years). I have been Rails-ing
> > for the last year.
>
> In which case, Jez's note about Grails is probably the thing to do.
> Although, Ruby, Rails and Java play nicely together if you're running
> on the JRuby implementation.
>
> BTW, there's also a very quiet Sussex Java User Group mailing list:
> https://sussexjug.dev.java.net/ -- not sure who's on it.
>
> Richard
Spring, to the extent that it can be performant, is very performant,
because it is a new(ish) framework, which is based on rectifying the
mistakes of J2EE frameworks in the past.
However Spring is made up of loads of individual components, which can
be used individually, depending on your needs. Most of them are simply
abstraction layers on top of existing technologies, for instance, we're
about to start using Spring Cache, which simply delegates down to JBoss
Cache (our choice of Caching provider), and upon loading a class,
intercepts the persistence layer to check if an already cached object
exists in memory. As you can imagine, this is a very efficient way of
caching, and yet doesn't try to reinvent the wheel by using its own
caching engine.
Spring is essentially glue which binds proven technologies together and
provides a common interface. It uses minimal XML configuration, opposed
to the XML hell which is Spring 1.
If you're looking for performance therefore, judge spring on its choice
of persistence layer, which in most cases is Hibernate. It's not as
efficient as straight JDBC, but I can guarantee it is a lot more
reliable, and easier to maintain via things like object querying, and
its implementation of ORM. (object relational mapping).
And forget being wary of frameworks, there is just no need to re-invent
the wheel, and I'm willing to bet that the standard of Spring's code is
a lot better than a home-brewed solution. Not to mention that your final
webapp will be a whole world easier to maintain and enhance.
Antony Jones
Developer
Gamesys Limited
e: ant...@gamesys.co.uk
t: 0207 478 8103
a: 1st Floor, 54-62 Regent Street, LONDON, W1B 5RE
Save trees and protect the environment - think before you print this
email!
> -----Original Message-----
> From: bnmlist...@brightonnewmedia.org [mailto:bnmlist-
> bou...@brightonnewmedia.org] On Behalf Of Alan Newman
> Sent: 22 May 2007 09:44
> To: 'Brighton New Media'
> Subject: Re: [BNM] Struts vs. Rails
>
> This is an interesting discussion.
>
> How efficient (performance wise) is Spring MVC out interest?
>
> The stuff we tend to do is mostly very performance restrained - in
that we
> need to get trades/bids through the system quickly and have for those
> types
> of financial apps gone down the bespoke route.
>
> However for the CMS and eComemrce work it might make sense to have a
look
> Spring. I am however often wary of frameworks and like to work closer
to
> the
> metal and with code that we know we have full control over.
>
> I would be interested in people's opinions on this...
>
> Cheers
>
> - Alan
>
> -----Original Message-----
> From: bnmlist...@brightonnewmedia.org
> [mailto:bnmlist...@brightonnewmedia.org] On Behalf Of Jay Caines-
> Gooby
> Sent: 22 May 2007 09:35
> To: Brighton New Media
> Subject: Re: [BNM] Struts vs. Rails
>
> On 5/22/07, Richard Dallaway <ric...@dallaway.com> wrote:
>
> > > Forget struts, it's obsolete and outdated. If you're going to use
> > > Java,
> > > and make a quality, enterprise standard app, use Spring MVC.
>
> It sounds like struts is the defacto option, baecause that's what the
> client has built things on in the past.
>
> > http://struts.apache.org/2.x/docs/tutorials.html
>
> I'll take a look.
>
> > On 21 May 2007, at 16:47, Jay Caines-Gooby wrote:
> > > I haven't done any Java for *ages* (>8 years). I have been
Rails-ing
> > > for the last year.
> >
> > In which case, Jez's note about Grails is probably the thing to do.
> > Although, Ruby, Rails and Java play nicely together if you're
running
> > on the JRuby implementation.
>
> Yep, Grails would seem like the simplest Rails -> Java transition.
>
> > BTW, there's also a very quiet Sussex Java User Group mailing list:
> > https://sussexjug.dev.java.net/ -- not sure who's on it.
>
> Thanks all.
>
> I'll see how far I can get...
>
> --
> >> Sponsor Me! <<
> 54 miles from London 2 Brighton
> http://www.bhf.org.uk/sponsor/jay
>
> Jay Caines-Gooby
> j...@gooby.org
> +44 (0)7956 182625
> skype:jaygooby
> http://snipperoo.com
> http://blog.snipperoo.com
> http://payperwidget.com - widget distribution marketplace
> --
>
>
> BNM Social - http://upcoming.yahoo.com/event/190648
>
> BNM Subscribe/Unsubscribe:
> http://lists.wessexnetworks.com/cgi-bin/mailman/options/bnmlist/
> BNM info/archives:
> http://www.brightonnewmedia.org/
>
> BNM archive search:
> http://www.roddis.org/bnm/search.php
>
> BNM powered by Wessex Networks:
> http://www.wessexnetworks.com
>
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.5.467 / Virus Database: 269.7.6/813 - Release Date:
20/05/2007
> 07:54
>
>
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.5.467 / Virus Database: 269.7.6/814 - Release Date:
21/05/2007
> 14:01
>
>
I almost forgot - RBS' highest value insurance quotation and processing
systems (the ones which handle multi-million dollar insurance
quotations) all use hibernate and spring, I know this because I helped
make the technology choice, and wrote them. Not quite as performance
oriented as a live trading system, but there is a definite need for
reliability and quality of a framework.
The bespoke route will always guarantee that you will be called on for
enhancements down the line though - since you'll be the only ones that
know how it works ;)
Spring/Hibernate have been around for long enough to ensure that
performance is absolute maximum, so I wouldn't think that a bespoke
solution would be any more efficient.
>>> Spring/Hibernate have been around for long enough to ensure that
performance is absolute maximum, so I wouldn't think that a bespoke
solution would be any more efficient.
That's interesting as well.
*hears the sound of trumpet in the back ground*
We are at the point, where we are getting, on average over a 3 hour peak
period, a bid every 3 seconds and the server is working at a load average of
just below 3% - which is leaves us with plenty of room for expansion.
However, once we move to a server cluster we may have to look at a "Meta"
Cache such as the Spring Cache to tie up the cache across all machines,
unless JBoss manages that for us, which I think it can...but we are not at
the stage - as with anything Java there are many different options open to
us, which is nice...
- Alan
--
BNM Subscribe/Unsubscribe: http://lists.wessexnetworks.com/cgi-bin/mailman/options/bnmlist/
JBoss cache will definitely work for you, but you're tying yourself in
to a single vendor, which is never a good idea. Modern Java is all about
layers of abstraction/indirection, meaning you can swap out your cache
provider easily, and stick something like ehcache in its place (not that
you would), by only changing a single line of XML.
Hence the use of something like Hibernate, which of course uses JDBC,
but hides it from you, turns everything into objects, and in addition,
hides those nasty nasty DB2 cryptic error messages and turns them into
nice spring exceptions, which are a lot easier to handle, future proof,
and can be caught effectively and dealt with.
Yeah, that is a very good point. Fully appreciated. I am always boring
people with this very point. Abstraction, abstraction....
However, the client has set themselves down the RedHat Enterprise license
root, so we are tied to a certain degree anyway.
I am thinking that we can manage this with session management, which is
ultimately a Tomcat (with the help of Apache) feature and something I have
used very effectively in the past. We can then have round-robin (workers)
style calls to the Application server according to load. Although this ties
us in to Apache/Tomcat derivatives it does give us a fully portable
solution....as would Spring of course.
- Alan
--
BNM Subscribe/Unsubscribe: http://lists.wessexnetworks.com/cgi-bin/mailman/options/bnmlist/
My boss reckons that you should never maintain state/sessions in a
banking application. Apparently that's the sort of system he developed
at Barclaycard. I don't know exactly how it works, but I can see his
point, having to hold a session across a number of different servers is
a nightmare waiting to happen.
Yeah, I think it is more to do with the way that Apache is able to maintain
the session (or context as it were) across many Tomcat/Jboss servers, than
running sessions on a user by user basis.
So the idea is, that for example, that if you have a cache sitting on one
Tomcat server that information is available to other servers - and more
importantly available to the user as they are balance between all the
servers in the cluster.
- Alan
--
BNM Subscribe/Unsubscribe: http://lists.wessexnetworks.com/cgi-bin/mailman/options/bnmlist/
WebWork is less tied, and I'd expect Struts 2 to follow that pattern.
E.g., you never reference things like HttpRequest or HttpSession
(unless you say you absolutely need to) so it's abstracted away from
those kinds of details.
Regarding IOC, I note that Strut2 uses Guice. Ok, I'm gonna have to
go download it now...
Richard
--
BNM Social - http://upcoming.yahoo.com/event/190648
BNM Subscribe/Unsubscribe: http://lists.wessexnetworks.com/cgi-bin/mailman/options/bnmlist/