Architecting questions..

G

Gil Blais

I have been tasked to create a WEB server that will operate on an intranet
during work hours and then work for about one hour on remote HTTPS
connections swapping business data using encrypted serialized objects. This
business model will not change over time. Only the functionality available
on the intranet will expand and possibly some small amount of the data
swapping will increase.
Questions are:
1 - Simplest reasonably maintainable methodology I can use based on base
functionality of filling out data entry forms, running reports and updating
authority information. i.e. J2EE seems wayyy overkill but I will listen to
all suggestions. Struts, Tapestry, or just plain old HTML ??? Also - JSP,
JS, POJO's, Servlets ??
2 - Database recommendations based on having a local copy and a daily remote
synchronized central datastore copy.
3 - Recommendations on effective firewall software.
Any thoughts based on experience will be very helpful and I thank you in
advance.
Regards, Gil Blais
 
R

Ross Bamford

I have been tasked to create a WEB server that will operate on an intranet
during work hours and then work for about one hour on remote HTTPS
connections swapping business data using encrypted serialized objects. This
business model will not change over time. Only the functionality available
on the intranet will expand and possibly some small amount of the data
swapping will increase.
Questions are:
1 - Simplest reasonably maintainable methodology I can use based on base
functionality of filling out data entry forms, running reports and updating
authority information. i.e. J2EE seems wayyy overkill but I will listen to
all suggestions. Struts, Tapestry, or just plain old HTML ??? Also - JSP,
JS, POJO's, Servlets ??

Depends on what 'operate' means. If it's simply serving out pages with
some form filling and dynamic stuff, and you're fairly sure it will
always be so, you'll be up and running quicker with something based on
Servlets and a view technology of your choice (JSP, or I'd recommend
http://jakarta.apache.org/velocity/ if you can make the project fit it).

A standard Tomcat installation, with Velocity and whatever other
dependencies you have would serve you well I think, with just a few
Servlets, and assorted JSP or whatever for your view.
2 - Database recommendations based on having a local copy and a daily remote
synchronized central datastore copy.

I'm not quite sure what this means - is this your business data? From my
understanding of your project, it seems to me the best thing to do would
be have a Servlet or something else waiting to serve your data on the
HTTPS connector, and use an external trigger (like cron) to cause your
database to be updated, for example having a cron.daily entry like:

java -classpath ...whatever... com.mycompany.LocalDatastoreUpdater

All of this is well and good and can be knocked together in a few days
in it's initial form. But if theres any possibility you might get more
complex than this (there usually is) then you should at least look at a
bigger framework. Struts is good, as is Tapestry, but with both there is
a learning curve if you're not already familiar.

Of course after a certain point of complexity, the learning curve
becomes shorter than the time involved in creating and maintaining such
a system yourself, with all the downsides of having to do the extra
stuff yourself. So you do need to be sure you won't want to grow the
system ...
3 - Recommendations on effective firewall software.

iptables? :)

Cheers,
Ross
 
J

John C. Bollinger

Gil said:
I have been tasked to create a WEB server that will operate on an intranet
during work hours and then work for about one hour on remote HTTPS
connections swapping business data using encrypted serialized objects. This
business model will not change over time. Only the functionality available
on the intranet will expand and possibly some small amount of the data
swapping will increase.
Questions are:
1 - Simplest reasonably maintainable methodology I can use based on base
functionality of filling out data entry forms, running reports and updating
authority information. i.e. J2EE seems wayyy overkill but I will listen to
all suggestions. Struts, Tapestry, or just plain old HTML ??? Also - JSP,
JS, POJO's, Servlets ??

I suppose you mean that EJB seems overkill, and you may be right.
Servlets and JSP are also part of J2EE, however, and several other
systems (e.g. Struts) run on top of those. If you are _processing_ form
submissions on the server then plain HTML is not a complete solution:
you need some kind of service to handle the processing. As you've asked
on a Java newsgroup, you should not be surprised that I recommend
servlets / JSP as the base technology.

The servlet containers I know all support HTTPS, and servlets provide a
declarative security model that may be useful to you. (Mapping user
data to the security model is container-specific, however, and updating
authority information is outside the scope of the spec.) I'm not up to
speed on Struts, but if the emphasis is on simplicity then I would go
for JSP for the presentation layer and servlets for the back end; i.e.
Model II, expressed directly with JSP and servlets. Access control to
services by time of day and type of service could be coded directly into
a controller servlet or implemented via Filters.

Depending on the complexity of the data and business operations, it may
well be useful to involve beans or POJOs; you may also find it useful to
involve one or more tag libraries (your own, or something like JSTL).
 
R

Ross Bamford

Depending on the complexity of the data and business operations, it may
well be useful to involve beans or POJOs; you may also find it useful to
involve one or more tag libraries (your own, or something like JSTL).

IMO if you're not already afflicted with JSTL there's not much point in
asking for it ;)

I could *really* light a fire and blanket apply that to JSP, but I
won't. Not quite. Yet.

Cheers,
Ross
 
E

enrique

1 - I always go with the least amount of technology necessary to do the
job.
2 - pretty much any database can do this, right?
3 - no comment
 
M

Malte

Gil said:
I have been tasked to create a WEB server that will operate on an intranet
during work hours and then work for about one hour on remote HTTPS
connections swapping business data using encrypted serialized objects. This
business model will not change over time. Only the functionality available
on the intranet will expand and possibly some small amount of the data
swapping will increase.
Questions are:
1 - Simplest reasonably maintainable methodology I can use based on base
functionality of filling out data entry forms, running reports and updating
authority information. i.e. J2EE seems wayyy overkill but I will listen to
all suggestions. Struts, Tapestry, or just plain old HTML ??? Also - JSP,
JS, POJO's, Servlets ??
2 - Database recommendations based on having a local copy and a daily remote
synchronized central datastore copy.
3 - Recommendations on effective firewall software.
Any thoughts based on experience will be very helpful and I thank you in
advance.
Regards, Gil Blais

This may be anathema to some, but here goes nothing.

Products like Oracle will do the forms for you pretty much without any
coding. It will be based on J2EE, Struts/JSF and their Toplink or ADF
technology.

For simple work, no hazzle involved. For more complex work you'd have to
dig into ADF and the JSP stuff.
 
K

kent

Gil said:
1 - Simplest reasonably maintainable methodology I can use based on base
functionality of filling out data entry forms, running reports and updating
authority information. i.e. J2EE seems wayyy overkill but I will listen to
all suggestions. Struts, Tapestry, or just plain old HTML ??? Also - JSP,
JS, POJO's, Servlets ??

You seem to be new to web application development. If so,
you'd better use Tapestry. It is very easy to learn and
use. See my tutorials at
http://www2.cpttm.org.mo/cyberlab/softdev/tapestry/index.html
 

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
474,432
Messages
2,571,680
Members
48,796
Latest member
Greg L.

Latest Threads

Top