Develop a web-based application. The server-side part of the application must be developed using Java Servlets (possibly including JSP). The development of the client (browser) side will typically be a combination of HTML and Javascript.
The Scenario
The company you work for requires a system that allows them to easily share documents and files with all their employees around the world. The sensitive nature of the documents means that they are not willing to use any third party software or hosting company to provide this, so they have decided to build their own system.
You have been tasked with building this application. Your company supports open-source development and therefore insists that the application must be built using java technologies, specifically Java servlets and JSP. Also the Eclipse platform and a Tomcat server are used within the company, so these should be used as the development and deployment environment.
The application must provide a web-based interface that allows company employees to upload files form their local machine. These files must be stored by the application and then made available for download by other company employees. The ability to browse and search the available documents should be included. Also it is likely that some kind of file-system hierarchy should be incorporated in order to manage the potentially large number of files. All files must be stored on the server, either in a database or in a flat-file system. Ideally the system should include user authentication, in order to ensure access to particular files is restricted. Also, the final system should ideally include an administration feature that allows control over aspects such as maximum file size, location of users (restricted IP addresses) and permission control over particular files.
At the moment the management are unsure about using frameworks such as hibernate and spring, so would like the initial system NOT to use such frameworks. However, as part of the project they would like written report describing one of these frameworks to be produced. They are also interested in the idea of supporting RESTful style services, hence they would like the written report to include an overview of the concepts behind the RESTful approach.