+ All Categories
Home > Documents > Ldap Video

Ldap Video

Date post: 21-Jul-2016
Category:
Upload: angelo-silva
View: 235 times
Download: 1 times
Share this document with a friend
72
DSPACE LDAP AUTHENTICATION WITH VIDEO INTEGRATION Mini Project Report submitted by Antony J Nalkara Aswin Venugopal Bony David Thomas In partial fulfilment of the requirements for award of the degree of Bachelor of Technology in Computer Science & Engineering FEDERAL INSTITUTE OF SCIENCE AND TECHNOLOGY (FISAT) Angamaly-683577, Ernakulam Affiliated to MAHATMA GANDHI UNIVERSITY Kottayam-686560 May 2010
Transcript
Page 1: Ldap Video

DSPACE LDAP AUTHENTICATION WITH VIDEO INTEGRATION

Mini Project Report

submitted by

Antony J NalkaraAswin Venugopal

Bony David Thomas

In partial fulfilment of the requirements for award of the degree of Bachelor of Technology in Computer Science & Engineering

FEDERAL INSTITUTE OF SCIENCE AND TECHNOLOGY (FISAT)Angamaly-683577, Ernakulam

Affiliated to

MAHATMA GANDHI UNIVERSITYKottayam-686560

May 2010

Page 2: Ldap Video

FEDERAL INSTITUTE OF SCIENCE AND TECHNOLOGY (FISAT)Mookkannoor(P.O), Angamaly-683577

CERTIFICATE

This is to certify that the mini project titled Dspace LDAP Authentication

with Video integration submitted by Antony j Nalkara, Aswin Venugopal,

Bony David Thomas, towards partial fulfilment of the requirements of the

award of the degree of Bachelor of Technology in Computer Science &

Engineering is a record of bonafide work carried out by them during the

academic year 2009-2010.

Staff Incharge Head of the Department

Place:Date:

Internal Examiner: External Examiner:

Page 3: Ldap Video

ACKNOLEDGEMENT

If the words were considered as symbols of Approval and token of

Acknoledgement, then let the words pay the heralding role of expressing gratitude. First

and Foremost we praise the God Almighty for the grace he showered on us during our

studies as well as our day to day activities.

We would like to take this chance to thank the chairman of FISAT

Mr. P V Mathew, and Principal, Dr. P S Sreejith for providing us with such an

enviornment, where students can explore their creative ideas. Equally eligible is the

Head of the Department of Computer Science Mr Prasad J C for encouraging the

students to make these nations true.

We are extremely gratefull to the project-incharge, Mr Mahesh.C,

Ms Resmi R and Ms Anjali G Nair for their valuable suggestions for the project. We

also sincierly thank the Computer Scienc Department Faculty for providing us with

invaluable help.

Overall nothing compares the support and hard work equally put in

by our team mates. Last but not the least, we thank all our families and friends for

giving us the help, strength and courage for accomplishing the task.

Page 4: Ldap Video

ABSTRACT

Dspace authentication using LDAP and video streaming in

Dspace . The project aims at integrating LDAP with Dspace and integrating a video

player in Dspace which can stream flash videos within its collection.

Dspace is created using JSP(Java Server Pages) and Java servlets.It can be

installed in a 2 step build procedure. Once its build, it can be customised to contain

LDAP authentication. This is done in the configuration file. Once its configured with

the given LDAP settings, a user can login into Dspace with the LDAP username and

password. Once a user tries to login,the LDAP DN(Distinguished Name) of that user is

sent to the LDAP server and the bind is performed by the LDAP administrator for

checking the credentials.If it is a valid user,login is validated.

A video player is integrated in Dspace by creating a function in the

'itemtag.java' in the Dspace source file. Also the player framework is added along with

the source components. This will modify the Dspace after the build phase. So once a

flash video is uploaded in Dspace collections, a user can view it in Dspace itself without

any external video players.The function is called when a flash video is selected and this

results in the embedded video player appearing on the webpage which streams the

selected video.

Page 5: Ldap Video

CONTENTS

1.0 PREAMBLE

1.1 Introduction of the project

1.2 Objectives of the project

1.3 Scope of the project

2.0 SYSTEM STUDY

2.1 Proof of concept

2.1.1 Need of Proof of concept

2.1.2 Proof of concept design

2.1.3 Proof of concept results

2.2 System Specifications

2.2.1 Software specification for development, implementation

2.2.2 Hardware specification for development, implementation

3.0 SYSTEM DESIGN & MODELLING

3.1 Design Methodologies

3.2 System Architecture

3.3 Control Flow Diagram

3.4 Layer Explanation Diagram

3.5 Application Design diagram

3.6 Flowchart

3.7 Technology Explanations

4.0 TESTING

4.1 Introduction

4.2 Test Cases

Page 6: Ldap Video

5.0 IMPLEMENTATION

5.1 Introduction

5.2 Installation Procedure

5.3 Implementation plan

6.0 CONCLUSION

6.1 Advantages and Disadvantages of the system

6.2 Future scope

7.0 APPENDIX

7.1 Sample code

7.2 Technology explanation

7.3 Glossary

7.4 Screenshots

Page 7: Ldap Video

DSpace LDAP authentication and video integration Preamble

1.0 PREAMBLE

1.1 Introduction to the project

Today people and businesses rely on networked computer systems

to support distributed applications. Applications might interact with computers on the

same local area network, within a corporate intranet, within extranets linking up

partners and suppliers, or anywhere on the worldwide Internet.

LDAP

LDAP is the Lightweight Directory Access Protocol. It is basically a directory of

users whose accounts are built up in a hierarchy. The DN (distinguished name) of a user

is a unique name that identifies a single user in the tree. It is made up of several parts

including their CN (common name), any OUs (organisational units) that they are in, and

the DC (domain component).

Dspace

DSpace is an open source software package that provides the tools for management

of digital assets, and is commonly used as the basis for an institutional repository. It

supports a wide variety of data, including books, theses, 3D digital scans of objects,

photographs, film, video, research data sets and other forms of content. The data is

arranged as community collections of items, which bundle bitstreams together.

DSpace is also intended as a platform for digital preservation activities. Since

its release in 2002, as a product of the HP-MIT Alliance, it has been installed and is in

production at over 240 institutions around the globe, from large universities to small

higher education colleges, cultural organizations, and research centers.t is shared under

a BSD licence, which enables users to customize or extend the software as needed.The

first version of DSpace was released in November 2002, following a joint effort by

developers from MIT and HP Labs in Cambridge, Massachusetts.

Federal Institue Of Science & Technology 1 Computer Science & Engineering

Page 8: Ldap Video

DSpace LDAP authentication and video integration Preamble

1.2 Objectives of the project

The objectives of this project are:

• Dspace LDAP authentication

• Enable Video streaming in Dspace

Dspace LDAP authentication

DSpace goes through 3 steps to authenticate a user against an LDAP server:

1. Collect username and password

2. Bind to the LDAP server

3. Use the connection

The user can login into Dspace using LDAP username and password and the Dspace

auto-registers the user and grants access if the login information is authentic.

Video streaming in Dspace

The other objective of this project is to include or embedd a video player in Dspace.

Such a player will actually makes it possible to watch videos in Dspace and gives an

impression of live video streaming.The video player will be made possible using a

function which will create an object and this will be result in the video player appearing

whenever a video is selected in Dspace collections.

1.3 Scope of the project

The LDAP Hierarchical Authentication makes it easy for institutions/firms

using LDAP for authentication purpose. Such an instituton can install and use Dspace

without having to register all the members in the Dspace database. The Dspace

automatically use LDAP for authentication once enabled.

Federal Institue Of Science & Technology 2 Computer Science & Engineering

Page 9: Ldap Video

DSpace LDAP authentication and video integration Preamble

The LDAP Hierarchical Authentication method is particularly useful when you

have users in separate LDAP containers and need to to have users in different containers

log in. For example, you may have students in one container and faculty/staff in another

container, with both containers at the same level in the hierarchy of your organization's

LDAP server.

Video streaming in Dspace is an important step forward as it can play video

internally. The administrator can store flash videos in the filesystem of Dspace which

can be watched by all users of Dspace with the help of embedded video player. It

becomes a huge advantage when the computer system does not have a video player

preinstalled.

Using communities and groups, different types of data can be stored

category-wise and permissions can be altered by administrator according to the

company requirements.

Federal Institue Of Science & Technology 3 Computer Science & Engineering

Page 10: Ldap Video

DSpace LDAP authentication and video integration System Study

2.0 SYSTEM STUDY

2.1 Proof of Concept

We attempt to bind to the ldap server with the username and password

provided by the user. If bind succeeds, user login valid. If the bind fails there could be

problems such as wrong password, ldap server down, network problem etc. It is

possible to integrate DSPACE with LDAP .

2.1.1 Need of Proof of Concept

Various languages and scripting tools can be used for development

and to access a LDAP server.In case of Java various alternatives exist to connect a

client to a LDAP server. JNDI is one of such alternatives. Since JNDI is part of J2EE, it

is more convenient to use. JDNI is similar to JDBC, which is not directly

communicating with underlying LDAP server, can be easily replaced by some other

system provider when required. That means without any LDAP server, client application

can be developed at early stage and simply switch to actual JNDI provider when

everything is ready. More importantly, JNDI is really good in maintaining object

persistence on the network. JDNI is covering more area compared to other technologies

for same purpose.

JavaServer Pages (JSP) is a JAVA technology that helps software developers

serve dynamically generated web pages based on HTML, XML, or other document

types. JSP 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 an HTML or XML document. Since JSP uses Java technology, it is possible to

authenticate LDAP using JSP pages. In the LDAP, authentication information is

supplied in the "bind" operation. In LDAP, a client initiates a connection with the LDAP

server by sending the server a "bind" operation that contains the authentication

Federal Institue Of Science & Technology 4 Computer Science & Engineering

Page 11: Ldap Video

DSpace LDAP authentication and video integration System Study

information. A JSP page having authentication information can redirect to some other

pages according to whether the “bind” was sussesfull or not.

Dspace application contains components that communicate with the world outside

which is web based. That is, Dspace uses a Web User Interface. The DSpace Web UI is

most-used component in the application layer. There are two versions for Dspace web

UI:

1. JSPUI: Built on Java Servlet and JavaServer Page technology

2. XMLUI : Built on XML

Since it has a JSP User Interface, if the concept of authenticating LDAP using

Java or JSP turns true then Dspace can be successfully integrated with LDAP.

DSpace makes use of a stackable authentication mechanism. This means that

several authentication systems can be used, and when a user attempts to log in, their

credentials are tried in each system. If none of the systems will authenticate the users

then they are disallowed from logging in. Often installations just use one mechanism,

but you may wish to have several. For example you might wish to enable IP

authentication so that users can login without a username, just because they are on

campus. People off-campus can use LDAP, and administrators could use accounts in the

built-in DSpace user database.

Federal Institue Of Science & Technology 5 Computer Science & Engineering

Page 12: Ldap Video

DSpace LDAP authentication and video integration System Study

2.1.2 Proof of Concept design

For integrating LDAP with a JSP page, a JSP page requesting authentication

information of the user is created. Authentication information contain username and

user credential. This is passed to another JSP page which try to connect to the LDAP

server. If connection cannot be established, then an exception is created. If connection is

established then it try to perform a bind operation with the given information. On

successfull bind the page gives a validated signal. On unsuccessfull bind the page gives

a failure signal.

2.1.3 Proof of Concept results

Result of Proof of concept is the jsp web page which authenticates an LDAP user

if its an authentic account.

The screenshot can be viewed in the Appendix.Page Nos- xiv,xv Fig.16,Fig.17.

Federal Institue Of Science & Technology 6 Computer Science & Engineering

JSP page User Input LDAP Server

Page 13: Ldap Video

DSpace LDAP authentication and video integration System Study

2.2 System Specifications

2.2.1 Software Specification for development, implementation

1. UNIX-like OS or Microsoft Windows

Linux is a generic term referring to Unix-like computer operating systems based on

the Linux kernel. Their development is one of the most prominent examples of free and

open source software collaboration; typically all the underlying source code can be

used, freely modified, and redistributed, both commercially and non-commercially, by

anyone under licenses such as the GNU General Public License.

2. Java JDK 5 or later

The Java Development Kit (JDK) is a Sun Microsystem product aimed at java

developers. Since the introduction of Java, it has been by far the most widely used Java

SDK. On 17 November 2006, Sun announced that it would be released under the GPL,

thus making it a free software.

3. Relational Database: (PostgreSQL or Oracle)

PostgreSQL, often simply Postgres, is an object-relational database management

system (ORDBMS).It is released under an MIT-style license and is thus free and open

source software. As with many other open source programs, PostgreSQL is not

controlled by any single company, but has a global community of developers and

companies to develop it.

.Servlet Engine:Jakarta Tomcat 4.x or later

Apache Tomcat is an open source software implementation of the Java

Federal Institue Of Science & Technology 7 Computer Science & Engineering

Page 14: Ldap Video

DSpace LDAP authentication and video integration System Study

Servlet andJavaServer Pages technologies. The Java Servlet and JavaServer Pages

specifications are developed under the Java Community Process.

Building Tools:

1. Apache Maven 2.0.8 or later

Maven is a software tool for Java project management and build automation.

It is similar in functionality to the Apache Ant tool, but is based on different concepts.

Maven is hosted by the Apache Software Foundation, where it was formerly part of the

Jakarta Project.

Maven uses a construct known as a Project Object Model (POM) to describe the

software project being built, its dependencies on other external modules and

components, and the build order. It comes with pre-defined targets for performing

certain well defined tasks such as compilation of code and its packaging.

Maven dynamically downloads Java libraries and Maven plug-ins from one or

more repositories. Maven provides built-in support for retrieving files from the Maven 2

Central Repository and other Maven repositories, and can upload artifacts to specific

repositories after a successful build. A local cache of downloaded artifacts acts as the

primary means of synchronizing the output of projects on a local system.

Maven is built using a plugin-based architecture that allows it to make use of any

application controllable through standard input. Theoretically, this would allow anyone

to write plugins to interface with build tools (compilers, unit test tools, etc.) for any

other language. In reality, support and use for languages other than Java has been

minimal. Currently a plugin for the .Net framework exists and is maintained , and a

C/C++ native plugin was at one time maintained for Maven.

Project Object Model provides all the configuration for a single project. General

configuration includes the project's name, its owner and its dependencies on other

projects. One can also configure individual phases of the build process, which are

Federal Institue Of Science & Technology 8 Computer Science & Engineering

Page 15: Ldap Video

DSpace LDAP authentication and video integration System Study

implemented as plugins. For example, one can configure the compiler-plugin to use

Java version 1.5 for compilation, or specify that project can be packaged even if some

unit test fails.

2. Apache Ant 1.6.2 or later

Apache Ant is a software tool for automating software build processes. It is

similar to Make but is implemented using the Java language, requires the Java platform,

and is best suited to building Java projects.

The most immediately noticeable difference between Ant and Make is that Ant

uses XML to describe the build process and its dependencies, whereas Make has its

Makefile format. By default the XML file is named build.xml.

Ant is an Apache project. It is open source software, and is released under the

Apache Software License.

2.2.2 Hardware specification for development, implementation

Processor : Pentium4

Memory : 512 MB

RAM : 256 MB

HDD : 20 GB

Federal Institue Of Science & Technology 9 Computer Science & Engineering

Page 16: Ldap Video

DSpace LDAP authentication and video integration System Design & Modelling

3.0 SYSTEM DESIGN & MODELLING

3.1 Design Methodologies

Design is the first step in the development phase for any engineered product or

system. It may be defined as:”the process of applying various techniques and principles

for the purpose of defining a devise,a process or a system in sufficient detail to permit

its physical realization”. Computer software design like engineering design approaches

in other disciplines changes continually as new methods,better analysis,and broader

understanding evolve.

Using one of a number of design methods the design steps produces a data

design,an architectural design and a procedural design. Preliminary design is concerned

with transformation requirements to data and software architectures. Detail design focus

on refinement to architectural representation that lead to detailed structure and

algorithmic representation for software. The data design transforms the information

domain model created during analysis into the data structures that will be required to

implement the software. The architectural design defines the relationship among major

structural components into a procedural description of the software.

Elements of design

The components of information system described using requirements analysis

are the focal point in system design. Analysis must design the following elements.

Data Flows

Data Stores

Processes

Controls

Roles

Federal Institue Of Science & Technology 10 Computer Science & Engineering

Page 17: Ldap Video

DSpace LDAP authentication and video integration System Design & Modelling

The flow analysis permits analysts to isolate areas of interest in the organization

and to study them by examining the data that enter the process and seeing how they are

changed when they leave the process. In the Data Flow Diagrams, the physical system is

translated into a logical description that focuses on data and processes. It is

advantageous to emphasis data and processes in order to focus on the actual activities

that occur and the resources needed, rather than one who performs the work.

3.1.1 Logical Design

In the logical design, description of the inputs, outputs, databases and procedures

are given in a format that meets the requirements.

Data Flow Diagrams

Data Flow Diagram (DFD) is used to define the flow of the system and its

resources such as information. Data flow diagrams are a way of expressing system

requirements in a graphical manner. DFD represents one of the most ingenious tools of

clarifying system requirements and identifying major transformations that will become

programs in the system design. In the normal convention, logical DFD can be

completed using only 4 notations.

The DFD at the simplest level is referred to as the 'CONTEXT ANALYSIS

DIAGRAM'. These are expanded by level, each explaining its process in detail.

Processes are numbered for easy identification and are normally labeled in block letters.

Each data flow is labeled for easy understanding.

3.1.2 Physical design

Input design and output design

Input design is the process of converting user inputs into computer-based format.

The project requires a set of informations from the user to prepare a report, when

Federal Institue Of Science & Technology 11 Computer Science & Engineering

Page 18: Ldap Video

DSpace LDAP authentication and video integration System Design & Modelling

organized input data are needed.

In the system design phase, the expanded DFD identifies logical data flow, data

stores and destination. Input data is collected and organized into groups of similar data.

The goal behind designing input data is to make it free from logical errors. The input

entry to all type of clients is the user name and password only. If they are valid the

client is allowed to enter into the software.

3.1.3 Code Design

A code is an ordered collection of symbols to provide unique identification of

data. The following are the characters of a good code generation.

Characteristics of good coding

1.0 Uniqueness

2.0 Meaningfulness

3.0 Stability

4.0 Uniform Size and Format

5.0 Simplicity

6.0 Conciseness

7.0 Versatility

3.1.4 Database Design

The general theme behind a database is to handle information as an integrated

whole. A database is a collection of interrelated data stored with minimum redundancy

to serve many users quickly and efficiently. The general objective is to make

information access easy, quick, inexpensive and flexible for user.

In a database environment, common data are available in which several users

can use. The concept behind a database is an integrated collection of data and provides a

centralized access to the data from the program. It makes possible to treat data as a

Federal Institue Of Science & Technology 12 Computer Science & Engineering

Page 19: Ldap Video

DSpace LDAP authentication and video integration System Design & Modelling

separate resource. While designing a database, several objectives must be considered:

• Controlled Redundancy

• Data Independence

• More information at low cost

• Accuracy and Integrity

• Recovery from failure

• Privacy and Security

• Performance

Data Flow Diagrams

A data-flow diagram (DFD) is a graphical representation of the "flow" of data

through an information system. DFDs can also be used for the visualization of data

processing (structured design). On a DFD, data items flow from an external data source

or an internal data store to an internal data store or an external data sink, via an internal

process.

A DFD provides no information about the timing or ordering of processes, or

about whether processes will operate in sequence or in parallel. It is therefore quite

different from a flowchart, which shows the flow of control through an algorithm,

allowing a reader to determine what operations will be performed, in what order, and

under what circumstances, but not what kinds of data will be input to and output from

the system, nor where the data will come from and go to, nor where the data will be

stored (all of which are shown on a DFD).It is common practice to draw a context-level

data flow diagram first, which shows the interaction between the system and external

agents which act as data sources and data sinks. This context-level DFD is next

"exploded", to show more detail of the system being modeled.

Data-flow diagrams (DFDs) are one of the three essential perspectives of the

Federal Institue Of Science & Technology 13 Computer Science & Engineering

Page 20: Ldap Video

DSpace LDAP authentication and video integration System Design & Modelling

structured-systems analysis and design method SSADM. The sponsor of a project and

the end users will need to be briefed and consulted throughout all stages of a system's

evolution. With a data-flow diagram, users are able to visualize how the system will

operate, what the system will accomplish, and how the system will be implemented. The

old system's dataflow diagrams can be drawn up and compared with the new system's

data-flow diagrams to draw comparisons to implement a more efficient system. Data-

flow diagrams can be used to provide the end user with a physical idea of where the

data they input ultimately has an effect upon the structure of the whole system from

order to dispatch to report. How any system is developed can be determined through a

data-flow diagram.

There are only four symbols:

1. Squares representing external entities, which are sources or destinations of data.

2. Rounded rectangles representing processes, which take data as input, do

something to it, and output it.

3. Arrows representing the data flows, which can either be electronic data or

physical items.

4. Open-ended rectangles representing data stores, including electronic stores such

as databases or XML files and physical stores such as or filing cabinets or

stacks of paper.

The general rules to follow while drawing a DFD are :

1. All processes must have at least one data flow in and one data flow out.

2. All processes should modify the incoming data, producing new forms of

outgoing data.

3. Each data store must be involved with at least one data flow.

4. Each external entity must be involved with at least one data flow.

5. A data flow must be attached to at least one process.

The four key elements in DFD are processes,data flows,data stores & external entities.

Federal Institue Of Science & Technology 14 Computer Science & Engineering

Page 21: Ldap Video

DSpace LDAP authentication and video integration System Design & Modelling

External Entity

An external entity is a source or destination of a data flow which is outside the

area of study.

Process

A process shows a transformation or manipulation of data flows within the

system. The symbol used is a rectangular box.

Data Flow

A data flow shows the flow of information from its source to its destination. A

data flow is represented by a line, with arrowheads showing the direction of flow.

Information always flows to or from a process .

Data Store

A data store is a holding place for information within the system:

It is represented by an open ended narrow rectangle. Data stores may be long-term files

such as sales ledgers, or may be short-term accumulations.

DFD is used to define the flow of the system and its resources such as

information. DFDs are a way of expressing system requirements in a graphical

manner.It has the purpose of clarifying system requirements and identifying major

transformations that will become programs in system design.In normal

convention,logical DFD can be completed using only 4 notations.

Federal Institue Of Science & Technology 15 Computer Science & Engineering

A square represents a data source or

destination

A closed figure represent process that transform

the control.

Page 22: Ldap Video

DSpace LDAP authentication and video integration System Design & Modelling

System Feasibility

The aim of a feasibility study is to see whether it is possible to develop a system

at a reasonable cost. At the end of the feasibility study a decision is taken whether to

proceed or not.

A feasibility study contains the general requirements of the proposed system.

System study breaks into two stages:Preliminary and detailed. During the preliminary

analysis,the analyst lists the objectives of the proposed system. They collectively form

the preliminary report.

Once it is approved,detailed analysis is done. Three technical aspects involved in

the feasibility study are:

• technological feasibility

• economic feasibility

Federal Institue Of Science & Technology 16 Computer Science & Engineering

A directed line represents process that transform

the data stream

A rectangle representing data stores, including

electronic stores such as databases or XML

files and physical stores such as or filing

cabinets or stacks of paper.

Page 23: Ldap Video

DSpace LDAP authentication and video integration System Design & Modelling

• operational feasibility

Technology and system feasibility

The assessment is based on an outline design of system requirements in terms of

Input, Processes, Output, Fields, Programs, and Procedures. This can be quantified in

terms of volumes of data, trends, frequency of updating, etc. in order to estimate

whether the new system will perform adequately or not. Technological feasibility is

carried out to determine whether the company has the capability, in terms of software,

hardware, personnel and expertise, to handle the completion of the project.

Economic feasibility

Economic analysis is the most frequently used method for evaluating the

effectiveness of a new system. More commonly known as cost/benefit analysis, the

procedure is to determine the benefits and savings that are expected from a candidate

system and compare them with costs. If benefits outweigh costs, then the decision is

made to design and implement the system. An entrepreneur must accurately weigh the

cost versus benefits before taking an action.

Operational feasibility

Is a measure of how well a proposed system solves the problems, and takes

advantages of the opportunities identified during scope definition and how it satisfies

the requirements identified in the requirements analysis phase of system development.

3.2 System Architecture

An architecture description is a formal description of a system, organized in a way

that supports reasoning about the structural properties of the system. It defines the

system components or building blocks and provides a plan from which products can be

Federal Institue Of Science & Technology 17 Computer Science & Engineering

Page 24: Ldap Video

DSpace LDAP authentication and video integration System Design & Modelling

procured, and systems developed, that will work together to implement the overall

system. Systems architecture can best be thought of as a representation of an existent or

to be created system, and the process and discipline for effectively implementing the

design(s) for such a system. The set of relations (that is, embedded information) which

an architecture describes may be expressed in hardware, software, or something else.

•It is a representation because it is used to convey the informational content of the

elements comprising a system, the relationships among those elements, and the

rules governing those relationships.

•It is a process because a sequence of steps is prescribed to produce or change the

architecture, and/or a design from that architecture, of a system within a set of

constraints.

•It is a discipline because a body of knowledge is used to inform practitioners as to

the most effective way to design the system within a set of constraints.

Fig. 1

Federal Institue Of Science & Technology 18 Computer Science & Engineering

Hardware Layer

OS Java

Dspace

Tomcat Server

Page 25: Ldap Video

DSpace LDAP authentication and video integration System Design & Modelling

Fig.2

3.3 Control Flow Diagram

A control flow diagram shows the flow of control through a program as a graph.

Each node in the graph represents a statement in the flow. Control flow diagrams break

a process down to a finite number of steps that get executed one at a time. In a single-

threaded system, only one of the steps is being executed. The control flow governs how

the next step to be executed is determined. Control flow does not say anything about

what the inputs and outputs. It does not address why we might want to perform steps. It

does not address how the steps get performed internally.

Federal Institue Of Science & Technology 19 Computer Science & Engineering

Web Application Server

User Interface

Page 26: Ldap Video

DSpace LDAP authentication and video integration System Design & Modelling

Fig.3

3.4 Layer Explanation Diagram

The DSpace system is organised into three tiers which consist of a

number of components.Each layer only invokes the layer below it i.e. the application

layer may not used the storage layer directly.

Federal Institue Of Science & Technology 20 Computer Science & Engineering

Page 27: Ldap Video

DSpace LDAP authentication and video integration System Design & Modelling

Fig.4

Storage Layer

The storage layer is responsible for physical storage of metadata and

content.DSpace uses a relational database to store all information about the organization

of content, metadata about the content, information about e-people and authorization,

and the state of currently-running workflows.

Fig .5

Federal Institue Of Science & Technology 21 Computer Science & Engineering

Page 28: Ldap Video

DSpace LDAP authentication and video integration System Design & Modelling

Business logic layer The business logic layer deals with managing the content of the archive,

users of the archive (e-people), authorization, and workflow.

Fig.6

Application layer

The application layer contains components that communicate with the world

outside of the individual DSpace installation, for example the Web user interface and

the Open Archives Initiative protocol for metadata harvesting service.

Fig.7

Federal Institue Of Science & Technology 22 Computer Science & Engineering

Page 29: Ldap Video

DSpace LDAP authentication and video integration System Design & Modelling

3.5 Application Design Diagram

A software design is a meaningful engineering representation of some software

product that is to be built. Application design serves as the foundation for all software

engineering steps that follow regardless of which process model is being employed.

Without a proper design we risk building an unstable system – one that will fail when

small changes are made, one that may be difficult to test.

The fundamental design concepts are:

•Abstraction - allows designers to focus on solving a problem without being

concerned about irrelevant lower level details (procedural abstraction - named

sequence of events, data abstraction - named collection of data objects)

•Refinement - process of elaboration where the designer provides successively

more detail for each design component

•Modularity - the degree to which software can be understood by examining its

components independently of one another

•Software architecture - overall structure of the software components and the

ways in which that structure provides conceptual integrity for a system

•Data structure - representation of the logical relationship among individual data

elements

•Information hiding - information (data and procedure) contained within a module

is inaccessible to modules that have no need for such information

Federal Institue Of Science & Technology 23 Computer Science & Engineering

Page 30: Ldap Video

DSpace LDAP authentication and video integration System Design & Modelling

LDAP Authentication

We attempt to bind to the ldap server with the username and password provided

by the user. For authentication of the LDAP server , a JSP page requesting

authentication information of the user is created. Authentication information contain

username and user password. If connection cannot be established, then an error message

is displayed. If connection is established ,then it tries to perform a bind operation with

the given information. On successfull bind the a validated message is generated. On

unsuccessfull bind, the page displays a failure message.

Fig.8

Video Integration

Federal Institue Of Science & Technology 24 Computer Science & Engineering

JSP Page

Video file

Video Player

Java Codes forvarious application calls.....

Added Function to call video player

Java page in src.

Video player added to server

Calls function.

Page 31: Ldap Video

DSpace LDAP authentication and video integration System Design & Modelling

3.6 Flow Chart

Fig.9

Federal Institue Of Science & Technology 25 Computer Science & Engineering

ACCEPT USER CREDENTIALS

CONSTRUCT DN

IF VALIDATE= TRUE

SUCCESSFULL FAILURE

yes no

STOP

START

STOP

Page 32: Ldap Video

DSpace LDAP authentication and video integration System Design & Modelling

3.7 Technology Explanations

Dspace

DSpace is an open source software package that provides the tools for

management of digital assets, and is commonly used as the basis for an institutional

repository. It supports a wide variety of data, including books, theses, 3D digital scans

of objects, photographs, film, video, research data sets and other forms of content. The

data is arranged as community collections of items, which bundle bitstreams together.

DSpace is also intended as a platform for digital preservation activities. Since its

release in 2002, as a product of the HP-MIT Alliance, it has been installed and is in

production at over 240 institutions around the globe [1], from large universities to small

higher education colleges, cultural organizations, and research centers. It is shared under

a BSD licence, which enables users to customize or extend the software as needed.

DSpace is written in Java and JSP, using the Java Servlet API. It uses a relational

database, and supports the use of PostgreSQL and Oracle. It makes its holdings

available primarily via a web interface, but it also supports the OAI-PMH v2.0, and is

capable of exporting METS (Metadata Encoding and Transmission Standard) packages.

Future versions are likely to see increasing use of web services, and changes to the user

interface layer.

At a very high level, DSpace looks like this:

Web-based interface makes it easy for a submitter to create an archival item by

depositing files. DSpace was designed to handle any format from simple text

documents to datasets and digital video.

Data files, also called bitstreams, are organized together into related sets. Each

bitstream has a technical format and other technical information. This technical

Federal Institue Of Science & Technology 26 Computer Science & Engineering

Page 33: Ldap Video

DSpace LDAP authentication and video integration System Design & Modelling

information is kept with bitstreams to assist with preservation over time.

An item is an "archival atom" consisting of grouped, related content and

associated descriptions (metadata). An item's exposed metadata is indexed for

browsing and searching. Items are organized into collections of logically-related

material.

A community is the highest level of the DSpace content hierarchy. They

correspond to parts of the organization such as departments, labs, research

centers or schools.

DSpace’s modular architecture allows for creation of large, multi-disciplinary

repositories that ultimately can be expanded across institutional boundaries.

DSpace is committed to going beyond reliable file preservation to offer

functional preservation where files are kept accessible as technology formats,

media, and paradigms evolve over time for as many types of files as possible.

The end-user interface supports browsing and searching the archives. Once an

item is located, Web-native formatted files can be displayed in a Web browser

while other formats can be downloaded and opened with a suitable application

program.

Federal Institue Of Science & Technology 27 Computer Science & Engineering

Page 34: Ldap Video

DSpace LDAP authentication and video integration System Design & Modelling

Fig.10

Lightweight Directory Access Protocol

The Lightweight Directory Access Protocol, or LDAP (pronounced / lˈɛ

dæp/), is an application protocol for querying and modifying data using directory

services running over TCP/IP.[1]

A directory is a set of objects with attributes organized in a logical and

hierarchical manner. A simple example is the telephone directory, which consists of a

list of names (of either persons or organizations) organized alphabetically, with each

Federal Institue Of Science & Technology 28 Computer Science & Engineering

Page 35: Ldap Video

DSpace LDAP authentication and video integration System Design & Modelling

name having an address and phone number associated with it.

An LDAP directory tree often reflects various political, geographic, and/

or organizational boundaries, depending on the model chosen. LDAP deployments

today tend to use Domain Name System (DNS) names for structuring the topmost levels

of the hierarchy. Deeper inside the directory might appear entries representing people,

organizational units, printers, documents, groups of people or anything else that

represents a given tree entry (or multiple entries).

The protocol accesses LDAP directories, which follow the 1993 edition of the X.500

model:

• A directory is a tree of directory entries.

• An entry consists of a set of attributes.

• An attribute has a name (an attribute type or attribute description) and one or

more values. The attributes are defined in a schema (see below).

• Each entry has a unique identifier: its Distinguished Name (DN). This consists

of its Relative Distinguished Name (RDN), constructed from some attribute(s) in

the entry, followed by the parent entry's DN. Think of the DN as the full file path

and the RDN as its relative filename in its parent folder (e.g. if

C:\foo\bar\myfile.txt were the DN, then myfile.txt would be the RDN).

Be aware that a DN may change over the lifetime of the entry, for instance, when

entries are moved within a tree. To reliably and unambiguously identify entries, a UUID

might be provided in the set of the entry's operational attributes.

"dn" is the name of the entry; it's not an attribute nor part of the entry. "cn=John

Doe" is the entry's RDN (Relative Distinguished Name), and "dc=example,dc=com" is

the DN of the parent entry, where "dc" denotes 'Domain Component'. The other lines

show the attributes in the entry. Attribute names are typically mnemonic strings, like

"cn" for common name, "dc" for domain component, "mail" for e-mail address and "sn"

for surname.

Federal Institue Of Science & Technology 29 Computer Science & Engineering

Page 36: Ldap Video

DSpace LDAP authentication and video integration System Design & Modelling

A server holds a subtree starting from a specific entry, e.g. "dc=example,dc=com"

and its children. Servers may also hold references to other servers, so an attempt to

access "ou=department,dc=example,dc=com" could return a referral or continuation

reference to a server which holds that part of the directory tree. The client can then

contact the other server. Some servers also support chaining, which means the server

contacts the other server and returns the results to the client.

LDAP rarely defines any ordering: The server may return the values of an

attribute, the attributes in an entry, and the entries found by a search operation in any

order. This follows from the formal definitions - an entry is defined as a set of attributes,

and an attribute is a set of values, and sets need not be ordered.

Pseudo video streaming

Pseudostreaming is a protocol that can be installed on regular HTTP

servers such as Apache, Tomcat, IIS or lighthttpd. It uses a server side script for Flash-

to-server communication. The player sends a HTTP request to the server with a start

time parameter in the request URL’s query string and the server script responds with the

video stream so that its start position corresponds to the requested parameter. This start

time parameter is usually named simply start. This same technique is used by the ultra-

popular YouTube service which uses lighthttpd servers.

The biggest advantage of using pseudo streaming or any other streaming

solution is the ability to seek in the timeline to positions that have not been downloaded

to the player. This is most desirable for full-length movies because the visitor can seek

to the last scene of a 2-hour movie if she wants to. Here are some more benefits of

pseudo-streaming:

• Random seeking to any part of the timeline at any time.

• Starting playback in the middle of the clip’s timeline.

• Provides integration possibilities to custom streaming servers and server-side

scripts.

• Both FLV and H.264 files supported.

Federal Institue Of Science & Technology 30 Computer Science & Engineering

Page 37: Ldap Video

DSpace LDAP authentication and video integration Testing

4.0 TESTING

4.1 Introduction

This phase is necessary in order to check the efficiency of system developed.

System testing is a critical element of the software quality assurance and represents the

ultimate review of specification, design and coding. Testing is the last stage of software

development before we release the project to the customer. It is also used to find and

eliminate any residual errors from previous stages and the operational reliability of the

system.

Testing Strategy

The overall strategy for software testing is described in the following section. We

will use four different methods to test our software.

Unit Testing

In the unit test case we will be testing the separate modules of the software. We

will carry out white box testing where each module or component of the software is

tested individually. We will test the components by passing data through it and we will

be monitoring data to find the errors. We will be looking for entry and exit conditions of

the data. We will make sure that all the components work without any troubles. The test

primarily is carried out by the programmer who designed and implemented the module.

Lead tester will than carry out test on the modules to finalize the testing

First , the LDAP connectivity was tested. In our project.This was done to make

sure that Dspace would be able to connect to Dspace This testing was done on the

prototype as it is the unit testing.

Federal Institue Of Science & Technology 31 Computer Science & Engineering

Page 38: Ldap Video

DSpace LDAP authentication and video integration Testing

Integration Testing

In this method of testing we will implement the software at the client’s location

and will run it. So we will be testing the product on client’s network. As part of testing,

will be looking for any signs of the collision between our software components and

those of the clients. Especially with regard to the changes that can occur in the database.

We will install the software at the client’s site and will run it. We will make sure that all

the data is saved correctly and there is no loss of data or data base anomalies in the

product.

We will start from the home page of Dspace and will go through all the software

functions and will test that. We will be carefully looking for any sort of collision

between several different applications with Dspace.

Validation Testing

In this method of the test we will be working with the customer to find out if the

software developed is valid for the clients. We want to make sure that the client is

getting what he asked for. We will look at the software requirement document in the

case of conflict or misunderstanding with client regarding software components. We

will perform the black box testing where the software is completed and we test all the

software components together. We will have several input data or test data that we will

derive results for. We will insert this data in the software and will get results from the

software. We will compare the results from the software with the results that we

derived. This way will check for the validation of the software.

In case there are problems with the software we will create a deficiency list and

will record all the problems in there. We will test all the components and

subcomponents of the software to perform validation test.

Federal Institue Of Science & Technology 32 Computer Science & Engineering

Page 39: Ldap Video

DSpace LDAP authentication and video integration Testing

System Testing

In this test method we will combine several types of the testing. We will test for

several different conditions by following several different test methods.

Recovery Testing

Here we are concerned with ability of the software to retrieve lost data. We want

to make sure that the software is fault tolerance and does not loose data in case

of system shutdown or if the system ceases.

Security Testing

In this method of the test we want to make sure that the security checks are

working and no one is able to temper with the data. This is crucial since our

software is design to track the activity that is not legal.

Stress Testing

In this test method we want to monitor stress caused to system and the software

due to simultaneous use. We want to make sure that the system does not break

down under the extreme use conditions.

Performance Testing

Performance bounds are set during the design part of the software development.

These bounds will help us in determining the effectiveness of the software. It

will also help us to minimize stress level that is caused to user because of our

software.

Federal Institue Of Science & Technology 33 Computer Science & Engineering

Page 40: Ldap Video

DSpace LDAP authentication and video integration Testing

The project's system testing is the final testing process where all the aspects are

tested.Tests like test for administrator login, LDAP login/connectivity and community

and collections creation were done.Also video streaming is tested using flv video file.

4.2 Test Cases

This section describes as detailed test procedure including test tactics and test

cases for the software. In this section all software specification is described. We will

describe the methods for all the different tests to be performed and will also declare the

expected outputs.

4.2.1 Test cases for Login Administrator

We will make use several different names to log in to the system. We will use

correct and incorrect User Names and Passwords to access the software and thus access

database. We will not be allowed to log in using incorrect passwords and error message

will be shown. When correct password is presented we will be able to log in be able to

next window.

Purpose of Tests for Login

To test if the administrator can log into the system successfully.

Test Data Input:

The administrator needs to input his username and password to login the system.

Steps:

(1) The system is running. There will be areas for the administrator to log in.

(2) The administrator input the login ID and password.

(3) If the ID and the password are correct, user can login the system. Otherwise, error

messages must be shown.

Federal Institue Of Science & Technology 34 Computer Science & Engineering

Page 41: Ldap Video

DSpace LDAP authentication and video integration Testing

Expected results for Login

The administrator can successfully log in to the system

4.2.2 Test cases for Home Page

This test is used to check the function of the home page which contains all the

controls.

Purpose of tests for Home Page

To test all the functionalities of Dspace software.

Prerequisites:

Must log in the system first and the system is available to be used.

Expected results for Home Page

The function works successfully in the system

4.2.3 Testing procedure for video integration

We will be uploading a video file and check whether the video streaming

function is working correct.

Expected results

At the end of the test all the results should be positive. All of the software

components should work properly. In case we come across the errors we will record

them in the error document and these errors will be fixed at the latter time.

Validation testing

This test is performed to validate the software. The test is known as black box

testing where the entire software will be created and will test all the component of the

Federal Institue Of Science & Technology 35 Computer Science & Engineering

Page 42: Ldap Video

DSpace LDAP authentication and video integration Testing

software together. We will be working with clients to show them the software and reach

agreements about the completion or failure of the software.

4.2.4 Testing procedure for validation

We perform a black box test where we will have software as whole with us. We

will enter predetermined data with expected results. We will compare predicted results

with those that software gives us and will determine if the software is valid or not.

Every button, tab or menus will be tested. We will Test the correctness of the database

and will make sure there are no errors regarding database updates.

Expected results

We should not have any troubles with the software since we have already tested

all the parts of the software before. Every thing here should work fine and we should be

able to validate the software. We will be validating only if each and every thing works

in the software. Any software error will force us to wait for the validation until we have

fixed all the errors.

Pass/fail criterion for all validation tests

The pass fail criterion for all the validation tests are that the result from the testing

should not contain bugs that could affect the working of the system as a whole. The

system passes a test only when the outputs produced by its modules are the expected

ones. Failure occurs when the results if far off from the expected result

System Testing

The system testing procedure is specified. For each of the system tests specified

below, the test procedure, test cases, purpose, specialized requirements and pass/fail

criteria are specified. It should be noted that not all system test methods noted in

Sections 3.2.4.n will be conducted for every project.

Federal Institue Of Science & Technology 36 Computer Science & Engineering

Page 43: Ldap Video

DSpace LDAP authentication and video integration Testing

Recovery testing

In this test method we are concerned with the software’s ability to retrieve lost

data or to make sure that software does not loose any data during the updating of the

database. We will be mainly looking at transaction processing when we talk about the

recovering testing. In transaction protection we will be testing the software to make sure

that when it saves any thing it will save all of it or none of it. This is necessary to avoid

existence of corrupt data in database.

Security testing

In this testing section we are concerned about the security of the software. We will

be testing the software to see if unauthorized users are able to access sensitive parts of

the software. We have divided the security section in three stages.

1. Password Login

We will try to log in using invalid user name or valid user name and invalid

password. We will also test the software to see if it allows access without any

identification what so ever. We will also test the software so that password in not

saved in any way within computer for others to view.

2. Modular Access

Our software identifies the user and allows him or her to access only certain

modules. We will test to see if the software restricts unauthorized users from

accessing certain modules of the software. In particular we want to make sure

that user cannot access modules for the administrator.

3. Priority Access

The software is setup so that inspectors can view each others work but can not

Federal Institue Of Science & Technology 37 Computer Science & Engineering

Page 44: Ldap Video

DSpace LDAP authentication and video integration Testing

update or delete it. We will test to make sure that inspector or managers in not

able to delete the data entered by the administrator. We will do this by trying to

delete the data entered using some other login name. We should not have any

problems with any sections of the security testing. Security measures are serious

issue and we have made all attempts to keep it from any bug.

Stress Testing

In this test method we are concerned with the software’s ability to allow

concurrent transaction. Too much of the work at the same time may cause system

shutdown or frees. We want to test and to make sure that this does not happen. As test

procedure we will try to create as much traffic for the software as we can by opening

several applications concurrently. We should not have any trouble in achieving our goal

in this section of the test since our product is not at the large-scale software products

and does not generate too much traffic either.

Pass/fail criterion for all system testing

Tests executed against the system use the functional requirements, non-functional

requirements, and use cases as the elements to determine pass or fail. If a test exhibits a

product failure to meet the objectives of any of the functional requirements, non-

functional requirements, or the use cases, it will fail and a defect/issue will be reported

for review.

Federal Institue Of Science & Technology 38 Computer Science & Engineering

Page 45: Ldap Video

DSpace LDAP authentication and video integration Implementation

5.0 IMPLEMENTATION

5.1 Introduction

Implementation is an activity that is contained throughout the development phase. It

is the process of bringing a developed system into operational use and turning it over to

the user. The new system and its components are to be tested in a structured and planned

manner. A successful system should be delivered and users should have confidence that

the system would work efficiently and effectively. The more complex the system being

implemented the more involved will be the system analysis and design effort required

for implementation. The implementation plan involves the following.

• Testing and confirm effectiveness

• Detection and correction of errors

• Making necessary changes so as to satisfy the requirements.

The Systems Development Life Cycle (SDLC), or Software Development Life

Cycle in systems engineering and software engineering, is the process of creating or

altering systems, and the models and methodologies that people use to develop these

systems. The concept generally refers to computer or information systems.

In software engineering the SDLC concept underpins many kinds of software

development methodologies. These methodologies form the framework for planning

and controlling the creation of an information system: the software development

process.

The purpose of System Implementation can be summarized as follows: making

the new system available to a prepared set of users (the deployment), and positioning

on-going support and maintenance of the system within the Performing Organization

(the transition).

Federal Institue Of Science & Technology 39 Computer Science & Engineering

Page 46: Ldap Video

DSpace LDAP authentication and video integration Implementation

5.2 Instalation Procedure

Pre – Requisites Software

• UNIX-like OS (Linux, HP/UX etc)

• Java 1.4 or later (standard SDK is fine, you don't need J2EE) – Sun Java preferred

• Apache Ant 1.6.2 or later (Java make-like tool)

• PostgreSQL 7.3 or later - an open source relational database, or Oracle 9 or higher.

• Java Servlet Container – Tomcat, Resin, Jetty, JBoss etc.

Unix like OS

• Any flavor of UNIX like

• Linux, any flavor

• Redhat

• Suse

• Mandrake

• Debian

• Fedora etc.

• Solaris (Sun system)

• HP-UX (Hewlett Packard)

• AIX (IBM)

• Mac OS X

Java Compiler

• Sun Java (preferred)

• IBM Java

• GNU Java

NOTE: Some Linux versions might have already been loaded with GNU java.

• Make sure of the PATH variable points to Sun Java

Federal Institue Of Science & Technology 40 Computer Science & Engineering

Page 47: Ldap Video

DSpace LDAP authentication and video integration Implementation

Ant

• Java based build tool, similar to make in the world of ‘C’

• Compiles java programs of dspace sourcecode, generates war files

War files - A Web application is a group of HTML pages, JSP pages, servlets,

resources and source file, which can be managed as a single unit. A Web

archive (WAR) file is a packaged Web application. WAR files can be used to

import a Web application into a Web server.

DBMS

• PostgreSQL (open source)

• Oracle (commercial)

• Database backend of DSpace

• Stores information on

• Communities

• Collection

• Members - passwords

• E-groups

Servlet containers

• Tomcat (most popular with DSpace)

• Jetty

• Resin

• JBoss (more professional)

• J2EE

• Can be integrated with Apache, you have to build connectors

Servlets are server-side Java™ programs. These Java programs extend the

Federal Institue Of Science & Technology 41 Computer Science & Engineering

Page 48: Ldap Video

DSpace LDAP authentication and video integration Implementation

functionality of a Web server by generating dynamic content and responding

to Web client requests. When a browser sends a request to the server, the

server can send the request information to a servlet, so that the servlet can

construct the response that is sent back to the browser.

Workshop – Config

• Operating System – Fedora 8.0

• Java – jdk-6-linux-i586.rpm

• Apache Ant – apache-ant-1.7.0-bin.tar.gz

• PostgreSQL

Postgresql-8.2.5-2PGDG.f7.i686.rpm

Postgresql-server-8.2.5-2PGDG.f7.i686.rpm

Postgresql-8.2.507.jdbc4.jar

• Tomcat – apache-tomcat-5.5.23-compat.tar.gz

• Dspace – dspace-1.4.2-source.tar

Downloads

Site address of downloads

• DSpace

http://www.sourceforge.net/projects/dspace

• Apache-Tomcat

http://tomcat.apache.org

• Apache-ant

http://ant.apache.org

• Postgre-sql

http://www.postgresql.org

Note:

ant may be available with your OS

Tomcat may be available with your OS, But use the downloaded tomcat

Federal Institue Of Science & Technology 42 Computer Science & Engineering

Page 49: Ldap Video

DSpace LDAP authentication and video integration Implementation

Installation Demonstration and Practical Session

Install JAVA

• Check whether java is installed

#java –version

• Copy the java rpm given

cp jdk-6-linux-i586

• Install the package

#rpm –ivh jdk-6-linux-i586.rpm

• Remove any old installed java

#rm /usr/bin/java

Install JAVA (contd)

• Create symbolic link to new installed Java

#cd /usr/bin

#ln –s /usr/java/jdk1.6.0/java java

• Set environment variable by editing file profile

#vi /etc/profile

Type the following lines

# JAVA_HOME=/usr/java/jdk1.6.0

#export JAVA_HOME

Save the file

Install Apache-Ant

• Check if ant is installed

#which ant

• Copy the apache-ant-1.7.0-bin.tar as follows

#cp apache-ant-1.7.0-bin.tar /usr/local

• Install as follows

#cd /usr/local

Federal Institue Of Science & Technology 43 Computer Science & Engineering

Page 50: Ldap Video

DSpace LDAP authentication and video integration Implementation

#gunzip apache-ant-1.7.0-bin.tar.gz

#tar –xvf apache-ant-1.7.0-bin.tar

#mv apache-ant-1.7.0 ant

• Set environment variable

#vi /etc/profile

Add the line

PATH=$PATH:/usr/local/ant/bin

• Save the file

Install PostgreSQL

• Copy the postgresql-8.2.5-

2PGDG.f7.i686.rpm and postgresql-server-

8.2.5-2PGDG.f7.i686.rpm

• Install the files in the same sequence

#rpm –ivh postgresql-8.2.5 -2PGDG.f7.i686.rpm

#rpm –ivh postgresql-server-8.2.5-

2PGDG.f7.i686.rpm

Install PostgreSQL (contd)

• Log into postgres

#su –l postgres

• Initialize database

$initdb

• Configuration changes

Open /data/postgresql.conf and remove comment for

listen_addresses = ‘localhost’

$vi /data/postgresql.conf

Open /data/pg_hba.conf and add a line in the section #IPv4-style

local connections:

host

Federal Institue Of Science & Technology 44 Computer Science & Engineering

Page 51: Ldap Video

DSpace LDAP authentication and video integration Implementation

• dspace dspace 127.0.0.1

• 255.255.255.255 md5

• Save the file

Install Tomcat

• Copy apache-tomcat-5.5.23.tar.gz to /usr/local

#cp apache-tomcat-5.5.23.tar.gz /usr/local

• Change directory

#cd /usr/local

• Uncompress and extract files

#gunzip apache-tomcat-5.5.23.tar.gz

#tar –xvf apache-tomcat-5.5.23.tar

• Rename the directory

#mv apache-tomcat-5.5.23 tomcat

Install Tomcat (contd)

• Configuration changes

Open the file /etc/profile and the add the following

JAVA_OPTS="-Xmx512M -Xms64M -Dfile.encoding=UTF-8"

export JAVA_OPTS

Save the file

Locate the following section in file /usr/local/tomcat/config/server.xml

<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 --> <Connector

port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

enableLookups="false" redirectPort="8443" acceptCount="100"

connectionTimeout="20000" disableUploadTimeout="true" />

Add the following

<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 --> <Connector

port="8080" maxThreads="150" minSpareThreads="25"

Federal Institue Of Science & Technology 45 Computer Science & Engineering

Page 52: Ldap Video

DSpace LDAP authentication and video integration Implementation

maxSpareThreads="75"

enableLookups="false" redirectPort="8443" acceptCount="100"

connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>

Save the file

Install Dspace

• Copy dspace-1.5.2-source.tar to root directory

#cp dspace-1.5.2-source.tar /

• Change directory

#cd /

• Uncompress and extract files

#gunzip dspace-1.5.2-source.tar

#tar -xvf dspace-1.5.2-source.tar

• Rename directory

#mv dspace-1.5.2-source dspace

• Create an user dspace

#useradd –d /dspace dspace

#passwd dspace

• Download file postgresql-8.2.507.jar and rename

#mv postgresql-8.2.507.jar postgresql

• Copy postgres jdbc driver

cp postgresql /dspace/lib

• Login to dspace

#su –l dspace

$cd /dspace

• Create dspace database

$createuser –U postgres –d –A –P dspace

(Give password and remember it)

createdb –U dspace –E UNICODE dspace

• Start postgres service

Federal Institue Of Science & Technology 46 Computer Science & Engineering

Page 53: Ldap Video

DSpace LDAP authentication and video integration Implementation

$service postgres start

• Minimal configuration changes

• Open the file /dspace/config/dspace.cfg

dspace.url = [like http://10.183.xx.xx/dspace]

dspace.hostname = [IP address of server]

dspace.name =[ Dspace at IISC Workshop]

db.password = [the password you entered in the last step of

postgresql installation]

mail.server =[l10.183.xx.xx]

mail.from.address = [dspace@localhost]

feedback.recipient =[dspace@localhost]

mail.admin = [dspace@localhost]

alert.recipient =[email address (not essential but very useful!)]

Save the file

• Compile and install

$ant fresh_install

• Copy the war files created

$cp /dspace/build/*.war /usr/local/tomcat/webapps

• Create initial administrator account

$/dspace/bin/create-administrator

Enter details as prompted

• Change ownership to user dspace for tomcat

#chown –R dspace.dspace /usr/local/tomcat

• Start tomcat

$/usr/local/tomcat/bin/startup.sh

• Open browser

Give address http://10.183.xx.xx:8080/dspace

• There you will have the dspace page

• Successful installation

Federal Institue Of Science & Technology 47 Computer Science & Engineering

Page 54: Ldap Video

DSpace LDAP authentication and video integration Implementation

5.3 Implementation Plan

The project will be implemented in the FISAT digital library.where the Dspace website

can be hosted and staff and students can login using their LDAP account id.The Dspace

website will be managed by the library administrator.Through Dspace both students and

staff members can upload and download digital data ranging from simple text

documents to flv video filles.

Federal Institue Of Science & Technology 48 Computer Science & Engineering

Page 55: Ldap Video

DSpace LDAP authentication and video integration Conclusion

6.0 CONCLUSION

6.1 Advantages and Disadvantages of the system

Every system which has been developed will have certain advantages as well as

disadvantages associated with it.

Advantages:

Our project focuses on the concept of creating an efficient library management

system. Logged in users can utilize the special and enchance services such as digital

data storing such as videos, songs and circulation of the library accessing.

Disadvantages:

DSPACE installation is not a very easy process. It require many packages and

libraries which has to be preinstalled seperately.They do not come with DSPACE

software.

6.2 Future scope

It can be used in FISAT Digital Library.The main purpose of our project is Data

integration.Staff and Students can access,upload and share various kinds of data

community wise in DSPACE. Dspace is an open source ILS.So the code can easily be

obtained.Implementation of a Library system using Dspace has proved to be very

efficient.Its features and functionalities make it one of the best ILS softwares available.

Federal Institue Of Science & Technology 49 Computer Science & Engineering

Page 56: Ldap Video
Page 57: Ldap Video

DSpace LDAP authentication and video integration Appendix

7.0 APPENDIX

7.1 Sample code

<html>

<body>

<form name="loginform" method="post" action="ldap.jsp">

<br><br>

<table align="center"><tr><td><h2>Login Authentication</h2></td></tr></table>

<table align="center">

<tr><td colspan=2></td></tr>

<tr><td colspan=2>&nbsp;</td></tr>

<tr>

<td><b>Login Name</b></td>

<td><input type="text" name="txtusername"></td> <!--ACCEPTING

USERNAME-->

</tr>

<tr>

<td><b>Password</b></td>

<td><input type="password" name="txtpassword"></td> <!--ACCEPTING

PASSWORD-->

</tr>

<tr>

<td></td>

<td><input type="submit" name="Submit" value=" Submit "></td> <!--SUBMIT

VALUES TO 'LDAP.JSP'-->

</tr>

<tr><td>&nbsp;</td></tr>

</table>

</form>

</body> </html>

Federal Institue Of Science & Technology i Computer Science & Engineering

Page 58: Ldap Video

DSpace LDAP authentication and video integration Appendix

<html>

<body>

<%@ page import="javax.naming.Context,

javax.naming.directory.*,javax.naming.NamingException,

java.util.Hashtable,javax.naming.ldap.LdapContext,javax.naming.ldap.InitialLdapConte

xt;"%>

<%!

int validate(String username,String password)

{

// THIS FUNCTION IS USED TO CHECK WHETHER THE BIND FOR THE

GIVEN USER DN IS SUCCESSFULL

try{

Hashtable env = new Hashtable();

NamingException e;

env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory"

); //LDAP JAVA CONNECTOR

env.put(Context.PROVIDER_URL, "ldap://172.16.1.1:389");

//URL OF FISAT LDAP

env.put(Context.SECURITY_AUTHENTICATION,"simple");

//AUTHENTICATION LEVEL

env.put(Context.SECURITY_PRINCIPAL,"uid=" + username +

",ou=Users,dc=fisat,dc=edu"); //DN OF THE SPECIFIED USER

env.put(Context.SECURITY_CREDENTIALS,password);

//PASSWORD OF USER

// Create initial context

LdapContext ctx = new InitialLdapContext(env, null);

// Close the context when we're done

return 1;

Federal Institue Of Science & Technology ii Computer Science & Engineering

Page 59: Ldap Video

DSpace LDAP authentication and video integration Appendix

//BIND SUCCESSFULL

}catch(NamingException e)

{

}

return 0; // BIND

UNSUCCESSFULL

}

%>

<%

String username, password;

if(request.getParameter("txtusername") == null)

username = "";

else

username = request.getParameter("txtusername");

//GET THE USERNAME FROM 'LDAP-LOGIN.JSP'

if(request.getParameter("txtpassword") == null)

password = "";

else

password = request.getParameter("txtpassword");

//GET THE PASSWORD FROM 'LDAP-LOGIN.JSP'

if (validate(username,password)==1)

{

out.println("Validated"); //SUCCESS

Federal Institue Of Science & Technology iii Computer Science & Engineering

Page 60: Ldap Video

DSpace LDAP authentication and video integration Appendix

}

else

{

out.println("failed"); //FAILURE

}

%>

</body>

</html>

7.2 Technology Explanation

Dspace

DSpace is an open source software package that provides the tools for

management of digital assets, and is commonly used as the basis for an institutional

repository. It supports a wide variety of data, including books, theses, 3D digital scans

of objects, photographs, film, video, research data sets and other forms of content. The

data is arranged as community collections of items, which bundle bitstreams together.

Federal Institue Of Science & Technology iv Computer Science & Engineering

Page 61: Ldap Video

DSpace LDAP authentication and video integration Appendix

Lightweight Directory Access Protocol(LDAP)

The Lightweight Directory Access Protocol, or LDAP (pronounced / l dæp/), isˈɛ

an application protocol for querying and modifying data using directory services

running over TCP/IP.[1]

A directory is a set of objects with attributes organized in a logical and

Federal Institue Of Science & Technology v Computer Science & Engineering

Page 62: Ldap Video

DSpace LDAP authentication and video integration Appendix

hierarchical manner. A simple example is the telephone directory, which consists of a

list of names (of either persons or organizations) organized alphabetically, with each

name having an address and phone number associated with it.

Pseudo video streaming

Pseudostreaming is a protocol that can be installed on regular HTTP

servers such as Apache, Tomcat, IIS or lighthttpd. It uses a server side script for Flash-

to-server communication. The player sends a HTTP request to the server with a start

time parameter in the request URL’s query string and the server script responds with the

video stream so that its start position corresponds to the requested parameter. This start

time parameter is usually named simply start. This same technique is used by the ultra-

popular YouTube service which uses lighthttpd servers.

The biggest advantage of using pseudo streaming or any other streaming

solution is the ability to seek in the timeline to positions that have not been downloaded

to the player. This is most desirable for full-length movies because the visitor can seek

to the last scene of a 2-hour movie if she wants to. Here are some more benefits of

pseudo-streaming:

• Random seeking to any part of the timeline at any time.

• Starting playback in the middle of the clip’s timeline.

• Provides integration possibilities to custom streaming servers and server-side

scripts.

• Both FLV and H.264 files supported.

Federal Institue Of Science & Technology vi Computer Science & Engineering

Page 63: Ldap Video

DSpace LDAP authentication and video integration Appendix

7.3Glossary

Ant - Ant is a Java library and command-line tool. Ant's mission is to drive processes

described in build files as targets and extension points dependent upon each other.

Bind - authenticate client to server.

CGI - Common Gateway Interface.Circulation-lending materials to patrons and

receiving them back.

Dspace - DSpace is an open source software package that provides the tools for

management of digital assets, and is commonly used as the basis for an institutional

repository.

Directory - A directory is a special purpose hierarchical database that usually contains

typed information such as text strings, binary data etc

DN - Distinguished Name;The fully qualified name of a directory entry.It specifies both

an entries location in the directory tree and its name.

JavaServer Pages (JSP) - Java technology that helps software developers serve

dynamically generated web pages based on HTML, XML, or other document types.

JDK - The Java Development Kit (JDK) is a Sun Microsystems product aimed at Java

developers. Since the introduction of Java, it has been by far the most widely used Java

SDK.

LDAP - An internet standard for accessing directory services

Federal Institue Of Science & Technology vii Computer Science & Engineering

Page 64: Ldap Video

DSpace LDAP authentication and video integration Appendix

LDAP directory - LDAP directory is a directory whose server software conforms to the

Lightweight Directory Access Protocol when communicating with a client.

LDAPv3 - version 3 of the LDAP;Latest proposed version of the standard.

Maven - Maven is a software project management and comprehension tool. Based on

the concept of a project object model (POM), Maven can manage a project's build,

reporting and documentation from a central piece of information.

PostgreSQL - Often simply Postgres, is an object-relational database management

system (ORDBMS).It is released under an MIT-style license and is thus free and open

source software. As with many other open sourceprograms, PostgreSQL is not

controlled by any single company, but has a global community of developers and

companies to develop it.

RDN - Relative Distinguished Name;A component of the DN consisting of atleast one

attribute or value pair.

Streaming media - multimedia that are constantly received by, and normally presented

to, an end-user while being delivered by a streaming provider (the term "presented" is

used in this article in a general sense that includes audio or video playback).

Federal Institue Of Science & Technology viii Computer Science & Engineering

Page 65: Ldap Video

DSpace LDAP authentication and video integration Appendix

7.4 Screenshots

Fig 11.Dspace Homepage

Federal Institue Of Science & Technology ix Computer Science & Engineering

Page 66: Ldap Video

DSpace LDAP authentication and video integration Appendix

Fig.12.Dspace Login Page

Federal Institue Of Science & Technology x Computer Science & Engineering

Page 67: Ldap Video

DSpace LDAP authentication and video integration Appendix

Fig.13.Video Streaming in Dspace

Federal Institue Of Science & Technology xi Computer Science & Engineering

Page 68: Ldap Video

DSpace LDAP authentication and video integration Appendix

Fig.14.Communities and collections in Dspace

Federal Institue Of Science & Technology xii Computer Science & Engineering

Page 69: Ldap Video

DSpace LDAP authentication and video integration Appendix

Fig.15.Search window in Dspace

Federal Institue Of Science & Technology xiii Computer Science & Engineering

Page 70: Ldap Video

DSpace LDAP authentication and video integration Appendix

Fig.16.Result of POC

Federal Institue Of Science & Technology xiv Computer Science & Engineering

Page 71: Ldap Video

DSpace LDAP authentication and video integration Appendix

Fig.17.POC result page

Federal Institue Of Science & Technology xv Computer Science & Engineering

Page 72: Ldap Video

DSpace LDAP authentication and video integration References

8.0 REFERENCES

[1] “ Java 2 Complete reference” Publisher: Herbert, Schildt,tata McGraw Hill

[2] “Java 2, AWT , Swing,XML and JavaBeans Programming Black Book” Publisher:Steven Holzner, Wiley Dreamtech

[3] “Java Server pages” Publisher:: Larne Pekowsky-Pearson Education

[4] “JSP:Java Server Pages” Publisher::Barry Burd,IDG Books India

Federal Institue Of Science & Technology 66 Computer Science & Engineering


Recommended