I joined the new company about a month ago. The company is quite small in size and has a fairly strong "starting" feeling. I work as a Java developer in a team of 3 people. The company mainly sells the service to business / business type people who are used in communication with each other.
One of the main things that I have done and will work is the main site for the company - from which the service is sold, existing users register to check their service and pay their bills, new users can register for a trial version, etc. This is currently a JSP application deployed on Tomcat, with access to a database run through a persistence layer written by the company itself.
The recurring and growing disappointment that I am experiencing here (and I am very pleased with the work in general, so it’s not “oh no, I don’t like my job”), it’s the absence of any larger design or architecture for this web application . The application is composed of several dozen JSP pages, with virtually no logic existing in Servlets or Beans, or in any other structure. Many of the JSP pages are thousands of lines of code, they are jsp:include other JSP pages, business logic mixes with HTML, frequently used code fragments (for example, getting a connection to a web service) are cut and pasted, not reused, etc. d. In other words, the application is a mess.
There were some troubles in the company trying to redesign this site to better match MVC; I think that developers and developers are beginning to realize that this existing model of spaghetti code is not sustainable or very easily scalable to add more features to users. Senior executives and developers are afraid to completely rewrite the thing (with good reason, since this would mean several weeks or months of work rewriting existing functionality), but we had some discussions (slowly) writing certain areas of the site into a new structure.
What are some of the best strategies for moving the application and codebase in this direction? How can I, as a developer, really help promote this together and quickly, without some new guy who comes to work and tells everyone that what they wrote is crap? Are there any proven strategies or experiences that you used in your own work experience when you came across such things?
java design jsp architecture model-view-controller
matt b
source share