AccelUtils

triangledriprockInternet and Web Development

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

254 views

AccelUtils

Gabriele Carcassi, Kunal Shroff


BNL

Eric Berryman, Robert Gaul


MSU

Ralph
Lange


HZB

pvManager

Graphene

IOC

CA client (JCA/CAJ)

CSS Core

ChannelFinder

Integration

Olog

Integration

ChannelFinder

Olog





DataBrowser

BOY

CSS

IOC



IOC

pvA

client

IOC



v3

AccelUtils

v4

Publish/subscribe

Command/response

v4

Masar

...

pvA

Sim

Test

API

Web based REST services

API



Java/Python



cf
-
update

Scripts and utilities

Logbook



Web UI and other clients

CA

Core Client
Technologies

Data Sources

Aggregation

Visualization

vTypes

Data Definition

AccelUtils


Collaboration between:


BNL: Gabriele Carcassi, Kunal Shroff


MSU: Eric Berryman, Robert Gaul


HZB/BESSY II: Ralph
Lange


Umbrella project for:


ChannelFinder


Olog


future projects

Overall vision


Provide
tools for accelerator
operation


Using Service Oriented Architecture


Provides decoupling and ability to update while in production


The service and the protocol is the main contract where
compatibility is kept (not the database,
api
, etc…)


Using web technologies for the server


Very solid support from industry


Work with firewalls


Use
-
case driven


Start from a need not from technology


Focused on deliverables products


Something you can download and install

Looking for people


That work well with others


Share the architecture vision


Task focused


Deliverable oriented


With a need to solve


Various level of expertise are welcome


Could use this as a learning experience


That work well with others

Infrastructure


Continuous build/test
infrastructure


Each subproject is on both
sourceforge

and
java.net


Sourforge
: website, wiki, mercurial repository


Java.net: JIRA bug tracking


We (should) have a once a month meeting


Round the table, what I have released past month,
what I’ll be working next month


Inpromptu

meetings with Google hangout

Server technologies


More requirements on how services are done


It’s the important part


Multiple people need to be able to support it


Should be homogeneous


All installable in a cluster with similar configuration


Standardize on Java EE


Using Glassfish (standard implementation)


Still haven’t standardized on internals


JDBC
vs

JPA or JAX
-
RS or …


Client technologies


Whatever you want!


Php
/Ruby/… for web
ui


Python for scripts

or
uis

with
pyQt


Java for CSS, Swing
uis
, applets, Android


Objective C for Apple


As long the end product is buildable from
command line, packaged, deployable and
functional


Laundry list


Move build/test infrastructure out of BNL


In the cloud!


Factor out common parts


Server authorization scheme


Client side configuration management


Client side connection management


Single sign on


Authenticate once for all applications


Integrate with Linux and/or Windows logon


Forward credentials for web
ui


Laundry list


Support different databases


Move database layer to JPA


Provide different scripts


Setup test infrastructure


Support different application servers (
jboss
,
websphere
, …)


Setup test infrastructure


Wish list


Equipment status and schedule management


Something along the lines of ISA 95 part 2


Lock Out Tag Out service


Manages requests for locking devices during
maintenance


Other services


Do you have another service that fits the
architecture and spirit? Let us know!