Required:
A simple prototype for manipulating file storage on a Web Cloud in Netbeans.
The software to be developed is for uploading/downloading files to a simple Web site which features database server for storing and information about the resources available on the cloud, middle-ware for transporting the files between different physical locations on the cloud and Web server for accessing the cloud over the Internet.
The database for storing information on the Cloud (cloud back-end) and implement it using a database server within Netbeans. It will hold data on:
• Users and their credentials (user name, password, client location)
• Files and their content (file name, type, size, Web Cloud location, physical file location)
• Available storage folders (logical name, physical directory location)
• Log of the operations performed (operation, time, user, parameters)
* The same database can be used by both the Cloud front-end (for user access control) and the Cloud middleware (for file operations and logging).
** You can deploy the database on a dedicated database server host or on any of the other server hosts available (Web server host or RMI server host).
Design a Web client and a Web server-side application for uploading/downloading files and implement it using Glassfish as a Web server and Java SE application or Java SE applet as a client/side technology and Java EE servlet or JSP as a server-side technology. The Web application should allow:
• User login
• Uploading files from the Cloud client to the Cloud front-end (from the Web client host to the Web server host)
• Downloading files from the Cloud front-end to the Cloud client (from the Web server host to the Web client host)
• Invoking the Cloud middleware for further file manipulation (the RMI/EJB client)
• Operation logging
* The Web client can be implemented as an applet (deployed to the Web server host together with an HTML form for downloading it to the client), as an AJAX engine (deployed to the Web server host together with an HTML form for downloading it to the client) or directly as an HTML form.
** The Web server-side component can be implemented as a separate Java servlet, JSP with Java bean, or combination.
3. Design a client/server application for remote file manipulation (Cloud middleware) and implement it as a Java SE client/server application (if synchronous operations only) or Java EE server-side application (for both synchronous and asynchronous operations). The application must allow:
• Logging the operations requested by the front-end client from the middleware on the Cloud backend (the database)
• Picking up files stored in a default folder on the middleware client (the RMI client or servlet) and storing them on the middleware server in a specified folder
• Moving files between specified folders on the middleware server (the RMI server or EJB)
• Retrieving files stored in a specific folder on the middleware server and downloading them to the default folder of the client.
• Returning the control to the Cloud front-end (the Web server-side component)
* You can use either synchronous mode of communication between the front-end and the middleware, in which case you must develop RMI client/server application or servlet/session EJB components, or asynchronous mode, in which you can implement JMS messaging provider/consumer components
** The middleware client and server can be deployed to the same Glassfish server host or to two separate hosts – one for the Cloud front-end and one for the Cloud middleware.
In addition to this, architectural design, code technique and inter-communication between software components to be explained in a brief report.
Open to offers. This project should take no longer than two/three days.
I am an IITK graduate, 9 year experienced software professional and I have got top notch developers in my team, who have got experience across a span of technologies. The members in my team have worked with top notch tech organization such as Amazon, Cisco, Oracle etc. We have been involved in similar projects in the past and our track record has been excellent.