110 likes | 224 Views
AccelUtils. Gabriele Carcassi, Kunal Shroff – BNL Eric Berryman, Robert Gaul – MSU Ralph Lange – HZB. Publish/subscribe. Command/response. v3. v4. IOC. IOC. …. IOC. IOC. …. v4. Masar. CA client (JCA/CAJ). pvA client. …. Core Client Technologies. CA. Data Sources. Sim.
E N D
AccelUtils Gabriele Carcassi, Kunal Shroff – BNL Eric Berryman, Robert Gaul – MSU Ralph Lange – HZB
Publish/subscribe Command/response v3 v4 IOC IOC … IOC IOC … v4 Masar CA client (JCA/CAJ) pvA client … Core Client Technologies CA Data Sources Sim Test pvA AccelUtils Aggregation pvManager Java/Python Web based REST services Data Definition vTypes API ChannelFinder Visualization Graphene API Olog CSS Core ChannelFinder Integration Olog Integration … ... … BOY Web UI and other clients Scripts and utilities Logbook cf-update DataBrowser … … CSS
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 scriptsor 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!