ii-national online examination system-ascnt10

37
ASCNT 2010 CDAC NOIDA C-56/1 & B-30 Sector 62 -Noida National Online Examination System: An Architectural Perspective Pradeep Kumar , Pankaj Nirwan , P Govind Raj

Upload: rakesh-thakre

Post on 21-Apr-2015

18 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

C-56/1 & B-30 Sector 62 -Noida

National Online Examination System: An Architectural Perspective

Pradeep Kumar , Pankaj Nirwan , P Govind Raj

Page 2: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

Background

• NASSCOM Recommendation to the Government of India• DIT realizing the initiative through C-DAC• Objective: Design and Develop a robust, fault tolerant,

secure, and scalable and an adaptive system through which examinations can be delivered on an “on demand” basis in selected examination centers spread across the country.

• Implementation Phases– Phase 1: Software for conducting exams at National Levels to

be rolled out.– Phase 2: Collaborative environment for collecting Questions

into the question bank.

Page 3: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

Why not use Standard LMS ?

• Designed to deliver content and manage the teaching learning process.

• Not designed to handle large system loads• Computer Adaptive Testing is not

incorporated.

Page 4: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

Functional Requirements

Result Generation

Exam Conduction

Manage Questions

Matrix/Vector Creation Question Pool Management Module

Admit Card Generation

Registration

Demographic Details Photographs Booking of Exam Slot Payment through Gateway/DD

Page 5: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

Non Functional Requirements

• No Vendor Lock in.• Scale Out Vs Scale Up.• Ease of Extendibility• High System Throughput• High Availability• Security/Privacy• Key Escrow Mechanisms

Page 6: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

High Level Architecture

• Blaze DS

• Blaze DS

• Remoting Tier

• Flash Player

• Flash Player

• Browser/AIR• Browser/AIR

• UI on Flex

• UI on Flex

• Presentation Tier

• Business Tier

• ORM Hibernate

• ORM Hibernate • D

B• D

B

• Spring Core

• Context

• AOP

• Transaction

• JDBC

• Security • ORM

• ORM

Tier

• Data Tier

• Persistence

• Logging

• Tomcat on Tuned JVM

Page 7: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

High Level Architecture

Blaze DSBlaze DS

Remoting Tier

Flash PlayerFlash Player

Browser/AIRBrowser/AIR

UI on FlexUI on Flex

Presentation Tier

Business Tier

ORM Hibernate

ORM Hibernate DBDB

Spring Core

Context

AOP

Transaction

JDBC

Security ORM

ORM Tier

Data Tier

Persistence

Logging

Tomcat on Tuned JVM

AS3 VO Java

Page 8: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

High Level Architecture

Blaze DSBlaze DS

Remoting Tier

Flash PlayerFlash Player

Browser/AIRBrowser/AIR

UI on FlexUI on Flex

Presentation Tier

Business Tier

ORM Hibernate

ORM Hibernate DBDB

Spring Core

Context

AOP

Transaction

JDBC

Security ORM

ORM Tier

Data Tier

Persistence

Logging

Tomcat on Tuned JVM

AS3 VO

Page 9: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

High Level Architecture

Blaze DSBlaze DS

Remoting Tier

Flash PlayerFlash Player

Browser/AIRBrowser/AIR

UI on FlexUI on Flex

Presentation Tier

Business Tier

ORM Hibernate

ORM Hibernate DBDB

Spring Core

Context

AOP

Transaction

JDBC

Security ORM

ORM Tier

Data Tier

Persistence

Logging

Tomcat on Tuned JVM

AS3 VO Java VO

Page 10: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

High Level Architecture

Blaze DSBlaze DS

Remoting Tier

Flash PlayerFlash Player

Browser/AIRBrowser/AIR

UI on FlexUI on Flex

Presentation Tier

Business Tier

ORM Hibernate

ORM Hibernate DBDB

Spring Core

Context

AOP

Transaction

JDBC

Security ORM

ORM Tier

Data Tier

Persistence

Logging

Tomcat on Tuned JVM

AMF

Page 11: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

Business Tier: Spring

• Aspect Orientation Design– Declarative Transaction Management– Security

• Lightweight– Use POJO’s to manage transactions ,

persistence , communication , job scheduling , batch processing etc.

• Productive– Easy to learn.– Jolt’s productivity Award 2006

Page 12: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

Security Subsystem

Application Logic

Security Subsystem

LDAP Biometric Authentication

Database Storing Credentials

Page 13: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

Security Subsystem Architecture

• Request

• Login Credentials

• Login Credentials are put in Flex User Interface.

• BlazeDS Channel

Authentication

• The BlazeDS Channel Authentication would be done using Spring Security by contacting a User Repository.

• FilterInvocationInterceptor

• URIInterceptor

• MethodSecurityInterceptor

• TransactionProxy

• Spring Security Interceptors

Page 14: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

Role Based Access Control

• Access Decision through AcessDecisionManagers– Affirmative Based Access decision Manager– Role Voter

• Grant access of the resource to the user that has the same role as required by the resource

Page 15: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

DEPLOYMENT ARCHITECTURE

Page 16: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

Horizontal Clustered Environment

LB

LB

Active Passive Clustered Load Balancer based on Apache mod_proxy , mod_proxy _balancer

Page 17: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

Horizontal Clustered Environment

LB

LB

Tomcat Application ServerLoad Balancing: ByByte / ByRequest

Tomcat 1

Tomcat 1

Page 18: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

Horizontal Clustered Environment

LB

LB

Design Deviates from conventional HA Solution

Tomcat 1

Tomcat 1

MYSQL

Page 19: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

Horizontal Clustered Environment in NOES

LB

LB

Tomcat 1

Tomcat 1

MYSQL

TERRA

COTA

MYSQL

Page 20: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

Transparent Clustering

Page 21: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

Transparent Clustering

HA is available as a service of JVM

Page 22: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

KEY DESIGN PRINCIPLES

Page 23: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

Typical Exam Session Performance

Page 24: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

Typical Exam Session Performance

No DB I/O during Exam

Page 25: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

Typical Exam Session Performance

Hibernate2nd Level

Cache

Page 26: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

Typical Exam Session Performance

Async. Commit

Page 27: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

ISSUES FACED DURING IMPLEMENTATION

Page 28: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

Integrating Flex and Spring

• Integration Flex and Spring– Not intuitive– BlazeDS Extensions were designed– Later , later 2009 community support

• Transaction– MySQL Storage Engines– Transaction Management for Non DB

operations– Use of Self Reference instead of this pointer

Page 29: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

Conclusion and Future Work• Exams Conducted

– C-DAC PG Examinations– C-DAC Recruitment Exams

• Across the country in 10 C-DAC Centers for 10 days

– 300 successful runs of Exam Conduction– DOEACC ‘CCC’ Examination at 4 Regional DOEACC

Centers.

• Initial Stress Testing 5,000 users using 2 Tomcat Servers– Trying to scale further

• Efforts in integration with Eucalyptus and federate across different C-DAC/DOEACC Data centres in the country.

• Using Query Optimization with Hibernate on the Fly.

Page 30: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

THANK YOU

Page 31: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

Aspect Orientated Design

Module 1 Module 1 Module n

Page 32: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

Aspect Orientated Design

Module 1 Module 2 Module n

Security

Logging

Page 33: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

Aspect Orientated Design

Module 1(core Concerns)

Module 2 (Core concerns)

Module n (Core Concerns)

Security (Cross Cutting Concerns)

Logging(Cross Cutting Concerns)

Page 34: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

OOD to Model Cross Cutting Concerns

Module 1: Functional Req. Module 2: Functional Req.

Cross Cutting Concern

Cross Cutting Concern

Page 35: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

OOD to Model Cross Cutting Concerns

Module 1: Functional Req. Module 2: Functional Req.

Cross Cutting Concern

Cross Cutting Concern

•Code Scattering•Code Tangling

Page 36: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

AOD to Model Cross Cutting Concerns

Module 1: Functional Req. Module 2: Functional Req.

Cross Cutting Concern

Aspect

WeavedWeaved

Page 37: II-National Online Examination System-ASCNT10

ASCNT 2010 CDAC NOIDA

Aspect Orientation at Business Tier

• Logging• Transaction Management

– Declarative Transactions– Annotations (@Transactional

PROPOGATION_LEVEL)

• Access Control Mechanism– Annotations based RBAC at method

invocation level.