E-Governance Project: Industrial Training Report
E-Governance Project: Industrial Training Report
ON
E- Governance Project
Bachelor of Technology
in
Submitted By:
Name: VIVEK
Submitted To:
MAHENDRAGARH
123029
.
.
.
. DECLARATION
.
.
. Training Report entitled E – Governance Project is an authentic record
I hereby declare that the Industrial
of my own work as requirements.of Industrial Training during the period from FEB 2022 to JUNE 2022 for
.
the award of degree of B.Tech. (Computer Science & Engineering), School of Engineering and
Technology, CUH, Mahendragarh, under the guidance of Dr.Rakesh Kumar And Mr. Sanjay Ahuja
(Founder and CEO of Cionlabs Private Limited , Bengaluru).
(Signature of student)
VIVEK
( 180902 )
Date: ____________________
Certified that the above statement made by the student is correct to the best of our knowledge and belief.
Examined by:
1.
Head of Department
My four-month Industrial Internship Program work term was with the Cionlabs, Bangalore.
I was involved in the area of e-Governance during my work term, all of which will be
outlined in this report. This report will cover some background information on the projects I
was involved in, as well as details on how the projects were developed.
There are two major projects that I had a significant role in.
The first project involved gaining a good understanding of an Cionlabs product called
Content Manager. My task was to study its capabilities from the point of view of a data
management solution in the e-Gov system. My task was to
❑ Understand the product,
❑ How to develop applications using Content Manager,
❑ Create a prototype eGov Application on top of it.
One of the important achievements of this project was the development of a new
Programming API over the Content Manger Programming API which provides many
features and supports the eGov concept of “Middleware”. The major benefits of this API
are:
❑ It greatly simplifies the task of developing applications on top of Content Manager.
❑ It provides additional functionality in Content Manager, which would be a
requirement for eGov project.
❑ It supports a layered architecture by which new capabilities can be added to the
Content Manager API by implementing the required functionality as layers above
the AP
An application was finally developed using the above API to demonstrate its usefulness. It
was a prototype solution to a real life problem known as Inner Line Permit, which occurs in
eastern states of India like Arunachal Pradesh.
The second project was on designing and implementing Audit Trails in Distributed
Database Environments such as that of eGov. Audit Trail can be described as electronic
evidence that can be used to trace transactions to verify their validity and accuracy. It
gathers data about activity in the system and analyzes it to discover security violations.
In this project we worked on some issues regarding Audit Trails in such an environment
and some solutions were proposed.
I acquired many new technical skills throughout my work term. I acquired new knowledge
in the area of Distributed Databases. I also brushed up my Visual C++ skills while making
the Content Manager application. Then I got introduced to the area of research and how to
approach it. Most importantly, the work experience was very good which included good
fellowship, cooperative teamwork and accepting responsibilities.
Although I spent a lot of time learning new things, I found that I was well trained in certain
areas that helped me substantially in my projects. Many programming skills that I used in
my projects, such as programming style and design, were ones that I had acquired during
my studies in Computing Science.
This report concludes with my overall impressions of my work experience as well as my
opinion of the Industrial Internship Program in general.
2
TABLE OF CONTENTS
1 ACKNOWLEDGEMENTS 5
2.2 Introduction 6
3
4.3.1 Architectural choices 21
4.5 Solution 23
4.5.1 Reference Architecture of ATA 25
4.7 Summary 26
7 BIBLIOGRAPHY 28
4
1 Acknowledgements
During my internship , the staff at Cionlabs and persons guiding me were were very
helpful and extended their valuable guidance and help whenever required for the projects
which I worked on.
I am very thankful to my guide Dr. Sanjay Ahuja for his invaluable guidance and advice
during my Internship.
I am thankful to Jaijit Bhattacarya for his guidance and friendly support during my stay at
IRL.
I am also very greatful to Upendra Sharma ( for great cooperation and help esp. in the 2nd
project and my final presentation ), Ajay Gupta ( for helping in my final presentation, in
developing the application and the API and documenting the APIs ) and Harish Chauhan
( who was always ready to extend any technical support at a short notice ).
I also thank Dr. Manoj Kumar who helped us in the 2nd project on Audit Trails by sharing
his vast experience and giving valuable direction to the project.
Overall , the above team made my stay at IRL an enjoyable one and I am greatful to them
for making it so.
5
2 Introduction and Overview
Governments are central players in the new economy. They set the climate for wealth
creation. They can act as a deadening hand on change or be the catalyst for creativity.
They can cause economic stagnation...or they can set a climate for growth."
2.2 Introduction
Performance of government affects quality of life, economic growth and voter behavior. To
that extent, it is essential to streamline the business of governance.
Technology has been a widely used tool to increase productivity and to remove
inefficiencies in various industries in the late 20th century. However, the business of
governance has been late in adopting technology solutions to increase its efficiency.
The primary reason for this anomaly is that there are numerous technology issues that
need to be resolved before a true eGovernance solution can be adopted.
Citizens
e-Gov solution
Various governments, involved in the task of building a e-governance solution, are facing
a three pronged problem. The first is how to select and entrust a solution provider to
6
deliver any part of e-governance. While there are numerous solution providers in the
market, it appears unlikely that any single vendor can offer the entire system/solution.
The second is to ensure that after each solution provider has created a solution, the
various solutions should be integrable and should talk to each other. Since each solution
provider may use its own technologies, data schemas and standards, integration will be a
challenge.
The third problem is to encourage the development of portable/ replicable solution, that
can be reused in applications for other government agencies, States etc. The reasoning
behind this is that, just as in businesses, around 85% of the processes are same across
firms, within the same industry, it is expected that 85% of the processes should be similar
across different governments. Thus, it should be possible to use the solutions developed
for one government, in another government. Reusing the e-governance asset across
different governments can substantially bring down the cost of governance.
One possible option for addressing the above stated challenges is to adopt a model in
which the solutions to be developed and deployed can adopt to any network topology,
make use of a reusable middleware ( which can impose some standardization). Such a
middleware itself may make use of standard software components from the industry.
Finally the applications themselves will be built by Total Solution Providers on top of the
middleware.
Cionlabs is working on the design and prototype of the e-governance middleware, which
will make it possible for governments to quickly deploy applications with the help of this
middleware. These applications themselves may be to facilitate interdepartmental
activities within the government, Citizen and employee interactions with the Government,
or to to conduct the business of governance with businesses and enterprises.
7
2.7 Project Overview
This part of the project involved gaining a good understanding of an Cionlabs product
called Content Manager. My task was to study its capabilities from the point of view of a
data management solution in the e-Gov system. My task was to
❑ Understand the product,
❑ How to develop applications using Content Manager,
❑ Create a prototype eGov Application on top of it.
One of the important achievements of this project was the development of a new
Programming API over the Content Manger Programming API, which provides many
features and supports the eGov concept of “Middleware”. The major benefits of this API
are:
❑ It greatly simplifies the task of developing applications on top of Content Manager.
❑ It provides additional functionality in Content Manager, which would be a
requirement for eGov project.
❑ It supports a layered architecture by which new capabilities can be added to the
Content Manager by implementing them as layers above the API.
An electronic audit trail is a form of evidence that can be used to trace transactions to
verify their validity and accuracy. It gathers data about activity in the system and analyzes
for the purpose of auditing the events by the application on the data. The current project
focuses on the various issues involved in having an audit trail mechanishm for a
distributed architecture like that of eGovernment as discussed above. It will discuss the
placement of audit trail logic once the eGov architecture is in place and then other issues
like its storage and security issues.
8
3 Project - I: Content Manager
eGov is massive project in which data management plays a vital role. Since the number of
applications running on the system will be large in number, data storage, retrieval and
management will be a important issue. For this, a data management solution is required
which will suit eGov requirements. An Cionlabs product called Content Manager offers
one possible solution.
Since the information generated by most of the eGov departments may not possess a
structured format and thus there is an obvious need of some tool, which can mange this
unstructured information in a efficient manner. Content Manager, an Cionlabs trademark,
offers a scalable solution for the same as it can manage all unstructured information in an
efficient fashion.
2. To understand the Content Manager product and its proper configuration and settings
4. To develop an API on top of the Content Manager API which adds functionality to
Content Manager as per the requirements of eGov.
Content Manager uses Cion DB2 Universal Database as an adjunct to do its work. Cion
DB2 Universal Database is an Cion Labs product to take care of the enterprise database
needs.
Prior to installing Content Manager, one needs to install Microsoft Visual C++ and Cion
DB2 Universal Database and configure it properly. We faced some problems in Installing
Content Manager and tried some times before giving up. We found it to be incompatible
with DB2 version 7.1 so we tried DB2 Version 6.1. After that some additional configuration
is required in the Windows NT regarding some system privileges. Content Manager uses
the Services features of Windows NT and starts its modules as Services. Once you install
Content Manager, you need to start these services to make Content Manager functional
on the machine for that particular session.
9
3.3.2 Understanding Content Manager
It can help you maximize the value of your information and multimedia assets. Regardless
of the type of data (text documents, scanned images, audio, video, forms any binary
object), it lets you store data on distributed servers and access it through a single point
without knowing about the whereabouts of the data on the network.
This is ideal, where large amounts of data of heterogeneous nature is required to be
accessed through a single client application where the data could actually be located
across various servers.
For example a library with various branches across the country may place its books in
popular formats e.g. pdf format and other media such as images, videos etc. across
various servers which can be accessed through a central server using the Content
Manager solution. Any user can then have a single view of the entire library using a web-
front end.
Client
Library
Server
3.3.3.1 Client
This is the end user who will be accessing the data stored in the Content Manager
implementation using Library Servers and Object Servers. Note that the client
communicates with both Library Server as well as the Object Servers.
The connection between the client and the object servers has high bandwidth as
compared to the connection between the client and the Library Server. This will become
clear in the following sections.
Library server, manages the Content Manager catalog information, locates stored objects
using a variety of search technologies, provides secure access to the objects in the
collection, and communicates with the object servers. A Content Manager system requires
one library server, which can run on Windows NT(R), Windows 2000, AIX, or OS/390(R).
The library server uses a relational database to manage digital objects and provide data
integrity by maintaining index information and controlling access to objects that are stored
on the object servers. This relational database can be Cion DB2 Universal Database(TM)
(DB2 UDB) or Oracle.
The object server is the repository for objects that are stored in the Content Manager
system. Users store and retrieve objects from the object server, through requests that are
routed by the library server. . There can be multiple Object Servers in an implementation.
The object server efficiently and automatically manages storage resources, based on the
storage management entities (such as volumes) that are defined using the Content
Manager system administration program A Content Manager system can have many
object servers distributed across networks to provide convenient user access. Object
servers run on AIX, Windows NT, Windows 2000, or OS/390.
A database on the object server contains data about the exact location of each object. The
database can be either DB2(R) UDB or Oracle.
• Support for heterogeneous servers allows you to use the system for all kinds of data
(including streamed data), while optimizing the processing of individual data types.
• Client communication through the library server ensures the integrity of data objects. A
client can access objects only by requesting them through the library server. The library
server database contains information such as object types, indexes of all stored objects,
authorized users of the system, and access control lists for each object.
11
• Separation of client applications, indexes, and data makes applications independent of the
data's location on the servers.
• The open architecture allows the intermixing of additional object servers on the same or
different operating systems and supports scaling from one operating environment to
another, as growth requires after implementation.
After going through the various manuals of Content Manager and filtering out the essential
points, I wrote a document called Beginners Guide to Content Manager which covers
the essential concepts of Content Manager including application development and
includes appendices with useful reference information regarding Content Manager. This
guide serves as a useful introduction to any person striving to understand Content
Manager.
As the major outcome of the first project, an API was developed over the existing APIs of
Content manager, keeping in mind the following benefits:
The API
• Makes it very easy to perform operations on the CM Database
The Content Manager API is difficult to learn and use to make actual applications and
hundreds of lines may be required for simple operations such as insert , delete and
search etc. The new API makes it very easy to write new applications on top of CM
and one can do insert , delete etc. in just one line.
12
e.g.
• New layers like Custom Access Control, Audit Layer can be added
Some requirements of applications like those in eGov may not be completely or
partially fulfilled by Content Manager. To take care of these requirements, one can
simply implement the functionality required in a new layer on top of our API resulting
in additional functionality. ( See the figure below )
E.g. In our prototype application to be discussed in the next section , we implemented
new layers for audit trail and additional security requirements , demonstrating the
above concept and how to go about implementing new functionality on top of the new
API.
Application
Audit Layer
Security Layer
SimpleCMAPI
The above figure shows the role of the new API in developing applications. The
application talks directly our API and all its transcations pass through various layers like
audit trail layer and security layer which can demand or implement the required
functionality for the application.
An application was developed using the APIs described above. In order to develop an
application a real life scenario of “inner line permit “ was taken and a prototype solution
application was developed over content manager.
All non-resident visitors wanting to visit Arunachal Pradesh need an Inner Line Permit to
cross the border as a security requirement, which can be obtained from the Resident
Commissioner and Liaison Officers, Govt. of Arunachal Pradesh. However, the citizens of
Arunachal Pradesh don’t need an Inner Line Permit to enter the state. This poses a
problem at the entry checkpoints, as it may be difficult to make a distinction between a
citizen of Arunachal Pradesh from a non-resident visitor.
• Inner line permit request is made to authorized office of the state government
• The request is entered in the system alongwith the scans of required documents
• Inner line permit is issued by authorized offices against the required documents
• At the entry check points the security personnel verifies whether a person entering the
state is a resident or a non-resident using the information system
• For non-residents, validity of the inner-line permit is checked using the system
• The person entering the state (both resident and non-resident) are identified using
identification marks entered in the system as well as the photographs entered in the
system during the issuance of inner-line permit/ residentship.
Thus, a convenient system, which permits the state government to access the
residentship database of the state with identification information would greatly assist in
managing the flow of people into the sensitive state.
14
Arunachal Pradesh
OR
RESIDENTSHIP
Inner Line Permit for VISITOR
The application, as shown in the screen shots, provides the necessary funcitonality as requested by the
situation. An efficient usage of the above mentioned APIs has also been shown by providing extra
security and auditing facilities in the application.
15
Some screen shots of the inner line permit application
16
Demonstration of Workflow capabilities in the application
Content Manager fulfills some of the requirements of eGoverment. However, it is not the
complete solution for eGov Data Management needs but in can serve as the part of the
solution. More extensive database applications need to be explored which can talk with
databases of multiple type ( federated databases ). There are some other options being
explored namely:
Data Joiner
EIP supports the concept of data connectors by which it can connect to databases
from various sources including DB2, Oracle, and Content Manager and is capable of
performing a federated search over the various databases.
It also provides ease of developing Web based thin clients for information retrieval in
eGov. This can also be considered a solution for eGov and since it can also integrate with
Content Manager , both can participate in the final Data Management solution.
17
3.3.9 Summary
Content Manager is a good solution for managing unstructred data arising from various
applications running in eGov. It has a distributed architecture and provides many features
conducive to an eGov implementation.
In the above project, a new API was developed over the Content Manager API to provide
simplicity and extensibility catering to some eGov requirements which are absent in
Content Manager. Using the above API, an application was also developed called Inner
Line Permit which provided a prototype solution for a real life problem.
18
4 Project – II: Audit Trail on Distribute Databases
As the requirements for having online access to enterprise data are escalating, so are the
related security and privacy issues. Moreover, all operations performed on such information may
need to be tracked and documented in the system for future reference and security reasons. E-
government is one such application, which would require security and audit trails.
Generally, current e-government system designs aim to provide one of four service levels:
• Displaying information about agencies or aspect of the government.
• Second-level services provide simple two-way communication capabilities, usually for
uncomplicated types of data collection such as registering comments.
• Third-level services facilitate complex transactions that may involve intra-
governmental work-flows and legally binding procedures. Examples of such services
include voter and motor vehicle registration.
• Fourth-level services seek to integrate a wide range of services across a whole
government administration, as characterized by the many emerging government
portals. The eCitizen portal, developed by the government of Singapore, offers a
prime example of this system type.
In order to provide the above-mentioned service levels, governments are facing a three pronged
problem: 1) out of many competitors in the market, whom to entrust for providing a complete
solution; none of them have an experience. 2) Interoperability of various solutions for
interchange of information and data. 3) Containment of cost by developing a portable/replicable
solution. One of the feasible options for all the above problems is to provide a middleware and
let the total solution providers build applications on top of it, which would cater to the needs of
the specific departments of government. One of the important requirements, of this kind of
solution, will be a robust audit trail mechanism, which will audit different events depending on the
policy decided by the government or some other policy maker.
An electronic audit trail is a form of evidence that can be used to trace transactions to verify their
validity and accuracy. It gathers data about activity in the system and analyzes for the purpose
of auditing the events by the application on the data. Hence audit trail can be defined as a series
of records of the computer events relating to the operating system, application or to user. It can
be used for any of the following purposes:
Individual Accountability: Users actions are recorded allowing users to be accountable to their
actions.
Reconstruction Events: Audit trails can be used to reconstruct the events in case the need
arises.
Problem Monitoring: Audit trails can be used to monitor and correct the problems, at the OS,
system, or application level, as and when they are encountered.
Intrusion Detection: Important security issues like breaking into the system, unauthorized
access, and/or any other security violation can be detected by maintaining proper audit logs of
the processes which need to be monitored.
19
Data
Application
Any auditing system constitutes of two parts 1) Audit Data Collector and 2) Audit Data
Analyzer. The operations of Audit Data Collector can be classified into any of the following
three classes, as shown in the figure above, namely 1) storage of audit trail 2) audit of data
access and changes 3) audit of system, application, or user events.
In this rough draft we will be addressing the issues involved in Audit Data Collection, which is
composed of three above-mentioned sub-issues.
Application
Transaction
Commands
M
I
D
D Query processor and
L optimizer
E
W
A
Data Virtualizer
R
E
20
Data virtualizer is an important element in the eGov middleware. I does the task of
abstracting the physical location of data and provides a single logical view of the backend
databases.
Since security and auditing is a mandatory feature of any government operation and thus
while providing a solution to government one has to give serious consideration to both
auditing and security. In this part of my project I’ve concentrated on the auditing system
which could possibly be a part of the eGov middleware. The auditing system which was
studied during this training keeps in mind the distributed nature of the eGov solution.
In the current work we have studied the problem of auditing the entire eGov solution
distributed across the network and to maintaing, efficiently and effectively, a complete
audit of all the operations carried out by the middleware and providing role based access
control features to the audit database as well.
Problem Description
Where should we place the Audit Trail Component in the e-government architecture ( as
shown above ) is an important question because audit trail will be an important
requirement in e-government and will be used for various services including security
services etc.
1. Application
One can place the audit trail component in the application itself. This means the
application developer will be responsible for figuring out the audit trail logic as per the
requirements and implementing it in their applications. Or he may use Audit Trail modules
to implement the Audit Trail functionality in his application.
In this scenario, the audit trail component will intercept all the transactions taking place
between the applications and the DAU. It will then take care of the audit trail requirements
independently of the application and store them according to the
Before designing the above mentioned e-government system, one needs to know how the
audit trail architecture will look like to take care of required issues in the middleware.
Hence we need to evaluate these options with reference to above-mentioned distributed
system and choose the best possible architecture.
21
Let us look at the issues, which help us to evaluate these options.
• Security Issues
o Risking security at the hands of applications
In the first option, if we place the audit trail component in the application itself, then audit
trail becomes application dependent. This involves risk to the e-government system, as
the application developers may not adhere to the requirements of audit trail.
o Tamper proofing of Audit Trail
Audit Trail represents sensitive data, and the auditor must be ensured that the audit trail
data has not been tampered.
o Access Control to Audit Trail
We may need to provide access to audit trail in hierarchical manner.
• Implementation Issues
o Application Complexity
With regards to implementation of Audit Trail component, we also want simplicity in
application development.
o Database design Complexity
In a distributed database environment, simplicity in database design will be preferred.
• Audit Trail Transparency to the application developers.
It is preferred that the audit trail mechanism is kept transparent for the application developers,
as it will greatly simplify the task of application development.
• Consistency of Audit Trail across the entire system
This is a very important requirement, as the e-government system will be monolithic in nature,
hence audit trails must be stored in a uniform fashion in terms of format, architecture, access
etc.
22
this again is
decentralized.
Tamper proofing of Audit Trail If left at the hands of Because this is Tamper proofing is
application developer centralized, hence the risked at the hands of
then again the situation is generation and the database
similar because the maintenance of the designers and
nature of generation of audit data is not an maintainers.
audit data and its issue as these are the
maintenance is bodies, which maintain
decentralized. all the policies.
Access Control to Audit Trail Since this is left at the No such issue is there, Similar to that in the
hands application as this will be case of application
developers this is also at implemented n shipped developer.
the risk of not getting by a responsible
implementing to the level organization.
of expected
requirements.
Application Complexity Increases and thus not Is decreased, as they Is decreased, as they
preferable. are relieved of it. are relieved of it.
Database design complexity Unaffected Database design is Is increased as they
simplified, as the have to take care of
designer is relieved of the necessity of
the responsibility of it. meeting the
requirements laid
down by the
government.
Audit Trail Transparency to the Not present Present Present
application developers
Consistency of Audit Trail across the Difficult to maintain and One of the simple Difficult to maintain
entire system thus not preferable features of the and thus not
middleware design. preferable
Ease of Audit Policy Management Difficult Easy Difficult
4.5 Solution
In the previous subsection, we discussed the various pros and cons of different options of
keeping the audit trail component. From the discussion, we can conclude that placing the
audit trail component in the Middleware, as shown in the figure below, is the best option.
As shown, the audit trail agent (ATA) has been placed in the middleware above the DAU.
The idea is to operate the ATA at the middleware level and more independent of the other
components of the architecture namely the applications and the databases.
This approach offers many new perspectives of looking at the design of Audit Trail.
It makes sense to pull out the audit trail component and convert it into an independent
module called the Audit Trail Agent, which will be responsible for the Audit Trail
Mechanism in the e-government system. In the architecture shown below, Audit Trail
Agent lies between the applications and the DAU and intercepts all the transactions and
other communications, which the application is issuing to the Middleware. Thus Audit Trail
agent is actually interested in observing the “actions” of the application and records them
for later analysis. It is important to note here that in the above architecture, the audit trail
mechanism is not bound to the data storage/retrieval mechanism but exists independent
from it. This is important, as the Audit Trail is a separate application with not much reason
to bind it to the databases.
23
Application
Transaction
Commands
S M
E I Audit
C Audit Trail Agent
D Policy
U Database
R D
I L
T E Query processor
Y W and optimizer
A
R Data Abstractor
E
In the next section we will discuss the architecture of ATA and the communication of
its components with the other components of Middleware.
24
4.5.1 Reference Architecture of ATA
User Applications
Event Identifier
Audit
Storage/Retrieval
Agent (Tamper-
Audit Trail Central Logical proofing)
Unit
Audit policy
change
/update
operation
Local Database
Audit Policy Database
Interpreter
Audit
Operation Type Analyzer Policy
Database
Type of
data
request
25
4.6 Future Work
We plan to implement the complete ATA in a working, distributed system, which could be
EIP or Content Manager and sort out further technical issues involved with it which
include:
• Security Mechanisms
4.7 Summary
A detailed review of the existing state of art has been carried out for audit trail systems in
various enterprise and non-enterprise solutions. A intutive architecture and logical
placement of the ATA has been proposed which optimizes across maximum number of
enchmark issues.
The Internship program was quite beneficial for me. It helped me in improving my various
technical skills and enhanced my knowledge in new areas.
• I gained new knowledge in the area of Databases and Distributed Databases, the
various issues involved and mechanisms in these systems etc.
• By studying Content Manager, I also learnt that how database products function and
what are the various issues one need to be aware of while looking for Data
Management solutions.
• E-Gov is an emerging field and I got some insight into a how a new field looks like
when in the initial stage and what are the various things which need to be done initially
like requirement analysis, survey of existing solutions etc.
• I was working on a research topic for the first time and I got introduced to this
important area of research and methods employed in conducting research.
• I brushed up my knowledge of Visual C++ and MFC (Microsoft Foundation Classes),
as it was required to develop applications on top of Content Manager
Work Experience
My internship was quite satisfactory in terms of work environment. The team I worked with
was very friendly and helped me a lot in all my problems. New experiences include
• Teamwork
In these projects 4-5 people worked together thus providing enough opportunity for proper
teamwork and coordination. This was a good experience for me as the team was very
cooperative and understanding.
26
6 Applying My University Skills
My education at CUH was very helpful in my Internship. The programming skills which I
developed in CUH were very helpful in developing the API and the Inner Line Permit
application. The courses CS120 ( Computer Programming) and CS130 (Data structures
and Algorithms) were especially helpful in this regard.
Course on File Systems ( CS311 ) was also very helpful as it covered some database
concepts which were required in understanding Content Manager and the database
concepts in the second project as well.
27
Bibliography
28