Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Java > please help me get started with building a website

Reply
Thread Tools

please help me get started with building a website

 
 
mr_wu
Guest
Posts: n/a
 
      04-23-2010
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?
 
Reply With Quote
 
 
 
 
markspace
Guest
Posts: n/a
 
      04-23-2010
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>
 
Reply With Quote
 
 
 
 
Tom Anderson
Guest
Posts: n/a
 
      04-23-2010
On Thu, 22 Apr 2010, markspace wrote:

> The rest of the spec (EJP, etc.) is not implemented by Tomcat.


I knew Esmond was a vital resource for java development, but i didn't
realise he was mandated by the spec!

tom

--
Per Dementia ad Astra
 
Reply With Quote
 
markspace
Guest
Posts: n/a
 
      04-23-2010
Tom Anderson wrote:
> On Thu, 22 Apr 2010, markspace wrote:
>
>> The rest of the spec (EJP, etc.) is not implemented by Tomcat.

>
> I knew Esmond was a vital resource for java development, but i didn't
> realise he was mandated by the spec!



Yeah that was supposed to be "EJB," just so the OP isn't totally
confused by my typo.

 
Reply With Quote
 
mr_wu
Guest
Posts: n/a
 
      04-27-2010
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 <(E-Mail Removed)> 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>


 
Reply With Quote
 
Arne Vajh°j
Guest
Posts: n/a
 
      04-27-2010
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
 
Reply With Quote
 
Tom Anderson
Guest
Posts: n/a
 
      04-27-2010
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
 
Reply With Quote
 
Lew
Guest
Posts: n/a
 
      04-27-2010
Tom Anderson wrote:
> 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.
>


Not so much so if you use bash.

> 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.
>


Fortunately you can use bash on Windows if you install Cygwin, which
restores your portability.

--
Lew

 
Reply With Quote
 
Tom Anderson
Guest
Posts: n/a
 
      04-27-2010
On Tue, 27 Apr 2010, Lew wrote:

> Tom Anderson wrote:
>
>> 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.

>
> Not so much so if you use bash.
>
>> 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.

>
> Fortunately you can use bash on Windows if you install Cygwin, which
> restores your portability.


It's not just bash. It's bash and all the other unix utilities the scripts
use, and the existence of /tmp, the ability to ssh to another machine and
run commands on it, etc. It would be interesting to see if it could be
ported, but i'd very much prefer that someone other than me tried it!

tom

--
Infantry err, infantry die. Artillery err, infantry die. -- IDF proverb
 
Reply With Quote
 
Lew
Guest
Posts: n/a
 
      04-27-2010
Lew wrote:
>> Fortunately you can use bash on Windows if you install Cygwin, which
>> restores your portability.


Tom Anderson wrote:
> It's not just bash. It's bash and all the other unix utilities the
> scripts use, and the existence of /tmp, the ability to ssh to another
> machine and run commands on it, etc. It would be interesting to see if
> it could be ported, but i'd [sic] very much prefer that someone other than me
> tried it!


All of that is in the Cygwin suite. I've been doing it for a decade,
including port-forwarding X-Windows over SSH, database connections, using
"scp", whatever.

--
Lew
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Firefighters at the site of WTC7 "Move away the building is going to blow up, get back the building is going to blow up." Midex Python 24 05-07-2007 04:23 AM
if a variable is started inside a closure, can it ever be redeclared and started over, outside of the original function? Jake Barnes Javascript 2 02-15-2006 03:32 AM
PLEASE HELP - How do get started with JPDA cpptutor2000@yahoo.com Java 1 10-11-2005 05:52 AM
Please help a windows user get started with python/glade and an IDE. Al Dykes Python 2 10-15-2004 11:07 PM
Get me started please - D.Yacovone Digital Photography 1 01-06-2004 05:10 AM



Advertisments