Custom or pre-packaged.

A

anita1766

Its been a while since I've done java programming. EJB's weren't so
prevelant when I stopped, so I'm not really up-to-date all the options.
Here is what I want to do:
Make a sort of portal for information, with 1)forums, 2) users and
personalization 3) news (generated by the website itself), user
activity tracking 4) database

I've done all this before using servlets and jsp and using some
commercial platforms as a development environment and appservers were
just taking off. But, of late, I've been finding that many of these
things are done by using out-of-the-box products free or otherwise.

So these are my questions to all you people.

How would you go about making such a site ? any products that you'd
customize out of the box ? How customizable are they ?

It appears that out-of-box solutions take care of most things that I
was doing custom development for ? So what kind of things are being
done that do custom development ?

EJB's seem a little heavy, besides I am worried that managed hosting
providers wont support it.

Would you use EJB's to do what I need to do, I understand how they work
etc., but I'm not sure of the deployment aspects and WHERE exactly they
are used ? If left to me, I'd do it with just servlets, but I rather
learn from other's experiences than spend tons of time doing something
that I should have done differently.

One more question: If you had to design a content management system
from ground up what approach would you take.
I'd love to hear your opinions
Thanks
anita
 
S

Scott Smith

Its been a while since I've done java programming. EJB's weren't so
prevelant when I stopped, so I'm not really up-to-date all the options.
Here is what I want to do:
Make a sort of portal for information, with 1)forums, 2) users and
personalization 3) news (generated by the website itself), user activity
tracking 4) database

I've done all this before using servlets and jsp and using some commercial
platforms as a development environment and appservers were just taking
off. But, of late, I've been finding that many of these things are done
by using out-of-the-box products free or otherwise.

So these are my questions to all you people.

How would you go about making such a site ? any products that you'd
customize out of the box ? How customizable are they ?

It appears that out-of-box solutions take care of most things that I was
doing custom development for ? So what kind of things are being done that
do custom development ?

EJB's seem a little heavy, besides I am worried that managed hosting
providers wont support it.

Would you use EJB's to do what I need to do, I understand how they work
etc., but I'm not sure of the deployment aspects and WHERE exactly they
are used ? If left to me, I'd do it with just servlets, but I rather learn
from other's experiences than spend tons of time doing something that I
should have done differently.

One more question: If you had to design a content management system from
ground up what approach would you take. I'd love to hear your opinions
Thanks
anita

There are free frameworks for most of the problems you are grappling with.
Start with Spring, then Hibernate, and then go from there. Uportal may be
a framework to help you too. I'm not familiar with it but we are currently
investigating it at work. Stay away from EJBs whereever possible. I say
this with some reservation because there is something to be said for
staying with established standards but most of the time EJBs functionality
can be implemented with much simpler tools.

Persistence is taken care of by Hibernate and Spring will give you a good
web framework as well as force you into an introduction of where things
are moving in the Java community (Take a look at the what's driving the
new EJB spec.) Once you investigate Spring, a lot of things will become
much clearer. Spring will work with anything you want to use. It's pretty
flexible.

For database stuff, use HSQLDB (used to be called Hypersonic SQL) and for
the view, consider velocity. There are many good options for all of these
but the wonderful thing is that whatever you choose, even just Servlets
and JSPs, you can integrate them easily with Spring.

Since you've been gone for a while, I would consider a build tool for like
Ant or Maven. And also JUnit for your unit testing. JUnit can be run
with Ant so your tests can be run with the build process. Ant has become
a sort of standard build tool for projects but Maven is really good too.

Everything I've mentioned is free. Hope this was somewhat helpful. You
will invest a lot of up front energy in learning these things but I
guarantee it will pay off.

Good luck! Sounds like a great project;-)
 
A

anita1766

Thanks Scott,
That was a quick reply. I've been gone for a while, but not THAT long!
:) I do use junit and ant. My problem is that I have no contact with
the development community to get a feel for what is going down in
commercial apps. Its all well and good for me to run off an implement
something on my own but I really dont want to re-invent the wheel.
HSQLDB seems a little too low-end... I'm thinking of using MySQL, what
do you think ?
I'll look into Spring.

I've also been looking at "job postings" to get a sense of what they
are really using and I see EJBs come up a LOT. So I wonder what ARE
they using it for? and why ? when they have all thse other goodies.
From what I've seen of it, its very clunky and as you say I can do
with servlets (whatever framework) that I can do with EJBs. At the same
time I want my site to be scalable, because hopefully it will grow. I
dont want to have to move everything painstakingly at a later date, I'd
rather look into all my options now.

Thanks
Anita
 
S

Scott Smith

Thanks Scott,
That was a quick reply. I've been gone for a while, but not THAT long!
:) I do use junit and ant. My problem is that I have no contact with the
development community to get a feel for what is going down in commercial
apps. Its all well and good for me to run off an implement something on
my own but I really dont want to re-invent the wheel. HSQLDB seems a
little too low-end... I'm thinking of using MySQL, what do you think ?
I'll look into Spring.

I've also been looking at "job postings" to get a sense of what they are
really using and I see EJBs come up a LOT. So I wonder what ARE they
using it for? and why ? when they have all thse other goodies.
with servlets (whatever framework) that I can do with EJBs. At the same
time I want my site to be scalable, because hopefully it will grow. I
dont want to have to move everything painstakingly at a later date, I'd
rather look into all my options now.

Thanks
Anita

I understand your desire for scalability. If you are looking for work or
think you may be, EJBs are pretty entrenched. So there is nothing wrong
with learning about the technology. If you would like the exercise of
learning about them, then by all means use them in your app. They
introduce unnecessary complexity but you can use them for sure.

MySQL is okay. It will get you there and it keeps getting better. For
high loads, zero cost, and maturity consider investigating Firebird, the
open source version of Borland Interbase.

As I say again, investigate Spring and visit Martin Fowler's web site:
http://martinfowler.com/

Then you can make some informed decisions about how you want to approach
this. Also, you can use EJBs with Spring.

Here are a couple of other helpful sites:
http://www.springframework.org/
http://www.devx.com/Java/Article/22652/1954?pf=true
http://hibernate.bluemars.net/5.html

Incidentally, we support over a million users on our online learning
application, we don't use EJBs, we use Spring, Oracle on the backend, and
velocity for our presentation layer. And we are a multi-billion dollar
company. There is no reason you should run into scalability issues. Oh
and Dell Poweredge servers. They are about $5000 a piece and run Suse
Linux. We can only hope you run into scalability issues like these! That
would be great! Take what you can use and leave the rest.
Happy coding.
 

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,769
Messages
2,569,580
Members
45,055
Latest member
SlimSparkKetoACVReview

Latest Threads

Top