Accelerator Integrated Data Access - Software Framework and APIs Status and Further Work

nutmegactSoftware and s/w Development

Nov 10, 2012 (4 years and 7 months ago)

215 views


Copyright © Stanford Linear Accelerator Center


2002 All rights reserved

Accelerator Integrated Data Access

Stanford Linear Accelerator Center

George McIntyre, Greg White, Robert Sass, Ron MacKenzie, Judy Rock,
Jingchen Zhou

July 20th 2002

Software Framework and APIs Status and Further Work


Copyright © Stanford Linear Accelerator Center


2002 All rights reserved

Contents

AIDA Vision Review

Outline of Development Areas

The data object design problem

New Architecture

Directory Service Schema

Query Syntax (client code examples)

Server Side Support (server code examples)

Programmers’ Description of the Software Framework



Copyright © Stanford Linear Accelerator Center


2002 All rights reserved

AIDA Vision Review

Maps flat namespace onto application appropriate namespace


Copyright © Stanford Linear Accelerator Center


2002 All rights reserved

Vision Review continued

Named regular expression query

Query may result in structured data, returned to client

Distributed data providers

On different machines

Running different operating systems

Written in different languages

Accessing different kinds of db (eg flat, relational,
application eg BPM, model, archive)

“Latency Appropriate”


Copyright © Stanford Linear Accelerator Center


2002 All rights reserved

Outline Development Areas

Established CORBA as basic middleware (ORBACUS)

Developed basic architecture

Directory service concepts. Started populating with meta
-
data.

Learnt to manage languages and tools (java, c++, JNI, CORBA; each
on Solaris, NT, VMS; netbeans etc)

Platform independent development environment (java IDE, CVS,
make). Release is outstanding

Developed Client server management. Server Persistence.

Exception definition. Exception handling out of process, to CMLOG.

Application Server Servlet displaying data to web. Web access of
Names Directory

Event based asynchronous exchange (using event service)

Data Exchange. So far based on CORBA Any

Performance tested alternative data exchange object types.



Copyright © Stanford Linear Accelerator Center


2002 All rights reserved

CORBA data object?

How is data wrapped for exchange across client and servers in series,
such that its efficient and has an easy client and server API?





CORBA ValueType (so called Object
-
by
-
Value) a possible candidate.
But has interface difficulty and breaks the CORBA “paradigm”.

Verified CORBA data exchange based on CORBA “Any” type is fast
enough.




Client application

Server supplying data

Server supplying data

CORBA Any Performance

Same Host (slcs1)

Different Host (slcsun1
-
slcs1)

ValueType

Wrapping union

Orbacus Optimization OFF

ValueType

Wrapping union

Orbacus Optimization ON

Corba Any


Copyright © Stanford Linear Accelerator Center


2002 All rights reserved

Questions


What should be data object look like? If its based on Any, where
is its functionality for helping the client use it implemented? If
ValueType, what does calling architecture look like? What is its
API?

How can we pass “parameters”, but keep the API oriented
towards general purpose data access.

How do we make it latency appropriate?

Can client programs be sensibly insulated from CORBA?