Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
DICOM / HL7 Verfication / Java Basis • Random user with no account justs wants to validate an HL7 message or DICOM object • The next diagram shows a number of ways to achieve that. There are alternative solutions shown in this diagram. • Four specific options/diagrams are then drawn to show how this would work if you chose certain implementations. • There are certainly other options (or combinations of options). The next step is a table of benefits of the different approaches. Client http request Web server Embedded with AJAX web browser J2EE application server: Tomcat / Jboss / Weblogic http response Html as result from JSP forward http request process the request or delegate to an abstract model object DICOM files When business logic finished decide which view for client HL7 files generate Forward to corresponding view page View: JSP / html etc. delegate Model: an interface specify operations, No concrete implementation JAX-RPC using SOAP SAAJ: Soap with Attch. Middleware: Java Object business logic Persist data Process xml, XSLT Invoke services like RMI, Web services, JMS Define at deploy Like a plug n play DB An implementation For File System … Collection of Implementation Methods An implementation for postgres JAXP dom4j xml New implementation For Oracle DB Transform XSLT Web Services call Java Object JAX_RPC using SOAP Web services Execute command DVTK RMI RMI RMI Notes: 1. If clunnie on Gazelle server box, it just direct java call, so does Joela HL7 app. JNI Joela HL7 Java Clunie Tool C Client http request Web server Embedded with AJAX web browser J2EE application server: Tomcat / Jboss / Weblogic http response Html as result from JSP forward http request DICOM files HL7 files process the request or delegate to an abstract model object When business logic finished decide which view for client Validation Manager Forward to corresponding view page View: JSP / html etc. Joela HL7 Java JNI Clunie Tool C Option 1: JNI JAX-RPC using SOAP SAAJ: SOAP with Attch. Web Services Gazelle main Linux computer Separate Windows computer with Web server and DVTK call Java Object Windows computer for DVTK Execute command DVTK generate JVM Encompassing Web Server JVM Encompassing Web Server JVM Option 1: JNI • • • Validate HL7 request received by web server Request passed on to Validation Manager (object within the JVM) Validation Manager invokes method on Joela/HL7 validator directly (part of the JVM) • • • • • • • • Validate DICOM request received by web server Request passed on to Validation Manager (object within the JVM) Clunie tool has been modified to expose one/more subroutines through a JNI interface Validation Manager invokes method on Clunie/JNI interface • DVTK cannot live in the same JVM if Gazelle runs on a Linux box Validate DICOM request received by web server Request passed on to Validation Manager (object with the JVM) Validation Manager invokes Web Services on a separate Windows box that is running the DVTK software. Some Java (or other) glue code on the Windows box bridges the Web Services request to the DVTK evaluation software Option 1 Assumptions • Validation Manager is a Java class that is invoked by the Web Server (probably a Gazelle class before that). • Pull as many managers as possible into the JVM that runs the Web Server • Some software (DVTK) will have to run elsewhere • For things not written natively in Java, use JNI to get to the C libraries or C++ objects Client http request Web server Embedded with AJAX web browser J2EE application server: Tomcat / Jboss / Weblogic http response Html as result from JSP forward http request DICOM files HL7 files process the request or delegate to an abstract model object When business logic finished decide which view for client Validation Manager View: JSP / html etc. Joela HL7 Java JVM Encompassing Web Server Option 2: No JNI “system” JAX-RPC using SOAP SAAJ: SOAP with Attch. Web Services Gazelle main Linux computer Separate Windows computer with Web server and DVTK call Java Object Windows computer for DVTK generate Forward to corresponding view page Execute command DVTK JVM Encompassing Web Server Clunie Tool C JVM Option 2: No JNI • Same as Option 1 except that legacy code is not integrated using JNI but is executed through “system” commands Client http request Web server Embedded with AJAX web browser J2EE application server: Tomcat / Jboss / Weblogic http response Html as result from JSP forward http request DICOM files HL7 files process the request or delegate to an abstract model object When business logic finished decide which view for client Validation Manager generate Forward to corresponding view page View: JSP / html etc. Joela HL7 Java JVM Encompassing Web Server Option 3: RMI RMI RMI Separate Windows computer with DVTK Gazelle main Linux computer Java Object Java Object Windows computer for DVTK Execute command DVTK JVM / No Web Server Needed Clunie Tool C JVM Option 3: RMI • Same as Option 2 except that remote applications (DVTK, Clunie) are invoked with RMI and not Web Services or “system” • Implies one or more JVMs running on those systems to accept the RMI request Client http request Web server Embedded with AJAX web browser J2EE application server: Tomcat / Jboss / Weblogic http response Html as result from JSP forward http request DICOM files HL7 files process the request or delegate to an abstract model object When business logic finished decide which view for client Validation Manager generate Forward to corresponding view page View: JSP / html etc. Joela HL7 Java JVM Encompassing Web Server Option 4: Message Queue Message Queue Message Queue Separate Windows computer with DVTK Gazelle main Linux computer Java Object Java Object Windows computer for DVTK Execute command DVTK JVM / No Web Server Needed Clunie Tool C JVM Option 4: Message Queue • Same as Option 3 except that communication from the Evaluation Manager to components outside the JVM is through a Message Queue