I've decided to develop a web application as a learning exercise although there is a
serious underlying purpose behind it.
I'm new to
Java EE but I've been a software engineer for a long long time and reckon
I should be able to pick stuff up reasonably quickly.
My initial thoughts about the application are that there are people using a browser, IE,
Firefox, Chrome whatever, and access my application server and type stuff in which
gets stored in a database, displayed back to them, that kind of thing. Nothing amazing,
no time travel, no quantum physics or anything like that. I reckon I'd like the user
interface to look pretty good, not like a Hello World!
Servlet but not exactly a rich
internet application either. Something of the quality of the new Yahoo! MAIL would
be good for me if this is within my grasp.
Without knowing exactly how this is going to be built I shouldn't be thinking about
timescales, but in truth in my mind's eye I'd like to have a phase 1 production ready
in around 6-9 months time.
I somehow landed upon Glassfish and have been using this (v2.1) for playing about
with and it seems pretty good, hey it's free and there are plenty of cloud providers
supporting it, so I'd like to use this as my application server. I've been using NetBeans
(6.7.1) as my
IDE and it seems pretty robust although I've not even scratched the
surface of the overall functionality.
It seemed like JSP/JSF as the presentation technlogies seemed like the default option,
EJB 3.0 as the business tier, JPA as the persistence tier and a MySQL database. I'm
pretty happy with the combination of EJB/JPA/MySQL, I'm sure this will all do what I
want and it's all tried and tested.
It's the view technology that I'm not sure about. Where I'm coming from is that I
don't want to do is read through a thousand pages of documentation (which is quite
feasible in this domain) before finding out that I've backed the wrong horse and
having to start all over.
I'd really like to be using a visual layout tool for page design as I'm an engineer not
a graphic artist, I don't write code in assembler (any more) so why count pixels
to get stuff positioned where you want it. I came across the Visual Web functionality
in NetBeans but shortly after the encounter I find that the project is dead or dying
although I'm not sure why or what will replace it. Then there's facelets which replaces
JSP? but is it suitable for a production application now or in six months time? And
then JavaFX, does it complement, replace, interoperate with or just steamroller
JSP/JSF? And then the component libraries, ICEFaces,
Jboss, MyFaces, RichFaces,
such choices!
I'm trying to find out what I need to be learning about, but I keep getting the nagging
feeling that anything I'm investing my time in evaluating is going to end up being
abandoned, superceded or both, and all the time spent learning will be wasted.
Maybe I'm getting too old for this game, I'm 44 years old now, perhaps I should be
thinking about taking up painting landscapes or
gardening or something. After two
months looking at EE I've not even managed to nail down what I need to be working
on, is this just me?
If anyone would care to describe an approach they've taken I'd be very interested to
read about how you solved any similar sounding problem.
Thanks!