CSCIE-259 - Project Proposal
Mahesh Vandi Chalil
Server Resource Tracking Application
Mahesh Vandi Chalil
Goal of this project is to develop an XML based Server Resource Tracking Application to track the status of resources running in different environments. This application must be able to handle resources for different applications developed in different divisions across a company and generate some status reports.
This project is to design and develop a flexible and easy to maintain web based Server Resources Tracking Application to keep track of different server resources [DB/AppServers/Web Servers/LDAP etc] used in different environments [Dev/QA/UAT/PROD] by different application owned by different divisions [Training/IT/Library/HR] with in a company/corporation.
GUI will be provided to perform the following functionalities:
1. View, add, update and delete – Department/Divison
2. View, add, update, and delete - Application
3. View, add, update, and delete - Server Resource
4. View, add, update, and delete - Environment
5. View, add, update and delete - Server Resource Type
6. View the Reports
7. View Audit Trails
Some additional features provided by this application are:
- Provide authentication and role based accessibility. Means, only administrator will be able to create/update/delete a division, view audit trails etc
- Perform status of tracking each resource via different kind of pinging mechanism based on different resource
- Automatic Email notification to the corresponding support team when status of resource changes to stopped from running state or running from stopped status
- Create status reports of server tracking resources in the form of PDFs, GIFs, etc
Access to different forms/GUI will be based on user’s privileges. If logged in user is an Administrator, user should be able to perform these additional operations compared to regular user.
· Add, Update or Delete of Departments
· Add, Update, Delete of Resource Types
· Add, Update, Delete of Environment Types
· View Audit Trail and Purge Audit Trail
Audit trail functionality will be provided to track users actions [add/update/delete] with different applications and resources tracked by this system.
Once deployed in an environment, this web application will be executing 24x7 mode to continuously track the status of server resources managed by this application. There will be a parallel running thread to check the status of each resource in a periodical basis and update the XML database accordingly and send the status to appropriate party.
The motivation to create a Server Resource Tracking Application started when I joined State Street Corporation last year. In order to provide 24x7 support to our users for our newly deployed production application, I decided to create a server resource tracking application which will help us to monitor all resources like database, application servers, web servers, Actuate report servers etc. Then I extended this application to monitor these resources in all environments like Development, QA, UAT etc. This was implemented simply by hard-coding all these server resources in java class with different collection structures, but just for our application.
I want to extend this application architecture to support different applications developed by different application teams in different divisions across the company. And would like to implement this project using various XML technologies and to find out how to apply XML technologies to make this project implementation a more flexible and easy to maintain.
This project requires the following infrastructures:
Apache-Tomcat Application Server v6.0.10
SMTP Email Server
Project will utilize the following XML-based technologies:
Project will be implemented by using the following language(s):
Methodology and Technology:
For this project I will use XML as the datasource and JSP/XSLT/Servlet to construct the front end. The application will be hosted in a tomcat server running at the Extension School’s server, nice.dce.harvard.edu, which has been made available to us in class.
The data required for this project I will be setting up as sample data which resembles the real data in order to demonstrate a completely functional application.
What new skills will need to acquire?
I believe I have right level of skills required to achieve the goals of this project, but would like to learn more on CSS to apply the proper styles to make the GUI attractive.
What topics will need to research?
Already completed lot of research. But would like to do more research on XSL-FO to create PDFs for my final reports of server resource statistics.
In a sentence or more, ask for some help. What questions or concerns have you for the staff?
Because this is a Server resource tracking application, different resources will be tracked in different ways depending on the resource type. For example a web server will be tracked by pinging the webserver url, application server will be tracked by pinging the application url deployed in this server, database might be tracked by either creating a connection to it or by pinging the listener via tnsname entry etc
My concern is: I may not be able to demonstrate how each of these resources are tracked differently because that is not the focus of this project but is to show how different applications developed by different divisions in a company could be managed using XML and create some reports and show as an example how couple of resources are tracked. I hope that should be fine. Please let me know your thoughts on this.