I would add to the existing answers:
Do not use a lot of technologies that you are not familiar with, or have only basic flaws; EJB, Hibernate, etc. They do not give you any assessment of what is happening under the covers, and add to the learning curve, pushing your deadline. Instead, going for something is a lot easier; e.g. RMI client server with JDBC or Spring / JDBC for persistence. You can always redo items later, but it’s better to deliver them incrementally, and not at all.
source share