CORBA: Uses and Applications

Download Report

Transcript CORBA: Uses and Applications

CORBA:
Uses and Applications
Presented By: Walter Leung
The Johns Hopkins University
Computer Integrated Surgery II
April 26th, 2001
Presentation Guide
•
•
•
•
•
Sources of Information
Description of CORBA
Other CORBA Applications
Our Application of CORBA
Concluding Thoughts
Sources of Information
• Murphy, Niall, “Introduction to CORBA for Embedded
Systems,” Embedded Systems Programming, Oct. 1998 p.
60~73
• Huray, Laszlo, “Interoperable Objects for Distributed RealTime Systems,” Embedded Systems Programming, March
1997 p. 38~56
• Forslund, David and Kilman,David, “An International
Collaboratory Based on Virtual Patient Records,”
Communications of the ACM, August 1997 p.111~117
• Forslund, David, “The Role of CORBA in Enabling
Telemedicine,” Global Forum III: Telemedicine in Vienna,
Virginia, March 1997
Description of CORBA
Description of CORBA
What Is CORBA?
C ommon
O bject
R equest
B roker
A rchitecture
Description of CORBA
What Is CORBA?
• Method of Communication Between Computers
 Just Like:
• User Datagram Protocol (UDP)
• Transmission Control Protocol (TCP)
 Higher Level: Communicates Through Objects
CORBA
UDP
TCP
Description of CORBA
Advantages
• Don’t have to worry about:
– Packets
– Muxing and de-Muxing packets
– Flow control
– Message loss
• Very scalable:
– Platform and language independent
– Object oriented
Disadvantages
• Less control over how your information is actually sent
Description of CORBA
Communicate Over Many Platforms
• X86 ~ Windows
• SGI
• AMD ~ Linux
• Sun ~ Solaris
• DEC Alpha ~ Unix
• Proprietary
Communicate Over Many Languages
• C++
• COBOL
• Java
• Smalltalk
• Ada
• Lisp
Excellent for numerous small appliances that need to
communicate together
Description of CORBA
How Does CORBA Work?
Heart Monitor A
Linux \ C++
ORB
O bject
R equest
B roker
Heart Monitor B
Proprietary \ Java
ORB
?
CORBA BUS
ORB
PC
Windows 95 \ Java Applet
ORB
Blood Monitor
MS-DOS \ Smalltalk
Description of CORBA
What Is CORBA?
C ommon
O bject
R equest
B roker
A rchitecture
Description of CORBA
Object Request Broker
Heart Monitor A
Linux \ C++
ORB
• Uniquely written in each platform and
language
• Outputs objects understood /
transmittable by CORBA
C++ Objects
ORB
CORBA Objects
Presentation Guide
• Sources of Information
• Description of CORBA
• Other CORBA Applications
• Our Application of CORBA
• Concluding Thoughts
Other CORBA Applications
Issue: Patient Records in Health Care
Other CORBA Applications
Status Quo
• Paper-based
• Computerized patient records within:
– Hospitals
– HMO’s
– Community Health Information Networks
(CHIN’s)
Other CORBA Applications
Problems with the Status Quo
• Patient Information:
– Is Fragmented
– May not be up-to-date
– May be very unwieldy
– Slow process to retrieve
– Difficult to compare with other patients
– Not scalable
Other CORBA Applications
Solution Requirements
• Unified Virtual Patient Record







Inexpensive and widely accessible
Scalable (Platform and Machine – wise)
Scalable (Load and Volume - wise)
Scalable (Content - wise)
Support synchronous and asynchronous access
Consistent / simultaneous access
Secure
Other CORBA Applications
Solution Requirements
• Unified Virtual Patient Record







Inexpensive and widely accessible
Scalable (Platform and Machine – wise)
Scalable (Load and Volume - wise)
Scalable (Content - wise)
Support synchronous and asynchronous access
Consistent / simultaneous access
Secure
Other CORBA Applications
• Being developed at the Los Alamos
National Laboratory in New Mexico
• Spearheaded by Dr. David Forslund
• Mission: Create a national unified
Virtual Patient Record System
• View
• Edit
• Annotate
• Remotely
• Simultaneously
• Real-time
TeleMed Solution
Other CORBA Applications
TeleMed Solution
Other CORBA Applications
TeleMed Solution
Other CORBA Applications
Current Places of Implementation
Other CORBA Applications
Thoughts about TeleMed
• Excellent Use of CORBA
• A lot of Potential
• However, requires entire industry
cooperation to be effective
Presentation Guide
• Sources of Information
• Description of CORBA
• Other CORBA Applications
• Our Application of CORBA
• Concluding Thoughts
Our Application of CORBA
Basic Goal: Enabling tools in Medicine to
have its data distributed and manipulated.
Our Application of CORBA
Example Appliances
• Heart Monitor
• Blood Monitors
• Polaris Tracker
RS-232
CORBA
Our Application of CORBA
Grand Scheme
Heart Monitor A
Linux \ C++
Heart Monitor B
Proprietary \ Java
ORB
ORB
CORBA BUS
ORB
TeleMed Program
Windows 95 \ C++
Polaris Tracker
SLUSH \ Java
Our Application of CORBA
Thoughts about Polaris / TINI
• Exciting Project
• True integration of computing and medicine
• CORBA is an excellent choice
– Platform Independent
– Scalable
• However currently bound by RS-232 port
– Possibly progress to appliance integration