Coding Zone

                                                    


Here are some of the applications that I developed during my academics and part time.
 

Secure Peer to Peer file transfer

 

This application is designed to facilitate secure peer to Peer file transfer between Sets of client. In this application there is a indexing server and set of clients. Each client registers to the indexing server and register its file content in the global directory to the server. If other clients require that file they first query indexing server and then indexing server returns the set of clients having that file. Then requesting client select one of the client from the list and stabilize secure channel for the file transfer. I used RSA public key encryption for the file transfer. Each client has set of private and public key to confirm confidentiality and authentication. Digital signature is implemented to ensure authentication. All server and client are multithreaded to accept any number of requests at any time. Thread pooling is implemented to insure that request is handled in a proper way. Sharing of key is serialized with additional encryption to deny spoofing attack.

Enviornmetal Reqirenment for this project:

1) Java 6 (JDK)

 

Presentation

 

Code 

 

Ask Question


 

Small Retail Buiseness Store

 

This application is designed as a typical retail business web application. Application facilitates proper communication between Customer, Retailer and actual user. Actual user of the application is a person who makes purchase on user behalf (employee). Each user is associate with user id. Similarly each customer and suppliers also have unique key. Supplier supplies set of products, Application also keep track of inventory of the product. Application also facilitate adding new employee, Assigning roles, Editing products, Adding products, Adding new customer, Checking all the constraint, Generating event log as an when purchase is made, Inventory notification, Dynamic searching of product, employee and customer. This is just a pilot application and can be enhanced by using time sheet features and all.

There are many pre-requisite to run this application

1) Connection to the database (SQL) (The document below explains normalized table)

2) Change the code (DataBaseConnection.java) to connect to your database.
3) Create a power user (CEO) to create the employees.

4) Can see the code to get the basic idea for database connection, Bean Creation, JSP.

5) Can take the help of the document to create sequence, Trigger or Stored Procedure

 

Application Enviornment:

1) JAVA (6)

2) JSP

3) AJAX

4) ORACLE DB

 

Problem Statement

 

Stored Procedure

 

Application Code

 

Ask Questions


Folder Update Application

 

We often come across applications where information is stored in static form (HTML pages) for that we need not connect to internet every time. One solution to this is to have a file system mode of application (That is mounted on hard drive). Information can be accessed going through web site in the local drive. Challange to this kind of applications is copy on local drive needs to be up to date with the server. For that synchronization needs to be performed every time or whenever user want with the server. Idea behind this application is to provide that synchronization. With 2-3 GB folder size (Application Folder) we can not effort to provide full synchronization every time. This application takes input and output folder one on the local drive and one on the server (Right now it's hard coded) and it assumes that server folder exists in the shared drive (Just a pilot project and can be extended to server connection too).Application identifies updated file from the folders and tranfer only those file. Also extra files are deleted from the local drive if any after the updation. This is just a Pilot project and a lot of improvisation can be done on that. Code below helps you to get the basic idea to perform these kind of jobs.

 

Application enviornment

1) JAVA Swings

 

Code

 

Contact Me


 

Rate Monotonic Scheduling

 

Linux currently supports three kind of scheduling class SCHED_RR (For Round Robin scheduling), SCHED_FIFO (For first in First out) and SCHED_OTHER (For all other processes).These classes are arranged on the basis of there priorities, with SCHED_RR having highest priority (most of the real time processes falls in to this category ,Though there is more than just priority, like each processes, apart of being having static priority has dynamic priorities that can be computed during run time depending upon how much time a process has actually taken while execution and for how much time process is not executing). The goal of this assignment was to implement new shceduling algorithem SCHED_PERIODIC_RT that support Rate Monotonic Scheduling (RMS) policy for hard time real time time processes. In RMS each process has some computation time and time period (deadline). Each process should complete there computation before this deadline. RMS processes has highest priority in the system and hence care should be taken that they should not starve other real time processes (Like console and UI processes). To do this only 70-80% of CPU cycle is alloted to the RMS processes. Also before admitting any process (Through sched_setscheduler(pid,policy,sched_priority) system call) as RMS processes, check should be made to ensure that submitting this process should not cause deadline miss for other RMS processes. to check this admission control criteria one can use the formula SUM Ti/Tj*Cj+Ci<=Ti for all j from 1 to i-1 and do this computation recursively till all the processes from 2 to N , where Ti= time period of process under question, Ci=computaion time, Tj=time period of process before Ti, Cj=computation time for jth process. If submission of a process cause deadline miss for any of the existing RMS process that process should not get submitted. Other thing needs to be taken care of is that everytime a higher priority process (Process with low time period T has higher priority) within RMS is eligible to run (It's time period is over), current running process should ger preemted and higher priority process should run (This operation of preemption include task switching overhead within the kernel that should be accomodated and taken care of by yielding processes to CPU once computation is finished before it's computation time). It has been observe that deadline miss (RMS process not able to finish there computation before time T) can be seen when the utilization factor (SUM Ci/Ti) is high. Impotant functions and files needs to be changed to do this assignment are,

1) linux/kernel/sched.c

2) linux/include/linux/sched.h

3) linux/kernel/(create your own class file)

 

Problem Statement

 

Code

 

Linux Help

 

Contact Me

 

 

Conflict Detection and Hierarchy Conversion for Role Based Acess Control (RBAC) and Parameterize RBAC

 

Information About RBAC and PRBAC can be found at,

 

RBAC

 

PRBAC

 

For a set of input rules and hierarchy, code can be used to find conflict between the rule. Conflict detection can be used to used to detect conflict for seperate administration and Hierarchical Constraint. 


Project Report


Project PPT



Chart creation Using Google API


Following project create chart based on input value using google API. Please refer Google API For chart for customizing different kind of chart.

This chart can be used to generate sales report, Site visitor report or any custom report you want in chart form.


Following project give just a basic program where requirnment is to generate chart report of number of defect solved and any other parameter of project year wise.


Project basicaly takes input of user month wise and store it in XML file (No need to create any database entry). If data for that month and year is already present then data is updated or else new data is added to the XML file.


There is a very simple interface where in you can select year and based on data in the xml file you can generate report. Drop down shows only those year whose record is present in xml file.


Attaching zip file that can be directly imported in Eclipse to run. Please let me know if you have any question.


Language used are JAVA, JSP, JQuery.


Code


Contact Me



Basic Multi threaded Web Server


Project to create simple file based multithreaded web server in java. This web server supports GET and HEAD request. Please read ReadMe.txt file for configuration detail.


Contact Me



DVD Rental Application using Jackrabbit, Sling, OSGI


Project is a simple demo of how to create a RESTful application using Apache jackrabbit, sling, OSGI. It also demonstrate how you can integrate third party library to OSGI (OSGI'fing jar)


Pre-requisite: CRX (This is actually not free and can be licensed through Adobe here

Or download sling from here and try (Not tested but should work, require few changes though)

To make your life simple get code from http://dvdrentalcrx.svn.sourceforge.net/


Another example of same example but using Hibernate (JPA annotations) and java


Pre-requisite: Offcourse Database (I am using mysql here), Tomcat to deploy

Get the code from http://dvdrental.svn.sourceforge.net/ (Have to add instruction how to use this .. and work in progress :))



Comments