- Gather your business requirements
- Model your business objects
- Diagram/design your use-case flow
- Press the big green "win" button
- Deploy and profit
Okay, allow me to refine the list above. Here's how I've been making this happen:
- Gather your business requirements
- Define and model your business objects via UML Class Diagram
- Design the rest of your app via detailed and complete UML Class Diagram
- Use an IDE such as MyEclipse or Netbeans to generate Java code directly from your class diagram
- Use Hibernate's JPA implementation and annotations to allow Hibernate to generate your database schema entirely from the POJOs generated in step 4
- Use MyEclipse & Hibernate's Reverse Engineering to generate all of your Data Access Objects (DAO).
- Fill in the blanks, implement business algorithms where necessary
- Deploy, test, refine.
Strap some rich PrimeFaces components into the view and you've got yourself a rich business application with little to no Java code writing at all.
In my fantasy world, where I've yet brought this concept to life, I imagine 6 months development projects taking 3 to 4 months tops. You'll still have all the same testing and bug-fixing as ever, but an increased level of design will leverage exponential gains in development time. If you're a seasoned developer, you've seen design pay off during development over and over again.
If I can find the time to run a pilot project behind the scenes and pull this off, I'll check back in and write up a conclusion!
-Lance