Virtual Classroom - PowerPoint PPT Presentation

1 / 32
About This Presentation
Title:

Virtual Classroom

Description:

This will also be used by distance education programs offered by institutes, in ... co-located with an entity bean emulates accessing a row through a stored procedure. ... – PowerPoint PPT presentation

Number of Views:397
Avg rating:3.0/5.0
Slides: 33
Provided by: KRe90
Category:

less

Transcript and Presenter's Notes

Title: Virtual Classroom


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

2
The Client
  • This project has been sponsored by Intel
  • IIT B point of contact
  • Prof. Umesh Bellur

3
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.

4
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

5
EJB Architecture
6
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. 

7
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

8
Technology Decisions
  • Client
  • Integrated Environment

Client
  • Communication Protocol
  • Cross firewall
  • Intranet and Internet support

Internet
  • Server
  • Transaction
  • Persistence
  • Security
  • Caching

Server
9
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.
10
Initial Architecture Diagram
  • Specs
  • Client- Swing
  • Servlet Container-Tomcat3.2
  • DB Server-Postgres8.0

11
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.

12
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

13
Why EJBs?
  • Container inherently provides features such as
  • Security
  • Transaction Management
  • Persistence
  • Distributed Object Support that goes well with
    RMI.

14
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
15
Architecture Diagram (The chosen approach)
SessionBean
EntityBean
SessionBean
EntityBean
Database
SessionBean
EntityBean
client
SessionBean
EntityBean
16
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.

17
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.

18
E-R Diagram
19
Object Model
20
Collaboration Diagram - Login
21
Collaboration Diagram - Registration
22
Sequence Diagram - Registration
23
Collaboration Diagram Set Quiz
24
Class Diagram
25
Class Diagram (old new)
26
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

27
Challenge
  • Trying to synchronize the Intel deadlines with
    the syslab deadlines throughout this course ?

28
Deployment Descriptor
  • ltentitygt
  • ltejb-namegtcourselt/ejb-namegt
  • ltlocal-homegtvclassroom.course.ejb.CourseLocal
    Homelt/local-homegt
  • ltlocalgtvclassroom.course.ejb.CourseLocallt/loc
    algt
  • ltejb-classgtvclassroom.course.ejb.CourseBeanlt/
    ejb-classgt
  • ltpersistence-typegtContainerlt/persistence-type
    gt
  • ltreentrantgtFalselt/reentrantgt
  • ltcmp-versiongt2.xlt/cmp-versiongt
  • ltabstract-schema-namegtcourselt/abstract-schema
    -namegt
  • ltprim-key-classgtjava.lang.Integerlt/prim-key-c
    lassgt
  • ltprimkey-fieldgtcourseIdlt/primkey-fieldgt
  • ltcmp-fieldgt
  • ltfield-namegtcourseIdlt/field-namegt
  • lt/cmp-fieldgt

29
Deployment Descriptor
  • ltquerygt
  • ltquery-methodgt
  • ltmethod-namegtejbSelectprerequisite
    slt/method-namegt
  • ltmethod-paramsgt
  • ltmethod-paramgtjava.lang.In
    tegerlt/method-paramgt
  • lt/method-paramsgt
  • lt/query-methodgt
  • ltejb-qlgtlt!CDATASELECT OBJECT(p) FROM
    course as c, IN(c.prereqCourses) p
  • WHERE c.courseId ?1gt
  • lt/ejb-qlgt
  • lt/querygt
  • lt/entitygt

30
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

31
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

32
Thank you !!!!
Write a Comment
User Comments (0)
About PowerShow.com