Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
A Project Report
Mr.Bala M
Submitted by
NEETHU.K
571111179
1/90
for the award of the degree
of
MCA
2/90
Acknowledgement
people who have been associated with this assignment and have helped me with
Firstly I extend my thanks to the various people who have shared their opinions
and experiences through which I received the required information crucial for
my report.
3/90
BONAFIDE CERTIFICATE
Planning” is the bonafide work of “NEETHU.K” who carried out the project work under
my supervision.
4/90
SIGNATURE SIGNATURE
Information Systems
Executive Summary
5/90
CLOUD computing presents a new way to supplement the current consumption
and delivery model for IT services based on the Internet, by providing for
Salesforce. Details of the services provided are abstracted from the users who
not know the machines which actually process and host their data. While
enjoying the convenience brought by this new technology, users also start
worrying about losing control of their own data. The data processed on clouds
Existing System
users to monitor the usage of their data in the cloud. For example, users need to
6/90
be able to ensure that their data are handled according to the service level
agreements made at the time they sign on for services in the cloud.
First, data handling can be outsourced by the direct cloud service provider
(CSP) to other entities in the cloud and theses entities can also delegate the
Second, entities are allowed to join and leave the cloud in a flexible manner. As
a result, data handling in the cloud goes through a complex and dynamic
Proposed System
7/90
We propose a novel approach, namely Cloud Information Accountability (CIA)
highly distributed fashion. One of the main innovative features of the CIA
authentication. By means of the CIA, data owners can track not only whether or
not the service-level agreements are being honored, but also enforce access and
also develop two distinct modes for auditing: push mode and pull mode. The
push mode refers to logs being periodically sent to the data owner or
stakeholder while the pull mode refers to an alternative approach whereby the
user (or another authorized party) can retrieve the logs as needed.
8/90
We propose a novel automatic and enforceable logging mechanism in the
cloud.
that it does not require any dedicated authentication or storage system in place.
usage control for the protected data after these are delivered to the receiver.
detailed security analysis and discuss the reliability and strength of our
architecture.
IMPLEMENTATION
9/90
Implementation is the stage of the project when the theoretical design is turned
out into a working system. Thus it can be considered to be the most critical
stage in achieving a successful new system and in giving the user, confidence
Main Modules:-
authentication. By means of the CIA, data owners can track not only whether or
10/90
not the service-level agreements are being honored, but also enforce access and
Push mode: The push mode refers to logs being periodically sent to the data
owner or stakeholder.
Pull mode: Pull mode refers to an alternative approach whereby the user(Or
of the cloud. More specifically, log files should be tightly bounded with the
2. Every access to the user’s data should be correctly and automatically logged.
This requires integrated techniques to authenticate the entity who accesses the
11/90
data, verify, and record the actual operations on the data as well as the time that
3. Log files should be reliable and tamper proof to avoid illegal insertion,
4. Log files should be sent back to their data owners periodically to inform
them of the current usage of their data. More importantly, log files should be
retrievable anytime by their data owners when needed regardless the location
overhead, which otherwise will hinder its feasibility and adoption in practice.
There are two major components of the CIA, the first being the logger, and the
12/90
The logger is strongly coupled with user’s data (either single or multiple data
items). Its main tasks include automatically logging access to data items that it
contains, encrypting the log record using the public key of the content owner,
and periodically sending them to the log harmonizer. It may also be configured
to ensure that access and usage control policies associated with the data are
honored. For example, a data owner can specify that user X is only allowed to
view but not to modify the data. The logger will control the data access even
component which allows the user access to the log files. The log harmonizer is
13/90
System Configuration:-
Hard Disk - 20 GB
Monitor - SVGA
14/90
S/W System Configuration:-
Scripts : JavaScript.
15/90
TABLE OF CONTENTS
INTRODUCTION...........................................................................................................10
EXISTING SYSTEM.......................................................................................................11
PROPOSED SYSTEM....................................................................................................12
Main Contributions....................................................................................................12
SYSTEM STUDY............................................................................................................13
Feasibility study.........................................................................................................13
Literature survey........................................................................................................14
SOFTWARE ENVIRONMENT.....................................................................................16
Java Technology........................................................................................................16
ODBC........................................................................................................................21
JDBC..........................................................................................................................22
Networking................................................................................................................26
SYSTEM DESIGN...........................................................................................................31
16/90
IMPLEMENTATION......................................................................................................41
SYSTEM TESTING........................................................................................................43
Unit Testing................................................................................................................43
Integration Testing.....................................................................................................43
Functional Test...........................................................................................................44
System Test................................................................................................................44
CONCLUSION................................................................................................................47
17/90
INTRODUCTION
and delivery model for IT services based on the Internet, by providing for
Salesforce. Details of the services provided are abstracted from the users who
not know the machines which actually process and host their data. While
enjoying the convenience brought by this new technology, users also start
worrying about losing control of their own data. The data processed on clouds
18/90
19/90
EXISTING SYSTEM
users to monitor the usage of their data in the cloud. For example, users need to
be able to ensure that their data are handled according to the service level
agreements made at the time they sign on for services in the cloud.
First, data handling can be outsourced by the direct cloud service provider
(CSP) to other entities in the cloud and theses entities can also delegate the
20/90
Second, entities are allowed to join and leave the cloud in a flexible manner. As
a result, data handling in the cloud goes through a complex and dynamic
21/90
PROPOSED SYSTEM
highly distributed fashion. One of the main innovative features of the CIA
authentication. By means of the CIA, data owners can track not only whether or
not the service-level agreements are being honored, but also enforce access and
also develop two distinct modes for auditing: push mode and pull mode. The
push mode refers to logs being periodically sent to the data owner or
stakeholder while the pull mode refers to an alternative approach whereby the
user (or another authorized party) can retrieve the logs as needed.
22/90
Our main contributions are as follows:
cloud.
degree of usage control for the protected data after these are delivered to
the receiver.
provide a detailed security analysis and discuss the reliability and strength
of our architecture.
SYSTEM STUDY
23/90
FEASIBILITY STUDY
The feasibility of the project is analyzed in this phase and business proposal is
put forth with a very general plan for the project and some cost estimates.
carried out. This is to ensure that the proposed system is not a burden to the
ECONOMICAL FEASIBILITY
TECHNICAL FEASIBILITY
SOCIAL FEASIBILITY
ECONOMICAL FEASIBILITY
24/90
This study is carried out to check the economic impact that the system will
have on the organization. The amount of fund that the company can pour into
the research and development of the system is limited. The expenditures must
be justified. Thus the developed system as well within the budget and this was
achieved because most of the technologies used are freely available. Only the
TECHNICAL FEASIBILITY
This study is carried out to check the technical feasibility, that is, the technical
requirements of the system. Any system developed must not have a high
demand on the available technical resources. This will lead to high demands on
the available technical resources. This will lead to high demands being placed
on the client. The developed system must have a modest requirement, as only
SOCIAL FEASIBILITY
25/90
The aspect of study is to check the level of acceptance of the system by the
user. This includes the process of training the user to use the system efficiently.
The user must not feel threatened by the system, instead must accept it as a
necessity. The level of acceptance by the users solely depends on the methods
that are employed to educate the user about the system and to make him
familiar with it. His level of confidence must be raised so that he is also able to
the system.
LITERATURE SURVEY
economy n company strength. Once these things are satisfied, then next steps
are to determine which operating system and language can be used for
developing the tool. Once the programmers start building the tool the programmers
need lot of external support. This support can be obtained from senior
26/90
programmers, from book or from websites. Before building the system the above
consideration are taken into account for developing the proposed system.
27/90
System Configuration:-
Hard Disk - 20 GB
Monitor - SVGA
Scripts : JavaScript.
28/90
Server side Script : Java Server Pages.
SOFTWARE ENVIRONMENT
29/90
Java Technology
Simple
Architecture neutral
Object oriented
Portable
Distributed
High performance
Interpreted
Multithreaded
Robust
30/90
Dynamic
Secure
so that you can run it on your computer. The Java programming language is
unusual in that a program is both compiled and interpreted. With the compiler,
first you translate a program into an intermediate language called Java byte
Java platform. The interpreter parses and runs each Java byte code instruction
time the program is executed. The following figure illustrates how this works.
You can think of Java byte codes as the machine code instructions for the
Java Virtual Machine (Java VM). Every Java interpreter, whether it’s a
31/90
development tool or a Web browser that can run applets, is an implementation
of the Java VM. Java byte codes help make “write once, run anywhere”
possible. You can compile your program into byte codes on any platform that
has a Java compiler. The byte codes can then be run on any implementation of
the Java VM. That means that as long as a computer has a Java VM, the same
program written in the Java programming language can run on Windows 2000,
We’ve already mentioned some of the most popular platforms like Windows
32/90
combination of the operating system and hardware. The Java platform differs
from most other platforms in that it’s a software-only platform that runs on top
You’ve already been introduced to the Java VM. It’s the base for the Java
widgets. The Java API is grouped into libraries of related classes and interfaces;
these libraries are known as packages. The next section, What Can Java
Technology Do? Highlights what functionality some of the packages in the Java
API provide.
33/90
The following figure depicts a program that’s running on the Java platform. As
the figure shows, the Java API and the virtual machine insulate the program
Native code is code that after you compile it, the compiled code runs on a
platform can be a bit slower than native code. However, smart compilers, well-
tuned interpreters, and just-in-time byte code compilers can bring performance
language are applets and applications. If you’ve surfed the Web, you’re
34/90
However, the Java programming language is not just for writing cute,
network. Examples of servers are Web servers, proxy servers, mail servers, and
thought of as an applet that runs on the server side. Java Servlets are a popular
choice for building interactive web applications, replacing the use of CGI
scripts. Servlets are similar to applets in that they are runtime extensions of
How does the API support all these kinds of programs? It does so with
Every full implementation of the Java platform gives you the following
features:
35/90
The essentials: Objects, strings, threads, numbers, input and output, data
Internationalization: Help for writing programs that can be localized for users
Security: Both low level and high level, including electronic signatures, public
component architectures.
36/90
The Java platform also has APIs for 2D and 3D graphics, accessibility, servers,
We can’t promise you fame, fortune, or even a job if you learn the Java
requires less effort than other languages. We believe that Java technology will
37/90
Get started quickly: Although the Java programming language is a powerful
counts, and so on) suggest that a program written in the Java programming
language can be four times smaller than the same program in C++.
Write better code: The Java programming language encourages good coding
practices, and its garbage collection helps you avoid memory leaks. Its object
extendible API let you reuse other people’s tested code and introduce fewer
bugs.
twice as fast versus writing the same program in C++. Why? You write fewer
Avoid platform dependencies with 100% Pure Java: You can keep your
38/90
historical process manuals, white papers, brochures, and similar materials
online.
Write once, run anywhere: Because 100% Pure Java programs are compiled
platform.
Distribute software more easily: You can upgrade applets easily from a
central server. Applets take advantage of the feature of allowing new classes to
ODBC
database they wanted to connect to. Now, ODBC has made the choice of the
should be. Application developers have much more important things to worry
39/90
about than the syntax that is needed to port their program from one database to
Through the ODBC Administrator in Control Panel, you can specify the
with a name on it. Each door will lead you to a particular database. For
example, the data source named Sales Figures might be a SQL Server database,
whereas the Accounts Payable data source could refer to an Access database.
The physical database referred to by a data source can reside anywhere on the
LAN.
The ODBC system files are not installed on your system by Windows 95.
Rather, they are installed when you setup a separate database application, such
as SQL Server Client or Visual Basic 4.0. When the ODBC icon is installed in
40/90
From a programming perspective, the beauty of ODBC is that the application
can be written to use the same set of function calls to interface with any data
source, regardless of the database vendor. The source code of the application
doesn’t change whether it talks to Oracle or SQL Server. We only mention these
two as an example. There are ODBC drivers available for several dozen
popular database systems. Even Excel spreadsheets and plain text files can be
turned into data sources. The operating system uses the Registry information
are needed to talk to the data source (such as the interface to Oracle or SQL
The advantages of this scheme are so numerous that you are probably thinking
there must be some catch. The only disadvantage of ODBC is that it isn’t as
efficient as talking directly to the native database interface. ODBC has had
many detractors make the charge that it is too slow. Microsoft has always
claimed that the critical factor in performance is the quality of the driver
software that is used. In our humble opinion, this is true. The availability of
41/90
good ODBC drivers has improved a great deal recently. And anyway, the
compilers would never match the speed of pure assembly language. Maybe not,
but the compiler (or ODBC) gives you the opportunity to write cleaner
programs, which means you finish sooner. Meanwhile, computers get faster
every year.
JDBC
wishes to have JDBC support, he or she must provide the driver for each
42/90
variety of platforms. Basing JDBC on ODBC will allow vendors to bring JDBC
solution.
JDBC was announced in March of 1996. It was released for a 90 day public
review that ended June 8, 1996. Because of user input, the final JDBC v1.0
The remainder of this section will cover enough information about JDBC for
you to know what it is about and how to use it effectively. This is by no means
JDBC Goals
Few software packages are designed without goals in mind. JDBC is one that,
because of its many goals, drove the development of the API. These goals, in
conjunction with early reviewer feedback, have finalized the JDBC class library
43/90
The goals that were set for JDBC are important. They will give you some
insight as to why certain classes and functionalities behave the way they do.
The designers felt that their main goal was to define a SQL interface for Java.
Although not the lowest database interface level possible, it is at a low enough
goal allows for future tool vendors to “generate” JDBC code and to hide many
SQL Conformance
SQL syntax varies as you move from database vendor to database vendor. In an
effort to support a wide variety of vendors, JDBC will allow any query
44/90
JDBC must be implemental on top of common database interfaces
The JDBC SQL API must “sit” on top of other common SQL level APIs. This
goal allows JDBC to use existing ODBC level drivers by the use of a software
interface. This interface would translate JDBC calls to ODBC and vice versa.
Provide a Java interface that is consistent with the rest of the Java system
Because of Java’s acceptance in the user community thus far, the designers feel
that they should not stray from the current design of the core Java system.
Keep it simple
This goal probably appears in all software design goal listings. JDBC is no
exception. Sun felt that the design of JDBC should be very simple, allowing for
45/90
Strong typing allows for more error checking to be done at compile time; also,
Because more often than not, the usual SQL calls used by the programmer are
And for dynamically updating the cache table we go for MS Access database.
46/90
Java is a high-level programming language that is all of the following
Simple Architecture-neutral
Object-oriented Portable
Distributed High-performance
Interpreted multithreaded
Robust Dynamic
Secure
Java is also unusual in that each Java program is both compiled and interpreted.
called Java byte codes the platform-independent code instruction is passed and
Compilation happens just once; interpretation occurs each time the program is
47/90
Java Interpreter
Program
Compilers My Program
You can think of Java byte codes as the machine code instructions for the Java
Virtual Machine (Java VM). Every Java interpreter, whether it’s a Java
hardware.
Java byte codes help make “write once, run anywhere” possible. You can
compile your Java program into byte codes on my platform that has a Java
compiler. The byte codes can then be run any implementation of the Java VM.
48/90
For example, the same Java program can run Windows NT, Solaris, and
Macintosh.
Networking
TCP/IP stack
connectionless protocol.
IP datagram’s
49/90
The IP layer provides a connectionless and unreliable delivery system. It
checksum that includes its own header. The header includes the source and
also responsible for breaking up large datagram into smaller ones for
UDP
the contents of the datagram and port numbers. These are used to give a
TCP
Internet addresses
50/90
In order to use a service, you must be able to find it. The Internet uses an
address scheme for machines so that they can be located. The address is a 32 bit
integer which gives the IP address. This encodes a network ID and more
addressing. The network ID falls into various classes according to the size of
Network address
Class A uses 8 bits for the network address with 24 bits left over for other
Subnet address
currently on one sub network and uses 10-bit addressing, allowing 1024
different hosts.
Host address
51/90
8 bits are finally used for host addresses within our subnet. This places a limit
Total address
Port addresses
A service exists on a host, and is identified by its port. This is a 16 bit number.
To send a message to a server, you send it to the port for that service of the host
that it is running on. This is not location transparency! Certain of these ports are
"well known".
52/90
Sockets
connections. A socket is created using the call socket. It returns an integer that
is like a file descriptor. In fact, under Windows, this handle can be used with
#include <sys/types.h>
#include <sys/socket.h>
and type will depend on whether TCP or UDP is used. Two processes wishing
to communicate over a network create a socket each. These are similar to two
ends of a pipe - but the actual pipe does not yet exist.
JFree Chart
JFreeChart is a free 100% Java chart library that makes it easy for developers to
53/90
A flexible design that is easy to extend, and targets both server-side and client-
side applications;
Support for many output types, including Swing components, image files
(including PNG and JPEG), and vector graphics file formats (including PDF,
under the terms of the GNU Lesser General Public Licence (LGPL), which
Map Visualizations
include: (a) population density in each state of the United States, (b) income per
capita for each country in Europe, (c) life expectancy in each country of the
Sourcing freely redistributable vector outlines for the countries of the world,
rendered, and integrating this with the existing XYPlot class in JFreeChart;
54/90
Testing, documenting, testing some more, documenting some more.
Implement a new (to JFreeChart) feature for interactive time series charts --- to
display a separate control that shows a small version of ALL the time series
data, with a sliding "view" rectangle that allows you to select the subset of the
Dashboards
pies, thermometers, bars, and lines/time series) that can be delivered easily via
Property Editors
The property editor mechanism in JFreeChart only handles a small subset of the
properties that can be set for charts. Extend (or reimplement) this mechanism to
55/90
Tomcat 6.0 web server
Implementation for the Java Servlet and JavaServer Pages technologies. The
Java Servlet and JavaServer Pages specifications are developed by Sun under
the Java Community Process. Web Servers like Apache Tomcat support only
server).To develop a web application with jsp/servlet install any web server like
56/90
57/90
SYSTEM DESIGN
The DFD is also called as bubble chart. It is a simple graphical formalism that
can be used to represent a system in terms of the input data to the system,
various processing carried out on these data, and the output data is generated by
the system.
User
58/90
USER
Yes No
Check
User Login
View Account
Change Password
Send a request
to CIA
Received a
File Downl oad File Re Downloa d
permission
View Download
file list
D
End Process
Admin Dataflow
59/90
ADMIN
Yes No
Check
End Process
60/90
Sequence Diagram
CIA
Grant a
permission
to
view registered request Delete User/Log
Login user
CIA
Owner
Recevied
File View User
Permission
upload details
Login from CIA
Owner
61/90
CSP-Customer Service Provider
62/90
User
Received
Permission Account Change File Re
Login from CIA File DownLoad
Details Password download
Admin
63/90
Component Diagram
Admin
Delete
Grant permission to Overall Down load
View all user Details Account
received request file list
details
User
User
Receive a
change
view account details password permission from view downfile list
CIA
64/90
Owner:
Grant permission to
File Upload view Detailss
received request
65/90
CSP- Customer Service Provider:
Activity Diagram:
Admin
66/90
AdminLogin
CSP:
CSP
67/90
USER
User Login
Received CIA
response
password
view account
change
Download
Re down
file list
68/90
INPUT DESIGN & OUTPUT DESIGN
INPUT DESIGN
The input design is the link between the information system and the user. It
comprises the developing specification and procedures for data preparation and
those steps are necessary to put transaction data in to a usable form for
written or printed document or it can occur by having people keying the data
directly into the system. The design of input focuses on controlling the amount
of input required, controlling the errors, avoiding delay, avoiding extra steps
and keeping the process simple. The input is designed in such a way so that it
provides security and ease of use with retaining the privacy. Input Design
69/90
Methods for preparing input validations and steps to follow when error
occur.
OBJECTIVES
the data input process and show the correct direction to the management for
large volume of data. The goal of designing input is to make data entry easier
and to be free from errors. The data entry screen is designed in such a way that
all the data manipulates can be performed. It also provides record viewing
facilities.
3.When the data is entered it will check for its validity. Data can be entered
with the help of screens. Appropriate messages are provided as when needed so
70/90
will not be in maize of instant. Thus the objective of input design is to create
OUTPUT DESIGN
A quality output is one, which meets the requirements of the end user and
need and also the hard copy output. It is the most important and direct source
information to the user. Efficient and intelligent output design improves the
manner; the right output must be developed while ensuring that each output
element is designed so that people will find the system can use easily and
effectively. When analysis design computer output, they should Identify the
71/90
2.Select methods for presenting information.
by the system.
the
Future.
Trigger an action.
Confirm an action.
72/90
IMPLEMENTATION
Implementation is the stage of the project when the theoretical design is turned
out into a working system. Thus it can be considered to be the most critical
73/90
stage in achieving a successful new system and in giving the user, confidence
Main Modules:-
authentication. By means of the CIA, data owners can track not only whether or
not the service-level agreements are being honored, but also enforce access and
74/90
Push mode: The push mode refers to logs being periodically sent to the data
owner or stakeholder.
Pull mode: Pull mode refers to an alternative approach whereby the user
of the cloud. More specifically, log files should be tightly bounded with the
2. Every access to the user’s data should be correctly and automatically logged.
This requires integrated techniques to authenticate the entity who accesses the
data, verify, and record the actual operations on the data as well as the time that
75/90
3. Log files should be reliable and tamper proof to avoid illegal insertion,
4. Log files should be sent back to their data owners periodically to inform
them of the current usage of their data. More importantly, log files should be
retrievable anytime by their data owners when needed regardless the location
overhead, which otherwise will hinder its feasibility and adoption in practice.
There are two major components of the CIA, the first being the logger, and the
The logger is strongly coupled with user’s data (either single or multiple data
items). Its main tasks include automatically logging access to data items that it
contains, encrypting the log record using the public key of the content owner,
76/90
and periodically sending them to the log harmonizer. It may also be configured
to ensure that access and usage control policies associated with the data are
honored. For example, a data owner can specify that user X is only allowed to
view but not to modify the data. The logger will control the data access even
component which allows the user access to the log files. The log harmonizer is
SYSTEM TESTING
77/90
The purpose of testing is to discover errors. Testing is the process of trying to
and/or a finished product It is the process of exercising software with the intent
of ensuring that the Software system meets its requirements and user
expectations and does not fail in an unacceptable manner. There are various
TYPES OF TESTS
Unit testing
Unit testing involves the design of test cases that validate that the internal
program logic is functioning properly, and that program inputs produce valid
outputs. All decision branches and internal code flow should be validated. It is
the testing of individual software units of the application .it is done after the
that relies on knowledge of its construction and is invasive. Unit tests perform
basic tests at component level and test a specific business process, application,
78/90
and/or system configuration. Unit tests ensure that each unique path of a
Integration testing
determine if they actually run as one program. Testing is event driven and is
more concerned with the basic outcome of screens or fields. Integration tests
Functional test
79/90
Functional tests provide systematic demonstrations that functions tested are
complete, additional tests are identified and the effective value of current tests
is determined.
80/90
System Test
System testing ensures that the entire integrated software system meets
White Box Testing is a testing in which in which the software tester has
least its purpose. It is purpose. It is used to test areas that cannot be reached
Black Box Testing is testing the software without any knowledge of the inner
workings, structure or language of the module being tested. Black box tests, as
most other kinds of tests, must be written from a definitive source document,
81/90
requirements document. It is a testing in which the software under test is
treated, as a black box .you cannot “see” into it. The test provides inputs and
Unit Testing:
Unit testing is usually conducted as part of a combined code and unit test phase
of the software lifecycle, although it is not uncommon for coding and unit
Field testing will be performed manually and functional tests will be written in
detail.
Test objectives
82/90
Features to be tested
Integration Testing
83/90
Test Results: All the test cases mentioned above passed successfully. No
defects encountered.
Acceptance Testing
significant participation by the end user. It also ensures that the system meets
Test Results: All the test cases mentioned above passed successfully. No
defects encountered.
84/90
CONCLUSION
85/90
We proposed innovative approaches for automatically logging any access to the
data in the cloud together with an auditing mechanism. Our approach allows
the data owner to not only audit his content but also enforce strong back-end
protection if needed. Moreover, one of the main features of our work is that it
enables the data owner to audit even those copies of its data that were made
86/90
BIBLIOGRAPHY & ABBREVIATIONS
87/90
Good Teachers are worth more than thousand books, we have them in Our
Department
Lattice Networks,” ACM Trans. Computer Systems, vol. 11, pp. 205-225, Aug.
1993.
1-8, 2008.
2001.
Survey,” ACM Computing Surveys, vol. 37, pp. 1- 28, Mar. 2005.
88/90
6. P. Buneman, A. Chapman, and J. Cheney, “Provenance Management
9. R. Corin, S. Etalle, J.I. den Hartog, G. Lenzini, and I. Staicu, “A Logic for
Sites Referred:
89/90
http://java.sun.com
http://www.sourcefordgde.com
http://www.networkcomputing.com/
http://www.roseindia.com/
http://www.java2s.com/
90/90