Need advice on technology/architecture

D

Droolboy

Hi,

I'm about to start building a simple invoicing system for internal
use, and am leaning towards using Java in some form. Thing is, there
are so many ways it could be done, I'm having a hard time deciding.

Should I make a thick Swing-based application talking directly to the
db? A server-based app with a thinner Swing gui? Use
JSP/Servlets/Struts/Tapestry? Will Java Server Faces do me any good?
JSF + NetBeans = RAD GUI-developement for the web?

I'm not familiar with JSF, nor any web frameworks (do have decent
knowledge on JSP/Servlets, though), but recon this is as good a time
as any for learning.

EJBs, Web Services, XML/XSLT/whatever are completely uncharted
territory to me, and probably way overkill..?


I know there are already dozens of solutions for invoicing, but
purpose of this project is mostly about keeping me busy for the
remainder of my internship, as well as learning something and making
my cv look better ;)

Also, would anyone care to make some estimates on how long this should
take? Figure I'll need a basic customer database, a list of the stuff
we charge for, forms for creating and following up on invoices, as
well as a few reports for accounting purposes.

Any feedback appreciated.

Thanks in advance,
Espen

(Already posted this message to the comp.lang.java newsgroup, but as
that one seems deprecated.. Sorry for any inconvenience.)
 
J

Jacob

Droolboy said:
I'm about to start building a simple invoicing system for internal
use, and am leaning towards using Java in some form. Thing is, there
are so many ways it could be done, I'm having a hard time deciding.

Should I make a thick Swing-based application talking directly to the
db? A server-based app with a thinner Swing gui? Use
JSP/Servlets/Struts/Tapestry? Will Java Server Faces do me any good?
JSF + NetBeans = RAD GUI-developement for the web?

I'm not familiar with JSF, nor any web frameworks (do have decent
knowledge on JSP/Servlets, though), but recon this is as good a time
as any for learning.

EJBs, Web Services, XML/XSLT/whatever are completely uncharted
territory to me, and probably way overkill..?

KISS. Skip the fancy technology. If this is a "simple" invoicing
system make a simple single executable app. Make sure you create a
sound data model implementation, a distinct data access layer
(for data model <-> DB communication) and a distinct Swing GUI
(for data model <-> user communication).
For a "simple" invoicing system, you'll be fine with JDBC for DB
communication will suffice. Create the DB access layer as a library,
then you can reuse it later in different applications.

Estimate: 2-3 months. But beware: As soon something is running it
might seem like a good idea to add feature A, and then B and then...

My biggest concern with the technology you are listing is that you
loose sight of the solution you're about to make and instead are
burdnened with lots and lots of technical issues (read: problems).
This is my own experience anyway.
 

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

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,013
Latest member
KatriceSwa

Latest Threads

Top