The purpose of this page is to clarify the integration of the eADC in the OpenNCP structure, by initially presenting some questions and considerations resulted from the current discussions on this matter.
Integration points
The eADC works by providing an interface and a default implementation. The implementation is designed to be embedded into the NCP, and has the method com.spirit.epsos.cc.adc.EADCReceiver#process defined as integration point from the calling application.
Internal dependencies
The eADC is designed to store the recieved data in a RDBMS backend. The implementation uses mySQL as RDBMS. It assumes the existence of a database named tmed.
Suggestions for integrating the eADC into the OpenNCP
As the application is designed to be embedded within the same application container as the NCP, we have several possible scenarios for integration.
Integration solution 1: direct calls
Integration solution 2: using javaee 6 interceptor patterns
The eADC is called from the NCP by its implementation of the EADCReceiver interface method process( EADCEntry ). A default implementation is provided by the eADC component itself: com.spirit.epsos.cc.adc.EADCReceiverImpl#process
What is the meaning of a unique / centralized contact point (for eADC)?
I (Steen) am not sure that I understand this question correctly, but the main point of having a single (singleton) eADC instance is to control access to the database. It seems like a naive solution, and further analyses could show that this may pose a bottleneck. Especially if the NCP is calling the interface synchronously.
Does the eADC has to work exclusively with interceptors?
Or can we embed it usage in the code, just like the audit messages handling.
It is intended to be embedded, and would be so as well if using interceptors
Can we create Evaluation Manager (EM) to proxy eADC?
The question relates to:
"The creation of a new, “floating” component that can be freely integrated at any interception point within the NCP or compatible environments." D3.10.1 Section: 2.1
Does the eADC has to intercept information on both sides of the NCP (A+B) ?