150 likes | 297 Views
RATC Data and Communication Layers. Alex Sprintson. Outline. Task 5.2 Identification of Communication Specifications and Performance Requirements of the (Sub)System and Applications involved in the overall RATC Solution
E N D
RATC Data and Communication Layers Alex Sprintson
Outline • Task 5.2 Identification of Communication Specifications and Performance Requirements of the (Sub)System and Applications involved in the overall RATC Solution • Deliverable 5.2.1 - report on communication system performance criteria and QoS requirements for different parts of RATC design in all of the project stages: development, demonstration, and implementation (due June 28, 2013) • Discussion of Integration and Data Layer options
Outline • Part 1 - Dr. A. Sprintson • Overview of data and communication layers • Options for RATC data layer • Part 2 – Dr. John Sucec • Communication specification and performance requirements
Sprintson’s team • Q1 2013: • Contributed to RATC architecture document • Contributed to Data Flow specifications (including TVA visit) • Contributed to Communication Specification • Q2 2013: • Thorough evaluation of Data Layer options • Create working demo for one or two RATC modules
RATC Data and CommunicationsLayers Overview • Data Layer • Relies on the communication layer for data gathering and delivery • Affects communication layer requirements • Tightly coupled with RATC architecture • Communication layer • Has a critical role in providing QoS • Need to be robust to failures • Tightly coupled to utility infrastructure
Data Layer Options • Historian (OsiSoft PI-Historian and GPA OpenHistorian) • WSDL/SOAP-based Web Services • Apache Camel Framework
8 Historian • Historian software keeps records and provide APIs to access required files/data • Various products exist like OpenHistorian, OsiSoftPIHistorian, etc. • Historian database system used which is customized towards real-time process data • Harder to customize • According to discussions with component owners, historians are not required • RATC modules mostly use processed data from packages • Components do not require the degree of granularity provided by Historians
SOAP-based Web service architecture for RATC
Apache Camel Framework • Open source integration framework based on Enterprise Integration Patterns • Enables to define a variety of routing and mediation rules • Various components to implement non vendor specific solutions • Example context to define a route- • CamelContext context = new DefaultCamelContext(); • camelContext.addComponent("activemq", activeMQComponent("vm://localhost?broker.persistent=false"));
Apache Camel architecture for RATC
Data Layer API using Camel • Camel provides support to clients by defining them as endpoints • It would refer to a software entity that is contactable at that address • In a Camel-based application, we would create Camel wrappers around the endpoints and connect these endpoints with routes • Camel provides libraries like ActiveMQ-CPP, to interface with RATC components in C++.
Implementing Test Cases with Camel
Conclusion • Support the architecture effort to document Test Plans and Test Cases for each component and combined high-level scenarios • We will continue evaluation of these three approaches (Historian ,WSDL/SOAP based web services and Apache Camel framework) • With a focus on scalability • Will focus on Apache Camel for internal implementation • Implement demonstration based on selected test cases • Develop API for different modules.