Professional Documents
Culture Documents
ABSTRACT
1.1 PROJECT DESCRIPTION
Cloud computing enables highly scalable services to be easily consumed over the
Internet on an as-needed basis .A major feature of the cloud services is that users data
are usually processed remotely in unknown machines that users do not own or
operate. While enjoying the convenience brought by this new emerging technology,
users fears of losing control of their own data (particularly, financial and health data)
can become a significant barrier to the wide adoption of cloud services.
To address this problem, in this paper, we propose a novel highly decentralized
information accountability framework to keep track of the actual usage of the users
data in the cloud.
In particular, we propose an object-centered approach that enables enclosing our
logging mechanism together with users data and policies. We leverage the JAR
programmable capabilities to both create a dynamic and traveling object, and to
ensure that any access to users data will trigger authentication and automated logging
local to the JARs. To strengthen users control, we also provide distributed auditing
mechanisms. We provide extensive experimental studies that demonstrate the
efficiency and effectiveness of the proposed approaches.
IGNOU
Page 1
PREAMBLE
2.1 GENERAL INTRODUCTION
Cloud computing is the use of computing resources (hardware and software) that are
delivered as a service over a network (typically the Internet). The name comes from
the use of a cloud-shaped symbol as an abstraction for the complex infrastructure it
contains in system diagrams. Cloud computing entrusts remote services with a user's
data, software and computation.
IGNOU
Page 2
delivery model for IT services based on the Internet, by providing for dynamically
scalable and often virtualized resources as a service over the Internet. Details of the
services provided are abstracted from the users. Moreover, users may not know the
machines which actually process and host their data. Users also start worrying about
losing control of their own data. The data processed on clouds are often outsourced,
leading to a number of issues related to accountability, including the handling of
personally identifiable information. Such fears are becoming a significant barrier to
the wide adoption of cloud services.
To overcome this problem, we make use of an approach, namely Cloud
Information
IGNOU
Accountability
(CIA)
framework,
based
on
the
information
Page 3
Page 4
Page 5
proposed
architecture
is
platform independent
and
highly
IGNOU
Page 6
Page 7
Page 8
Page 9
Page 10
Page 11
Page 12
Page 13
in C++ and
some
other
object-oriented
languages,
variables
of
Java's primitive data types are not objects. Values of primitive types are either stored
directly in fields (for objects) or on the stack (for methods) rather than on the heap, as
commonly true for objects (but see Escape analysis). This was a conscious decision
by Java's designers for performance reasons. Because of this, Java was not considered
to be a pure object-oriented programming language. However, as of Java
5.0, autoboxing enables programmers to proceed as if primitive types were instances
of their wrapper class.
Java contains multiple types of garbage collectors. By default, HotSpot uses
the Concurrent Mark Sweep collector, also known as the CMS Garbage Collector.
However, there are also several other garbage collectors that can be used to manage
the Heap. For 90% of applications in Java, the CMS Garbage Collector is good
enough.
INTRODUCTION TO JDBC
JDBC (Java Database connectivity) is a front-end tool for connecting to a
server to ODBC in that respect, however JDBC can connect only java client and it
uses ODBC for the connectivity. JDBC is essentially a low-level API since any data
manipulation, storage and retrieval has to be done by the program itself. Some tools,
which provide a higher-level abstraction, are expected shortly.
The next question that needs to be answered is why we need JDBC, once we have
ODBC on hand. We can use the same ODBC to connect the entire database and
ODBCicrosyste is a proven technology. Problem for doing this is ODBC gives a c
language API, which uses pointers extensively. Since java does not have any pointers
and is object-oriented sun Mms, inventor of java developed to suit its needs.
DATABASE MODELS
JDBC and accessing the database through applets and JDBC API via an
intermediate server resulted server resulted in a new type of database model which is
IGNOU
Page 14
Single Tier:
In a single tier the server and client are the same in the sense that a client
program that needs information (client) and the source of this type of architecture is
also possible in java, in case flat files are used to store the data. However this is useful
only in case of small applications. The advantage with this is the simplicity and
portability of the application developed.
IGNOU
Page 15
1.
Page 16
Introduction to Servlets
Servlets provide a Java(TM)-based solution used to address the problems
currently associated with doing server-side programming, including inextensible
scripting solutions, platform-specific APIs, and incomplete interfaces.
Servlets are objects that conform to a specific interface that can be plugged
into a Java-based server. Servlets are to the server-side what applets are to the clientside -- object byte codes that can be dynamically loaded off the net. They differ from
applets in that they are faceless objects (without graphics or a GUI component). They
serve as platform-independent, dynamically-loadable, pluggable helper byte code
objects on the server side that can be used to dynamically extend server-side
functionality.
What is a Servlet?
Servlets are modules that extend request/response-oriented servers, such as Javaenabled web servers. For example, a servlet might be responsible for taking data in an
HTML order-entry form and applying the business logic used to update a company's
order database.
IGNOU
Page 17
Servlets are to servers what applets are to browsers. Unlike applets, however, Servlets
have no graphical user interface.
Servlets can be embedded in many different servers because the servlet API, which
you use to write Servlets, assumes nothing about the server's environment or protocol.
Servlets have become most widely used within HTTP servers; many web servers
support the Servlet API.
Servlet Lifecycle
Each servlet has the same life cycle:
1. A server loads and initializes the servlet
2. The servlet handles zero or more client requests
3. The server removes the servlet
IGNOU
Page 18
JSP
Java Server Pages (JSP) is a technology that helps software developers create
dynamically generated web pages based on HTML, XML, or other document types.
Released in 1999 by Sun Microsystems,JSP is similar to PHP, but it uses the Java
programming language.
Overview
The JSP Model 2 architecture.
Architecturally, JSP may be viewed as a high-level abstraction of Java servlets. JSPs
are translated into servlets at runtime; each JSP's servlet is cached and re-used until
the original JSP is modified.
JSP can be used independently or as the view component of a server-side model
viewcontroller design, normally with JavaBeans as the model and Java servlets (or a
framework such as Apache Struts) as the controller. This is a type of Model 2
architecture. It allows Java code and certain pre-defined actions to be interleaved with
static web markup content, with the resulting page being compiled and executed on
the server to deliver a document. The compiled pages, as well as any dependent Java
libraries, use Java byte code rather than a native software format. Like any other Java
program, they must be executed within a Java virtual machine (JVM) that integrates
with the server's host operating system to provide an abstract platform-neutral
environment.
JSPs are usually used to deliver HTML and XML documents, but through the use of
Output Stream, they can deliver other types of data as well.
The Web container creates JSP implicit objects like page Context, servletContext,
session, request & response.
Syntax
JSP pages use several delimiters for scripting functions. The most basic is <% ... %>,
which encloses a JSP scriptlet. A scriptlet is a fragment of Java code that is run when
IGNOU
Page 19
Expression Language
Version 2.0 of the JSP specification added support for the Expression Language (EL),
used to access data and functions in Java objects. In JSP 2.1, it was folded into the
Unified Expression Language, which is also used in Java Server Faces.
An example of EL syntax:
The value of "variable" in the object "JavaBeans" is ${javabean.variable}.
Additional tags
The JSP syntax adds additional tags, called JSP actions, to invoke built-in
functionality. Additionally, the technology allows for the creation of custom JSP tag
libraries that act as extensions to the standard JSP syntax. One such library is the
JSTL, with support for common tasks such as iteration and conditionals (the
equivalent of "if" and "for" statements in Java).
Compiler
A Java Server Pages compiler is a program that parses JSPs, and transforms them into
executable Java Servlets. A program of this type is usually embedded into the
application server and run automatically the first time a JSP is accessed, but pages
IGNOU
Page 20
multi-language Integrated
development
environment (IDE)
comprising a base workspace and an extensible plug-in system for customizing the
environmental Erlang. It can also be used to develop packages for the
software Mathematica. Development environments include the Eclipse Java
development tools (JDT) for Java and Scala, Eclipse CDT for C/C++ and Eclipse
PDT for PHP, among others.
The initial codebase originated from IBM Visual Age. The Eclipse software
development kit (SDK), which includes the Java development tools, is meant for Java
developers. Users can extend its abilities by installing plug-ins written for the Eclipse
Platform, such as development toolkits for other programming languages, and can
write and contribute their own plug-in modules.
Released under the terms of the Eclipse Public License, Eclipse SDK is free
and open source software (although it is incompatible with the GNU General Public
License). It was one of the first IDEs to run under GNU Class path and it runs without
problems under IcedTea.
Architecture
The Eclipse Platform uses plug-ins to provide all functionality within and on
top of the runtime system, in contrast to some other applications, in which
functionality is hard coded. The Eclipse Platform's runtime system is based
on Equinox, an implementation of the OSGi core framework specification.
IGNOU
Page 21
Page 22
IGNOU
Page 23
JVM-based
DSLs
in
Xtext,
and
tighter
integration
with
the Java
Development Tools (JDT). JDT now supports Java 7 directly last year's release of
Eclipse was published after Java 7 was finalized and only supported it via a plugin.
The final improvement of note is better integration between documentation and
software. You can now write your documentation within Eclipse and generate the
output in HTML format or in other formats by using plugins.
MYSQL
IGNOU
Page 24
The MySQL development project has made its source code available under the
terms of the GNU General Public License, as well as under a variety of proprietary
agreements. MySQL was owned and sponsored by a single for-profit firm, the
Swedish company MySQL AB, now owned by Oracle Corporation.
Free-software-open source projects that require a full-featured database
management system often use MySQL. For commercial use, several paid editions are
available, and offer additional functionality. Applications which use MySQL
databases include: TYPO3, Joomla, WordPress, phpBB, Drupal and other software
built on the LAMP software stack. MySQL is also used in many high-profile, largescale World Wide Web products, including Wikipedia, Google (though not for
searches), Facebook, and Twitter.
MySQL is written in C and C++. Its SQL parser is written in yacc, and a homebrewed lexical analyzer named sql_lex.cc. MySQL works on many different system
platforms, including AIX, BSDi, FreeBSD, HP-UX, eComStation, i5/OS, IRIX,
Linux, Mac OS X, Microsoft Windows, NetBSD, Novell NetWare, OpenBSD,
OpenSolaris, OS/2 Warp, QNX, Solaris, Symbian, SunOS, SCO OpenServer, SCO
UnixWare, Sanos and Tru64. A port of MySQL to OpenVMS also exists.
Many programming languages with language-specific APIs include libraries
for accessing MySQL databases. These include MySQL Connector/Net for integration
with Microsoft's Visual Studio (languages such as C# and VB are most commonly
IGNOU
Page 25
Apache Tomcat
Apache Tomcat is an open source software implementation of the Java Servlet
and JavaServer Pages technologies. The Java Servlet and JavaServer Pages
specifications are developed under the Java Community Process.
Apache Tomcat is developed in an open and participatory environment and
released under the Apache License version 2. Apache Tomcat is intended to be a
collaboration of the best-of-breed developers from around the world. We invite you to
participate in this open development project Apache Tomcat powers numerous largescale, mission-critical web applications across a diverse range of industries and
organizations. Some of these users and their stories are listed on the Powered by wiki
page. Apache Tomcat, Tomcat, Apache, the Apache feather, and the Apache Tomcat
project logo are trademarks of the Apache Software Foundation.
2.7 METHODLOGY
Design Methodology
The two basic modern design strategies employed in software design are
1. Top down Design
2. Bottom up Design
Top down Design is basically a decomposition process, which focuses on the flow
of control. At later stages it concern itself with the code production. The first step is
IGNOU
Page 26
Page 27
Waterfall Model
IGNOU
Page 28
Detailed documentation from the design phase can significantly reduce the
coding effort.
Testing at this stage focuses on making sure that any errors are identified and
that the software meets its required specification.
IGNOU
Page 29
Disadvantages
The waterfall model is the oldest and the most widely used paradigm.
However, many projects rarely follow its sequential flow. This is due to the inherent
problems associated with its rigid format. Namely:
It only incorporates iteration indirectly, thus changes may cause considerable
confusion as the project progresses.
As The client usually only has a vague idea of exactly what is required from
the software product, this WM has difficulty accommodating the natural
uncertainty that exists at the beginning of the project.
In this project all the modules have been developed using object oriented
Programming Methodology. This helps in maintaining and updating the project easily.
IGNOU
Page 30
HARDWARE/SOFTWARE REQUIREMENTS
3.1 HARDWARE REQUIREMENTS FOR CLIENT/SERVER
Processor
Processor Speed
RAM
2 GB
Hard Disk
100 GB
Monitor
Keyboard
108 Keys
Operating System
: - Windows 7 or more.
: - IDE Eclipse
Front End
:-
Java/J2EE ,JSP
Back End
:-
MySQL
Server
IGNOU
Page 31
Page 32
Page 33
Page 34
IGNOU
Page 35
Robustness:
Its vital that the system should be a fault tolerant with respect to illegal user
input. Error Checking must be built in the system to prevent system failure.
Maintainability:
The product will be used for a long time, it must be easy to maintain and easy
to incorporate future changes. The design if the system should be module based and
changing the design of the one module should not affect the proper operation of the
other module.
Portability:
The system should be portable so as to can run on any client system on any
platform with very little or no modifications.
Page 36
IGNOU
Page 37
IGNOU
Page 38
Page 39
Page 40
II.
Advantages
o Avoiding local storage of data and reduces the storage cost, maintenance and
personnel.
o Reduces the chance of losing data by hardware failures & being transparent to
the owner.
Page 41
Page 42
IGNOU
Page 43
ii.
Every access to the users 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 the data have been accessed.
iii.
Log files should be reliable and tamper proof to avoid illegal insertion,
deletion, and modification by malicious parties. Recovery mechanisms are
also desirable to restore damaged log files caused by technical problems.
iv.
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 where the files are stored.
v.
Page 44
IGNOU
Page 45
the Low Level Design Document is prepared then the code can be
developed by developers directly from Low Level Design Document with minimal
effort of debugging and testing.
Table 1: Client
Field
Type
Null
Key
Default
Uid
Varchar(20)
NO
PRI
Yes
Pwd
Varchar(20)
NO
username
Varchar(20)
YES
NULL
ownername
Varchar(20)
YES
NULL
Mobno
Varchar(20)
YES
NULL
Emailed
Varchar(40)
YES
NULL
IGNOU
Extra
Page 46
Varchar(20)
Uname
Varchar(10)
YES
NULL
YES
NULL
Type
Null
Key
Default
Extra
Uid
Varchar(20)
NO
PRI
NOT NULL
Pwd
Varchar(20)
NO
Field
Type
Null
Key
Default
Extra
Uid
Varchar(20)
NO
PRI
Pwd
Varchar(20)
NO
Name
Varchar(20)
NO
Default
Extra
Table 3: Owner
Table 4:file_status
Field
Type
Null
Key
Id
Varchar(20)
NO
PRI
Uid
Varchar(20)
YES
Foreign
ownername
Varchar(20)
YES
Foreign
Status
Varchar(40)
YES
NULL
filename
Varchar(20)
YES
NULL
Filekey
Varchar(40)
YES
NULL
IGNOU
Page 47
Type
Null
Key
Default
File_id
Varchar(20)
YES
Foreign
Uid
Varchar(20)
YES
Foreign
Varchar(20)
YES
Foreign
Address
Varchar(40)
YES
NULL
MobileNo
Varchar(20)
YES
NULL
Payment Type
Varchar(40)
YES
NULL
Date
Date
Extra
Use case:
A use case describes a sequence of actions that provide something of
measurable value to an actor and is drawn as horizontal ellipse.
Connector:
Connector simply connects the use case with the actor & it is denoted by a
line.
IGNOU
Page 48
Classes
A class is an element that defines the attributes and behaviors that an object is
able to generate. The behaviour is the described by the possible messages the class is
IGNOU
Page 49
Class Notation
Classes are represented by rectangles which show the name of the class and
optionally the name of the operations and attributes. Compartments are used to divide
the class may be assigned to classes.
Associations
An association implies two model elements have a relationship
- usually implemented as an instance variable in one class. This
connector may include named roles at each end, cardinality,
direction and constraints. Association is the general relationship
type between elements. For more than two elements, a diagonal
representation toolbox element can be used as well. When code is
generated
for
class
diagrams,
associations
become
instance
IGNOU
Page 50
IGNOU
Page 51
Messages
Messages are displayed as arrows. Messages can be complete, lost or found;
synchronous or asynchronous; call or signal. They are of three types the first message
is a synchronous message (denoted by the solid arrowhead) completes with an
implicit return message; the second message is asynchronous (denoted by line
arrowhead) and the third is the asynchronous return message (denoted by the dashed
line).
Execution Occurrence
A thin rectangle running down the lifeline denotes the execution occurrence or
activation of a focus of control. There are three execution occurrences. The first is the
source object sending two messages and receiving two replies; the second is the target
object receiving a synchronous message and returning a reply; and the third is the
target object receiving an asynchronous message and returning a reply.
IGNOU
Page 52
IGNOU
Page 53
Page 54
Page 55
IGNOU
Page 56
TESTING
Software Testing is a critical element of software quality assurance and
represents the ultimate review of specification, design and coding, Testing presents an
interesting anomaly for the software engineer.
error
undiscovered
error
3. A successful test is one that uncovers an undiscovered error
IGNOU
Page 57
Page 58
Test
Name
Case
Test Objective
Expected Result
Final
Defective
/Response
Result
Reason
Client must be
Client Should
Pass
able to register
to respective
data in various
Data Owner.
fields and
ID
Client
registration
password should
be generated and
username,
password sent to
email id of client.
Client
registration
Client must be
Client Should
Fail
Invalid entry
able to register
of fields like
to respective
data in various
email-id,
Data Owner.
fields and
contact
password should
number, etc.
be generated and
username,
password sent to
email id of client.
Client
Login
Client must be
Client must be
able to login
successfully.
username,
Pass
password in its
respective fields
IGNOU
Page 59
Login
Client must be
Client must be
Fail
Invalid
able to login
username or
successfully.
username,
password.
password in its
respective fields
and login
successfully.
Data
Data Owner
Owner
must be able to
be able to enter
Login
login
valid username,
successfully.
password in its
Pass
respective fields
and login
successfully.
Data
Data Owner
Fail
Invalid
Owner
must be able to
be able to enter
username or
Login
login
valid username,
password.
successfully.
password in its
respective fields
and login
successfully.
CSP Login
CSP must be
able to login
to enter valid
successfully.
username,
Pass
password in its
respective fields
and login
successfully.
IGNOU
Page 60
CSP must be
Fail
Invalid
able to login
to enter valid
username or
successfully.
username,
password.
password in its
respective fields
and login
successfully.
Upload
Client must be
Client must be
File by
able to upload
Client
file to CSP.
file after
Pass
verification of the
file successfully
to the CSP.
Upload
10
Client must be
Client must be
Fail
Invalid file
File by
able to upload
type or
Client
file to CSP.
file after
corrupted
verification of the
file.
file successfully
to the CSP.
Generate
11
CSP must
CSP must
Key by
generate the
CSP
uploaded by the
uploaded file.
Pass
12
CSP must
CSP must
Fail
Invalid file
Key by
generate the
type or
CSP
uploaded by the
corrupted
uploaded file.
file.
IGNOU
Page 61
13
Data Owner
Owner
must approve
approve the
file from
are generated
CSP
by the CSP.
Pass
are uploaded by
the client and key
generated by the
CSP.
Data
14
Data Owner
Fail
Invalid client
Owner
must approve
or corrupted
approve the
file.
file from
are generated
CSP
by the CSP.
Request for 15
Client must
Client must
File Key
make payment
by Client
and receive a
through mail
particular file.
is done for a
Pass
particular file.
Request for 16
Client must
Client must
File Key
make payment
Credential
by Client
and receive a
through mail
invalid.
particular file.
is done for a
IGNOU
Fail
Payment
Page 62
17
Download
Client request
for a download.
a file download
by the
by entering the
Client
Pass
to it.
File
18
Download
Client request
for a download.
a file download
by the
by entering the
Client
Fail
Invalid File
Key.
to it.
View User
19
Logs
Data Owner
must be able to
be able to view
Pass
20
Logs
Data Owner
must be able to
be able to view
Fail
Invalid Data
Owner.
Page 63
IGNOU
Page 64
SYSTEM IMPLEMENTATION
Implementation is the stage of the project where the theoretical design is turned
into a working system. At this stage the main work load, the greatest upheaval and the
major impact on the existing system shifts to the user department. If the
implementation is not carefully planned or controlled, it can cause chaos and
confusion and may also mislead the end-users.
Implementation includes all those activities that take place to convert
from the old system to the modified or updated one. The new system may be totally
replacing an existing manual or automated system or it may be a major a reliable
system to meet the organization requirements. Successful implementation may not
guarantee improvement in the organization using the new system, but improper
installation will prevent it.
The process of putting the developed system in actual use is called system
implementation. This includes all those activities that take place to convert from the
old system to the new system. The system can be implemented only after thorough
testing is done and if it is found to be working according to the specifications. The
system personnel check the feasibility of the system.
The most crucial stage is achieving a new successful system and giving
confidence on the new system for the user that it will work efficiently and effectively.
It involves careful planning, investigation of the current system and its constraints on
implementation, design implemented, the more involved will be the system analysis
and the design effort just for implementation.
The system implementation has three main aspects. They are education and
training, system testing and changeover.
The implementation stage involves following tasks:
Careful planning.
Investigation of the system and constraints.
Design of methods to achieve the changeover.
IGNOU
Page 65
IGNOU
Page 66
IGNOU
Page 67
IGNOU
Page 68
IGNOU
Page 69
IGNOU
Page 70
IGNOU
Page 71
SCREEN SHOTS
Home page
Registration
IGNOU
Page 72
Login
Welcome
IGNOU
Page 73
File Upload
IGNOU
Page 74
IGNOU
Page 75
File validation
IGNOU
Page 76
Page 77
Page 78
Page 79
IGNOU
Page 80
Provide details and Amount to send key for JAR download through E-Mail
IGNOU
Page 81
IGNOU
Page 82
Provide Authentication
IGNOU
Page 83
Page 84
CONCLUSION
IGNOU
Page 85
BIBLIOGRAPHY
IGNOU
Page 86
Web Links
http://java.sun.com
http://www.sourcefordgde.com
http://www.networkcomputing.com/
http://www.roseindia.com/
http://www.java2s.com/
IGNOU
Page 87
IGNOU
Page 88