I am at University in the UK, doing a degree in computing and in my final year doing my dissertation. I have made a design and decided to implement it in JavaEE JSF.
This is nearly all new to me, although I been leaning from the netbeans website and you tube tutorials and just starting to understand the basics.
I started on Glasfish but was struggling to find an active community and then heard Glassfish is to be no more soon? JBoss seemed to be a good platform/system to start learning if Glassfish is going to be dead soon.
As a newby, its hard to know where to focus your efforts as there seems to be hundreds of technologies and terms surrounding JavaEE but I think i'm starting to get it.
PROBLEM: I have around 30 days to build a small web application which has 2 user groups, 3 inc admin, it is for people who live in Blocks of Flats and who normally dont get to know each other yet share a living space, share the building maintenance etc but have no say in what happens. My app enables these groups to start a community and share problems, opportunities, ideas.
I am struggling with understanding the difference between certain types of beans and when to use them? How to architect the app.
I registered here at JBoss just to download the trial thing but then realised they have this Blog and thought I could try and share my learning experience.
I KNOW THIS MUCH:
My project is currently in Netbeans using glassfish. - need to change to JBOSS -So need help to do that asap.
I have build a html/css user interface for most screens(views). I have started to convert these to jsf pages and have 1 template which includes the header and footer.
There is a mysql database for Blocks, the properties(flats within the block), the management company (who manages the block), Individuals (system users), A Groups table for the roles, there is then 2 tables which represent the different residents as some people own a flat in the block and others rent so I have a Lease table for owners and Tenancies table for people renting.
There is a table also for Issues so people can raise issues with each other.
*! The application would later have all sorts of collaboration tools but for know all I need to implement is the ability of the users to raise an 'issue' (used as a generic term instead of Maintenance issue, Neighbour issue, Community project opportunity issue etc)
I used netbeans wizard to create Entity classes from the database which I hope i'm right in understanding..'There are EJB's right?' Entity Java Beans which do the persistence bit and then are used by other session/managed/normal beans to get the data from the database to work with it in some way.
I also understand how to use EL to bind values to form components. Also how to action term to do navigation or include EL function call instead.
I NEED HELP HERE:
I understand to this point but now need to work out how to do the process between pages, the logic bit and how, based on form data from one page to query the model and display one thing(page?) if there is a result and another if not.
I'm thinking it is something like this... Please help.. because im stuck and unsure !
Please note: User process is they view a page to enter a Block (property name) and or Post code, to see if a community exists already for where they live, if it does they can request to join it, if not they can create a new community.
I make a session/managed bean which has private variables in to which the form variables are bound, block name and post code.
The button fires a method in the session/managed bean
The method uses the model ejb to getAlBlocks using a named query.
The method then iterates through the array list to test if the property name is the same/similar
If it is, the object is strored in new array 'returnList' or something like that
and then the method iterates over post code and sends any matching objects to the same returnList array.
Then the method evaluates the returnList to see if it is null or contains objects.
The function returns the resultList and a value for the next view (to display possible blocks / communities in a table)
or null and the value of the next view (which instructs the user they can proceed to create a new community for that block)
I would seriously appreciate some help!
Big thanks in advance if you are willing to spare a bit of time.