WRITE-UP for BIS Project
Goal of the Project
The Chief goal of the Project is to develop a system mainly meant for use by
application programmers.This system should authenticate a user on an
Information system and also supply information regarding the various
priviledges of the user. This information may be organized in various levels
and may be in various forms.
-
Information regarding groups:
Users in an IS may be organized in various groups. There may be a heirarchy of
groups. The system should allow group management.
-
Information regarding roles:
Users may be assigned roles. Roles may be transferable. The system should be
able to manage roles.
-
Information regarding stored Procedure execution:
This is a higher level of security. Based on constraints supplied by
programmer, the system checks every 'special' procedure before execution to see
if its parameters satisfy the constraints.
What has been done so far.
The design and a basic implementation of the first level has been done.
Some functionality which has been implemented is as follows:
- Basic Username /Password checking.
- Changing Passwords
- Implementation of Groups.
- Finding all Members of a group
- Finding all groups to which a user belongs.
- Finding roles which may be played by the user.
What needs to be done.
A lot needs to be done to bring this system to a viable stage.
- Better User Interface:
The interface needs to be more powerful and allow
more options.
- Network Security:
Encryption etc. should be implemented to allow more security
over the network. Password should also be stored in encrypted format.
-
Procedure + Parameter information.
-
More robust implementation and error checking :
I have made several simplifying
assumptions in the code. For example, I have assumed that the heirarchy of
groups is always a Dag. However , we need to check for cycles while inserting
and searching. For that, a better version of BFS has to be implemented.
- Optimization:
If possible, the number of connections/queries being
made to the database should be reduced as this may create a bottleneck.
What I have learnt from this project.
- Experience in Java and Databases:
I learnt about programming in Java Servlets and JDBC. In course of that I
also learnt a lot about databases, especially oracle, and about SQL.
-
Issues involved in network :
In course of the project I became aware of various issues in networking, such
as security and speed problems.
- Importance of Design and Planning:
I realized the importance of the ER model, the SRS and such other designing
paradigms . These truly help in keeping the design and the implementation in
step with each other ( and in keeping the programmer sane !).