B LAISE NG A RCHITECTURE IBUC 2010 Pre Conference workshop I - - PowerPoint PPT Presentation

b laise ng a rchitecture
SMART_READER_LITE
LIVE PREVIEW

B LAISE NG A RCHITECTURE IBUC 2010 Pre Conference workshop I - - PowerPoint PPT Presentation

B LAISE NG A RCHITECTURE IBUC 2010 Pre Conference workshop I NTRODUCTION Why a new version? Design principles New technology Layout Runtime Deployment Current state (Phase 2) 2 W HY A NEW VERSION ? Blaise 4.x


slide-1
SLIDE 1

BLAISE NG ARCHITECTURE

IBUC 2010 – Pre Conference workshop

slide-2
SLIDE 2

INTRODUCTION

 Why a new version?  Design principles  New technology  Layout  Runtime  Deployment  Current state (Phase 2)

2

slide-3
SLIDE 3

WHY A NEW VERSION?

 Blaise 4.x code technically outdated:  Written in Delphi, VB6, C++  Originally designed for 80’s & 90’s hardware:

 Single machine approach  Focus on low memory usage  Data storage file-based

 Hard to implement new features:  Fundamental redesign needed

3

slide-4
SLIDE 4

NEW ARCHITECTURE

 Blaise Next Generation White Paper (2007):  Design for concurrent use  Flexible Layout  Data Storage in RDBMS  Prepare for Language Enhancements:

 Indefinite arrays  Randomness and rotation  User-defined Field attributes  ......

 Opportunities:  Correct flaws in Blaise 4.x  Use latest technology

4

slide-5
SLIDE 5

DESIGN PRINCIPLES

 Maximize common definitions:  Implementation of Blaise:

 One general layout framework  One general runtime model

 Blaise users:

 One definition for multimode survey

 Separation of concern:  Use separate objects/services

for each aspect of Blaise functionality

 Maximize machine independance:  Allow to run survey on arbitrary machine

5

slide-6
SLIDE 6

NEW TECHNOLOGY

 Blaise NG written in C# (.Net Framework)  Unicode texts  Layout based on Windows Presentation

Foundation (WPF):

 Separation of appearance and behaviour  Runtime based on Windows Communication

Foundation (WCF):

 Service Oriented Applications  Interoperability by Messaging over Network

6

slide-7
SLIDE 7

LAYOUT

 Based on templates  Controls:  Appearance  Events  Bind to Blaise Objects:  Data Field  Interview State  Parallel  WYSIWYG layout designer  Flexible: design your own templates

7

slide-8
SLIDE 8

RUNTIME

1.

Data Entry Client submits data and action

Data Entry Client Data Entry Service

8

slide-9
SLIDE 9

RUNTIME

1.

Data Entry Client submits data and action

2.

Data Entry Service updates session state

Data Entry Client Data Entry Service

9

slide-10
SLIDE 10

RUNTIME

1.

Data Entry Client submits data and action

2.

Data Entry Service updates session state

3.

Data Entry Service returns new page

Data Entry Client Data Entry Service

10

slide-11
SLIDE 11

RUNTIME

1.

Data Entry Client submits data and action

2.

Data Entry Service updates session state

3.

Data Entry Service returns new page

4.

Data Entry Client shows new page

Data Entry Client Data Entry Service

11

slide-12
SLIDE 12

DATA ENTRY CLIENT

 User interface for Interview  Performs range checking  Does NOT execute rules  Updates state through Data Entry Service  Two versions:  Windows Client (WPF)  Internet plugin (Silverlight)

12

slide-13
SLIDE 13

DATA ENTRY SERVICE

 Provides Blaise functionality:  Executes rules  Maintains interview state  Creates interview page  Efficient concurrent use:  Scalable  Stateless  Session Database:  Resume interview without delay

13

slide-14
SLIDE 14

RULES ENGINE

 Design goals:  Compatible with Blaise 4.x

 Exception: correct flaws

 Run independant of machine (settings)  Data Entry Settings:  Influence execution  Selective Checking Mechanism:  Optimises performance  To do: test complex datamodels

14

slide-15
SLIDE 15

INSTRUMENT DEPLOYMENT

 Data Entry Client runs deployed instruments  Deployment:  Register instrument name  Copy required files to specified locations:

 Prepared datamodel  Layout resources  External data

 Currently:  Single machine only  Out of the box

15

slide-16
SLIDE 16

CURRENT STATE (PHASE 2)

 New implementation:  Meta:

 Nearly complete: test your complex datamodels

 Layout:

 Only for single questions (Field Panes)

 Data Storage:

 Relational database

 Runtime:

 Rules engine: almost complete  Data Entry Client: basic functionality for running

interviews

 Deployment:

 Single machine only

16