Virtual classroom

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

description

 

Transcript of Virtual classroom

  • 1. Virtual ClassroomIntegrated Learningenvironment over internet Anshu Veda Prajakta Kalekar Shruti Mahambre

2. The Client This project has been sponsored byIntel IIT B point of contactProf. 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 HTTPCombines 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 databaseinformation 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 theentity bean object stays around. BMP Bean Managed Persistence You as the bean programmer can take over theresponsibility of managing the "persistence" ofthe data -- of where the data stays when theserver is not running or when the bean is notin 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, assigngrades Student Login, Register / Unregister for courses, takequizzes, view lectures in offline mode Non-Functional Requirements Open-Source and Freeware Support over Internet and Intranet 8. Technology DecisionsClient Client Integrated Environment Communication ProtocolInternet Cross firewall Intranet and Internet supportServerTransaction ServerPersistenceSecurityCaching 9. Thin v/s Thick ClientFeature Thin ClientThick ClientWeb Different BrowsersGives integrated lookBrowser may require differentand feel. The clientplug-ins to supportexecutable, installableVsfeatures such as Video from web, can bundle allJavastreaming. prerequisites. Look and feel varies Java Swing client givesClientfrom browser tosame look and feel acrossbrowser. all the platforms (as compared to web browser).Speed Slow. Everything mustFast. Can instantly scrollwait for the server to since the client can cacheprocess and transmit and process data locally.the next screen ofinformation. 10. Initial Architecture Diagram Swing Client Specs Client- Swing Servlet Container- Tomcat3.2Servlet DB Server- Postgres8.0 Request Processor DB ManagerDatabase 11. Pros and ConsPros Simple Simple and Intuitive. Uses HTTP over the internet and simple JDBC to communicate with the database server. Light As compared with J2EE serverCons 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 betterperformance than other alternatives, being atleast 8.5 times faster than Web Services HTTP-to-servlet is more than 4 times slower thanweb services. Reference: Java RMI, RMI Tunneling and WebServices Comparison and Performance Analysis - MatjazB. Juric, Bostjan Kezmah, Marjan Hericko, Ivan Rozman,Ivan Vezocnik 13. Why EJBs? Container inherently providesfeatures such as Security Transaction Management Persistence DistributedObject Support that goeswell with RMI. 14. CMP vs BMPBMPCMPAvoid Done using dirty CMP engineunnecessary flags, but ithandles thisstoresrequires morecoding and iserror-proneCodingJDBC sql queries Lesser Codinghave to be code. 15. Architecture Diagram (The chosen approach)SessionBean Session bean EntityBean SessionBean EntityBeanDatabase SessionBean EntityBeanclient 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 StudyingEJB Architecture (sessionbean, 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 Tryingto synchronize the Intel deadlines with the syslab deadlines throughout this course 28. Deployment Descriptorcoursevclassroom.course.ejb.CourseLocalHomevclassroom.course.ejb.CourseLocalvclassroom.course.ejb.CourseBeanContainerFalse2.xcoursejava.lang.IntegercourseIdcourseId 29. Deployment DescriptorejbSelectprerequisitesjava.lang.IntegerSELECT OBJECT(p) FROM course as c,IN(c.prereqCourses) p WHERE c.courseId = ?1 30. Technologies / Tools / MethodologiesLearnt J2EE Architecture Enterprise Java Beans JBoss 4.0 Postgres 8.0 EJB-QL Swing (work in progress) Patterns Session Faade,Recursive Meta pattern, Chain ofresponsibility 31. The Timeline Before MidSem Overview of the system requirements from Intel Requirement Specification Document prepared and presented toIntel 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 !!!!