Prev: Menu in Swing
Next: JAVA Applet Security Question
From: mr_wu on 22 Apr 2010 21:39 Dear Group, Can you kindly give me suggestions on using Java as the main component in website building? I'm especially interested in using it in backend as well as front end and incorporate hopefully AJAX. Webserver I'm familiar is apache, sql server will be postgres. My background: I've already built a long running successful site with mod_perl/apache/dbi as backend/front end with very little javascripts. I wish to build on my java skills. I have already built a few original desktop apps using j2se and in terms of lines of code my experience with java is higher than perl. But I have known perl much longer and I can build a website very fast in perl. I am looking for something equivalent to mod_perl with perhaps a templating feature built-in. I've looked into Tomcat but after reading their intro + a bit more i'm not clear whether they have what i want or even how it fits into apache if at all. Is glassfish an alternative to Tomcat? What about jboss? I've also written a tiny java applet on my mod_perl site and I notice that the applet takes its time to load the first time. It's because the browser has to load JVM the first time? I'm afraid that this type of problem will be present if I were to use java for interactivity i.e. AJAX. True or false? If I use JAVA just for server side (JSP?), I won't see the problem? Will it be more interactive than pure mod_perl site? Just easier to develop? More scalable? Sorry for the long post Thanks in advance for any suggestions. Any reading material online or print? Server will be on linux. Development on Windows/Linux/Mac better?
From: markspace on 22 Apr 2010 22:10 mr_wu wrote: > > I am looking for something equivalent to mod_perl with perhaps a > templating feature built-in. I've looked into Tomcat but after JSPs are templates for Java EE. You want primarily Parts I and II of this document: <http://java.sun.com/javaee/5/docs/tutorial/doc/> Look at the end part too for the sample applications. There are also lots of good books on JEE (used to be called J2EE). Check out some reviews on Amazon. > reading their intro + a bit more i'm not clear whether they have what > i want or even how it fits into apache if at all. Is glassfish an > alternative to Tomcat? What about jboss? Yes, Glassfish, JBoss and Weblogic all do basically the same thing as Tomcat. Tomcat is very popular, free, and used by lots of ISP and companies. Note that Tomcat primarily does just JSP and Servlets, which is the real core of the JEE spec. The rest of the spec (EJP, etc.) is not implemented by Tomcat. There are tons of books on Tomcat out there. To "fit Tomcat into Apache," use mod_jk: <http://tomcat.apache.org/connectors-doc/> > > I've also written a tiny java applet on my mod_perl site and I notice > that the applet takes its time to load the first time. It's because > the browser has to load JVM the first time? I'm afraid that this type > of problem will be present if I were to use java for interactivity > i.e. AJAX. True or false? True. Most Java websites use HTML and JavaScript for the front end, not Java applets. You might want to look into Java Server Faces. > If I use JAVA just for server side (JSP?), > I won't see the problem? Will it be more interactive than pure > mod_perl site? Just easier to develop? More scalable? Generally easier to develop with Java, I think, and more maintainable and scalable. Perl turns in to a big ball of ... something pretty quickly. Java tends to be more organized. <http://en.wikipedia.org/wiki/Big_ball_of_mud> > > Sorry for the long post > > Thanks in advance for any suggestions. Any reading material online or > print? Server will be on linux. Development on Windows/Linux/Mac > better? I think Windows/Ubuntu pretty much the same. Check out the JEE features of a good IDE. For example: <http://netbeans.org/kb/trails/java-ee.html>
From: mr_wu on 26 Apr 2010 20:54 Thanks for very informative reply. JEE does have rather steep learning curve. But I believe it will pay off in the end. On Apr 22, 10:10 pm, markspace <nos...(a)nowhere.com> wrote: > mr_wu wrote: > > > I am looking for something equivalent to mod_perl with perhaps a > > templating feature built-in. I've looked into Tomcat but after > > JSPs are templates for Java EE. You want primarily Parts I and II of > this document: > > <http://java.sun.com/javaee/5/docs/tutorial/doc/> > > Look at the end part too for the sample applications. There are also > lots of good books on JEE (used to be called J2EE). Check out some > reviews on Amazon. > > > reading their intro + a bit more i'm not clear whether they have what > > i want or even how it fits into apache if at all. Is glassfish an > > alternative to Tomcat? What about jboss? > > Yes, Glassfish, JBoss and Weblogic all do basically the same thing as > Tomcat. Tomcat is very popular, free, and used by lots of ISP and > companies. Note that Tomcat primarily does just JSP and Servlets, which > is the real core of the JEE spec. The rest of the spec (EJP, etc.) is > not implemented by Tomcat. There are tons of books on Tomcat out there.. > > To "fit Tomcat into Apache," use mod_jk: > > <http://tomcat.apache.org/connectors-doc/> > > > > > I've also written a tiny java applet on my mod_perl site and I notice > > that the applet takes its time to load the first time. It's because > > the browser has to load JVM the first time? I'm afraid that this type > > of problem will be present if I were to use java for interactivity > > i.e. AJAX. True or false? > > True. Most Java websites use HTML and JavaScript for the front end, not > Java applets. You might want to look into Java Server Faces. > > > If I use JAVA just for server side (JSP?), > > I won't see the problem? Will it be more interactive than pure > > mod_perl site? Just easier to develop? More scalable? > > Generally easier to develop with Java, I think, and more maintainable > and scalable. Perl turns in to a big ball of ... something pretty > quickly. Java tends to be more organized. > > <http://en.wikipedia.org/wiki/Big_ball_of_mud> > > > > > Sorry for the long post > > > Thanks in advance for any suggestions. Any reading material online or > > print? Server will be on linux. Development on Windows/Linux/Mac > > better? > > I think Windows/Ubuntu pretty much the same. Check out the JEE features > of a good IDE. For example: > > <http://netbeans.org/kb/trails/java-ee.html>
From: Arne Vajhøj on 26 Apr 2010 22:00 On 22-04-2010 21:39, mr_wu wrote: > Can you kindly give me suggestions on using Java as the main component > in website building? I'm especially interested in using it in backend > as well as front end and incorporate hopefully AJAX. Do you want to use Java both in frontend of the server side and backend of the server side or both at client and server? The first rules out AJAX unless you plan on using GWT. The second is very standard Java EE. > Webserver I'm > familiar is apache, sql server will be postgres. > > My background: I've already built a long running successful site with > mod_perl/apache/dbi as backend/front end with very little javascripts. > > I wish to build on my java skills. I have already built a few > original desktop apps using j2se and in terms of lines of code my > experience with java is higher than perl. But I have known perl much > longer and I can build a website very fast in perl. > > I am looking for something equivalent to mod_perl with perhaps a > templating feature built-in. I've looked into Tomcat but after > reading their intro + a bit more i'm not clear whether they have what > i want or even how it fits into apache if at all. Is glassfish an > alternative to Tomcat? What about jboss? Tomcat, Glassfish and JBoss are all servers. Tomcat only implements the web part of Java EE while Glassfish and JBoss implements everything (and actually Glassfish and JBoss usually comes with Tomcat embedded for the web part). All of them give you the option of: - speaking HTTP directly with them - speak HTTP with Apache HTTPD and have that speak AJP with them > I've also written a tiny java applet on my mod_perl site and I notice > that the applet takes its time to load the first time. It's because > the browser has to load JVM the first time? I'm afraid that this type > of problem will be present if I were to use java for interactivity > i.e. AJAX. True or false? If I use JAVA just for server side (JSP?), > I won't see the problem? Will it be more interactive than pure > mod_perl site? Just easier to develop? More scalable? Java applets do come with a small load time. But on a new system it should not be that bad. Server side Java obviously does not have this problem. Server side Java is good for: - large sites with lots of code - sites with stateful clustering - sites with transaction requirements - sites that needs to integrate with web services, message queues and ERP systems > Thanks in advance for any suggestions. Any reading material online or > print? Server will be on linux. Development on Windows/Linux/Mac > better? It should not matter that you develop on another platform than the one you deploy at. Arne
From: Tom Anderson on 27 Apr 2010 13:58
On Mon, 26 Apr 2010, Arne Vajh?j wrote: > On 22-04-2010 21:39, mr_wu wrote: >> Can you kindly give me suggestions on using Java as the main component >> in website building? I'm especially interested in using it in backend >> as well as front end and incorporate hopefully AJAX. > > Do you want to use Java both in frontend of the server side and backend > of the server side or both at client and server? > > The first rules out AJAX unless you plan on using GWT. Or LiveConnect. No school like the old school! https://jdk6.dev.java.net/plugin2/liveconnect/ >> Thanks in advance for any suggestions. Any reading material online or >> print? Server will be on linux. Development on Windows/Linux/Mac >> better? > > It should not matter that you develop on another platform than the one > you deploy at. As far as everything inside the WAR/EAR is concerned, this is true. Although if there's a lot of money depending on your app, i'd certainly suggest doing QA on the same platform. However, things outside the WAR/EAR may not be so portable. In my apps i've worked on, there is a colossal amount of what we generically term 'build scripts', which is the stuff that takes a fresh checkout from CVS on a blank machine and turns it into a running system: that's everything from compilation, management and implementation of configuration options, EAR/WAR assembly, configuration file preparation, database schema definition, data load, app server startup and monitoring (and shutdown), and post-startup configuration and activation steps. And running unit tests. It's possible to do much or all of that portably - ant was made to do this (more or less), and what you can't do in ant, you can do in java (perhaps by writing an ant task). The only places where you're in real trouble are when you're interacting with different interfaces (eg the start scripts for Tomcat and JBoss, which take different parameters), but that's just a matter of isolating that and writing implementations for each interface. Still, in practice what we end up doing is writing trillions of lines of bash script. The trouble is that ant is an utterly, utterly appalling language, far more verbose and fiddly than shell script, and agonising if you want to anything even a bit unusual. So we write shell script. And hey presto, while we can run on any linux machine with only minor tweaking (eg the xmlstarlet command-line XML processor is invoked as xmlstar on Debian, but xml on CentOS), and on OS X with a bit more tweaking (install lots of GNU utilities from MacPorts, change readlink to greadlink throughout, etc), you're hosed if you want to run on Windows. Luckily, our development landscape is almost always linux from development to production, with the very occasional sidestep onto OS X for laptops, so the pain is minimal. Conversely, if you developed on Windows, but deployed on unix, if you wrote your build system in batch script, you'd be stuffed. Luckily, batch script is so awful that you wouldn't do this; you'd even use ant in preference, so you'd have a better shot at being portable from the start. tom -- hypnopomp rapist |