31
Virtual Classroom Integrated Learning environment over internet Anshu Veda Prajakta Kalekar Shruti Mahambre

Virtual Classroom Ppt

Embed Size (px)

DESCRIPTION

dnns

Citation preview

Page 1: Virtual Classroom Ppt

Virtual Classroom

Integrated Learning environment over internet

Anshu Veda

Prajakta Kalekar

Shruti Mahambre

Page 2: Virtual Classroom Ppt

Problem Definition

This project aims at putting together an

integrated e-Learning environment for a

university student.

This will also be used by distance education

programs offered by institutes, in order to enable

students to avail of the academic facilities from

any computer connected to the internet.

Page 3: Virtual Classroom Ppt

Basic terminology

RMI (Remote Method Invocation) Server application creates remote objects, makes references to them available and allows clients

to invoke methods on these remote objects.

RMI tunneling over HTTP Combines the benefits of HTTP tunneling and RMI over internet

EJB

Session Beans (verb) Model business processes. They represent actions Entity Beans (noun) Model Business data – They are data object, java objects that cache database

information

EJB Container House enterprise beans and make them available for clients to invoke remotely Provide an environment in which enterprise beans can run “Invisible middlemen”

Page 4: Virtual Classroom Ppt

EJB Architecture

Page 5: Virtual Classroom Ppt

Basic Terminology

CMP – Container Managed Persistence

EJB container takes care of making sure the entity bean object stays around.

BMP – Bean Managed Persistence

You as the bean programmer can take over the responsibility of managing the "persistence" of the data -- of where the data stays when the server is not running or when the bean is not in memory.

Page 6: Virtual Classroom Ppt

Requirement Specs

The system will be having 3 roles: Instructor Student Admin

Admin Managing user accounts, course registration approval

Instructor Login,Create / Modify course details, set Quizzes, assign

grades

Student Login, Register / Unregister for courses, take

quizzes, view lectures in offline mode

Non-Functional Requirements Open-Source and Freeware Support over Internet and Intranet

Page 7: Virtual Classroom Ppt

Technology Decisions

Client

Internet

Server

Client

•Integrated Environment

Communication Protocol

•Cross firewall

•Intranet and Internet support

Server

•Transaction

•Persistence

•Security

•Caching

Page 8: Virtual Classroom Ppt

Thin v/s Thick Client

Feature Thin Client Thick Client

Web Browser

Vs

Java Client

Different Browsers

may require different plug-ins to support features such as Video streaming.

Look and feel varies from browser to browser.

Gives integrated look

and feel. The client executable, installable from web, can bundle all prerequisites.

Java Swing client gives same look and feel across all the platforms (as compared to web browser).

Speed Slow. Everything must wait for the server to process and transmit the next screen of information.

Fast. Can instantly scroll since the client can cache and process data locally.

Page 9: Virtual Classroom Ppt

Initial Architecture Diagram

Specs Client- Swing Servlet Container-

Tomcat3.2 DB Server-

Postgres8.0

Swing Client

Servlet

Request Processor

DB Manager Database

Page 10: Virtual Classroom Ppt

Pros and Cons

Pros Simple

Simple and Intuitive. Uses HTTP over the internet and simple JDBC to communicate with the database server.

Light

As compared with J2EE server

Cons Plain Http protocol – No type safety

No caching Support No Transaction Management Support. Absence of Distributed Objects.

Page 11: Virtual Classroom Ppt

WebServices ???

RMI offers an order of magnitude better

performance than other alternatives, being at least 8.5 times faster than Web Services

HTTP-to-servlet is more than 4 times slower than web services.

Reference: “Java RMI, RMI Tunneling and Web Services Comparison and Performance Analysis” - Matjaz B. Juric, Bostjan Kezmah, Marjan Hericko, Ivan Rozman, Ivan Vezocnik

Page 12: Virtual Classroom Ppt

Why EJBs?

Container inherently provides features such as

Security

Transaction Management

Persistence

Distributed Object Support that goes well with RMI.

Page 13: Virtual Classroom Ppt

CMP vs BMP

BMP CMP

Avoid unnecessary stores

Done using dirty flags, but it requires more coding and is error-prone

CMP engine handles this

Coding JDBC sql queries have to be code.

Lesser Coding

Page 14: Virtual Classroom Ppt

Architecture Diagram

(The chosen approach)

Session bean

Database

SessionBean

SessionBean

SessionBean

SessionBean EntityBean

EntityBean

EntityBean

EntityBean

client

Page 15: Virtual Classroom Ppt

Session Facade

Performance

An Entity bean is equivalent to a row in the database. If the Entity beans were to be accessed directly, a network call would result for each row access.

On the other hand, a Session bean is equivalent to a stored procedure. Accessing a session bean that is co-located with an entity bean emulates accessing a row through a stored procedure.

Page 16: Virtual Classroom Ppt

Session Facade

Reusability

The session bean layer is powerful because it externalizes all business logic from the entity beans. This means the entity beans contain data and data-related logic only.

This promotes high re-use of entity beans.

Data abstraction layer

The session bean layer is a facade. The particular way the session bean persists (via JDBC directly or via entity beans) is an implementation detail of the session bean. The decision about whether to use JDBC or entity beans can be deferred until a later date.

Page 17: Virtual Classroom Ppt

E-R Diagram

Page 18: Virtual Classroom Ppt

Object Model

Page 19: Virtual Classroom Ppt

Collaboration Diagram - Login

Page 20: Virtual Classroom Ppt

Collaboration Diagram - Registration

Page 21: Virtual Classroom Ppt

Sequence Diagram - Registration

Page 22: Virtual Classroom Ppt

Collaboration Diagram – Set Quiz

Page 23: Virtual Classroom Ppt

Class Diagram

Page 24: Virtual Classroom Ppt

Class Diagram (old & new)

Page 25: Virtual Classroom Ppt

Lessons learnt / Challenges faced

1. Familiarity with J2EE

Studying EJB Architecture (session bean, entity bean concepts)

BMP vs CMP

Concept of CMR

Configuring JBoss 4.0

Configuring Postgres 8.0 on JBoss

Serial – Primary Key

Writing Deployment Descriptors

Page 26: Virtual Classroom Ppt

Challenge

Trying to synchronize the Intel deadlines with the syslab deadlines throughout this course

Page 27: Virtual Classroom Ppt

Deployment Descriptor <entity> <ejb-name>course</ejb-name> <local-home>vclassroom.course.ejb.CourseLocalHome</local-

home> <local>vclassroom.course.ejb.CourseLocal</local> <ejb-class>vclassroom.course.ejb.CourseBean</ejb-class> <persistence-type>Container</persistence-type> <reentrant>False</reentrant> <cmp-version>2.x</cmp-version> <abstract-schema-name>course</abstract-schema-name> <prim-key-class>java.lang.Integer</prim-key-class> <primkey-field>courseId</primkey-field> <cmp-field> <field-name>courseId</field-name> </cmp-field>

Page 28: Virtual Classroom Ppt

Deployment Descriptor

<query> <query-method> <method-name>ejbSelectprerequisites</method-name> <method-params> <method-param>java.lang.Integer</method-

param> </method-params> </query-method> <ejb-ql><![CDATA[SELECT OBJECT(p) FROM course as c,

IN(c.prereqCourses) p WHERE c.courseId = ?1]]> </ejb-ql> </query> </entity>

Page 29: Virtual Classroom Ppt

Technologies / Tools / Methodologies

Learnt

J2EE Architecture Enterprise Java Beans

JBoss 4.0

Postgres 8.0

EJB-QL

Swing (work in progress)

Patterns – Session Façade, Recursive Meta pattern, Chain of responsibility

Page 30: Virtual Classroom Ppt

The Timeline

Before MidSem Overview of the system requirements from Intel Requirement Specification Document – prepared and presented to

Intel Architecture + Design Documentation Prototype : Demo – with the old architecture – Login,

Registration, Quiz Deliverable – Client + Server implementation of modules

After Midsem Change in architecture – Protocol + Server Side Learning Curve for new technology – EJBs, J2EE architecture Technology survey - Exploring options like JDO, Web Services Configurations – JBoss 4.0, Postgres 8.0 Design of new architecture – Presentation to Intel Detailed Design specification documentation Deliverable – Server Side coding + documentation – Login,

Registration, Quiz

Page 31: Virtual Classroom Ppt

Thank you !!!!