Download Carcassi_Wednesday_AccelUtils

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

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