dicom / hl7 verfication / java basis random user with no account justs wants to validate an hl7...

11
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.

Upload: myra-stone

Post on 11-Jan-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

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.

Page 2: 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

web browser

DICOMfiles

HL7files

Web serverhttp request

process the requestor

delegate to an abstract model object

When business logic finisheddecide which view for client

forward http request

J2EE application server:Tomcat / Jboss / Weblogic

Client

View: JSP / html etc.Forward to corresponding view page

Html as result from JSP

generate

http response

Model: an interfacespecify operations,

No concrete implementation

An implementation for postgres

An implementationFor File System

New implementationFor Oracle

Middleware: Java Objectbusiness logicPersist data

Process xml, XSLTInvoke services like RMI,

Web services, JMS

Clunie ToolC

Joela HL7JavaDVTK

delegate

Define at deployLike a plug n play

DB

xmlDB

JAXPdom4j

Transform XSLT

Web Services

Embedded with AJAX

Java Object

call

JAX-RPC using SOAPSAAJ: Soap with Attch.

RMI

JNI

Web

services

JAX_RPC using SOAP

RMIRMINotes:1. If clunnie on Gazelle server box, it just direct java call, so does Joela HL7 app.

Execute command

Collection of Implementation

Methods

Page 3: 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

web browser

DICOMfiles

HL7files

Web serverhttp request

process the requestor

delegate to an abstract model object

When business logic finisheddecide which view for client

forward http request

J2EE application server:Tomcat / Jboss / Weblogic

Client

View: JSP / html etc.

Forward to corresponding

view page

Html as result from JSP

generate

http response

Validation Manager

Clunie ToolC

Joela HL7Java

DVTK

Web Services

Embedded with AJAX

Java Object

call

JAX-RPC using SOAPSAAJ: SOAP with Attch.

JNI

Execute command

JVM Encompassing Web Server

Separate Windows computerwith Web server and DVTK

JVM Encompassing Web Server

Gazelle main Linux computer

Windows computer for

DVTK

Option 1: JNI

Page 4: 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

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

Page 5: 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

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

Page 6: 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

web browser

DICOMfiles

HL7files

Web serverhttp request

process the requestor

delegate to an abstract model object

When business logic finisheddecide which view for client

forward http request

J2EE application server:Tomcat / Jboss / Weblogic

Client

View: JSP / html etc.

Forward to corresponding

view page

Html as result from JSP

generate

http response

Validation Manager

Joela HL7Java

DVTK

Web Services

Embedded with AJAX

Java Object

call

JAX-RPC using SOAPSAAJ: SOAP with Attch.

Execute command

JVM Encompassing Web Server

Separate Windows computerwith Web server and DVTK

JVM Encompassing Web Server

Gazelle main Linux computer

Windows computer for

DVTK

Clunie ToolC

“system”

Option 2: No JNI

Page 7: 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

JVM Option 2: No JNI

• Same as Option 1 except that legacy code is not integrated using JNI but is executed through “system” commands

Page 8: 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

web browser

DICOMfiles

HL7files

Web serverhttp request

process the requestor

delegate to an abstract model object

When business logic finisheddecide which view for client

forward http request

J2EE application server:Tomcat / Jboss / Weblogic

Client

View: JSP / html etc.

Forward to corresponding

view page

Html as result from JSP

generate

http response

Validation Manager

Joela HL7Java

DVTK

Embedded with AJAX

Java Object

RMI

Execute command

JVM Encompassing Web Server

Separate Windows computerwith DVTK

JVM / No Web Server Needed

Gazelle main Linux computer

Windows computer for

DVTK

Clunie ToolC

Option 3: RMI

Java Object

RMI

Page 9: 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

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

Page 10: 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

web browser

DICOMfiles

HL7files

Web serverhttp request

process the requestor

delegate to an abstract model object

When business logic finisheddecide which view for client

forward http request

J2EE application server:Tomcat / Jboss / Weblogic

Client

View: JSP / html etc.

Forward to corresponding

view page

Html as result from JSP

generate

http response

Validation Manager

Joela HL7Java

DVTK

Embedded with AJAX

Java Object

Message Queue

Execute command

JVM Encompassing Web Server

Separate Windows computerwith DVTK

JVM / No Web Server Needed

Gazelle main Linux computer

Windows computer for

DVTK

Clunie ToolC

Option 4: Message

Queue

Java Object

Message Queue

Page 11: 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

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