Porting Java web application to Python to make it faster?

flab ba flab at large.net
Fri Jul 9 02:20:47 EDT 2004


I agree with the folks that responded ... it probably wouldn't be
worthwhile to convert your app to Python. I think Java is better for your
type of project - not because the language is superior to Python (I don't
think it is), or because Java has static type checking (for an interesting
discussion why, see the following link, but remember testing is the key):

http://www.artima.com/weblogs/viewpost.jsp?thread=4639


, but because Java has better libraries and frameworks for exactly this
type of thing.

Your developers *may* want to consider Turbine/Velocity or Tapestry as an
alternative to Struts.

Also, as another poster mentioned, a thick client that communicates by web
services might be better ... maybe look into the Eclipse Framework.

Instead of worrying about what language to use at this point in time, I
would employ the principles in this book :

Performance by Design : Computer Capacity Planning By Example by Daniel A.
Menasce, Lawrence W. Dowdy, Virgilio A.F. Almeida

http://www.amazon.com/exec/obidos/tg/detail/-/0130906735/qid=1089352899/sr=1-1/ref=sr_1_1/102-0178999-0081779?v=glance&s=books

And make sure you do some architectural experimentation. Evaluate a *few*
competing alternative architectures to solve your problem. Make sure you
have data (from simulations, models) to back up your decision.

Don't forget to consider a load-generation tool like LoadRunner (expensive
as heck, though). Maybe you could find something cheaper that would fit
the bill.

-A









On Thu, 08 Jul 2004 08:53:19 +0200, Wolfgang Keller wrote:

> Hello,
> 
> as a non-developer I am currently participating in an industrial
> "research" project to develop a so-called "web application". This
> application serves at the same time as middleware to connect several
> other "conventional" enterprise-applications such as ERP, SCADA etc. and
> to provide a GUI frontend to the users. The developers are into Struts,
> Enterprise Java Beans and the like, so it will be entirely implemented
> in Java with all the processing on the server side and only static HTML
> pages on the client side. It will have to "emulate" much of the GUI
> logic of a conventional interactive application with multiple
> Eclipse-like collapsable panes, XForms-like dynamic forms, lots of
> expandable tree views and sortable lists everywhere, plus SOAP
> communication "behind the scenes" to get and put loads of data all over
> the company's network.
> 
> The developers say it will require "considerable" hardware resources in
> order to allow reasonable response times, according to them >>1GByte of
> RAM for a rather small workgroup (<10 concurrent users). From my own
> personal experience with applications implemented in Java (such as UML
> and database modeling tools etc.) I fear that this might in fact mean
> that the reponse times will be Godot-like and that the application will
> miserably choke as soon as we confront it with real-world amounts of
> data going beyond the usual "three items" toy demonstrations.
> 
> Now the question: If this desaster scenario (I'm working for the
> industrial application partner in the project who expects to get some
> results that will be actually usable for everydays' work) will actually
> happen (I hope it won't, but still...), might there be a chance that by
> paying a cs student for porting it to Python in his diploma thesis using
> such things as Coil, Cheetah, Webware etc. it will get slimmer and
> faster? And if so, by how much approximately? 10%? One order of
> magnitude?
> 
> TIA,
> 
> Best regards,
> 
> Wolfgang Keller



More information about the Python-list mailing list