DevoxxFR 2024 Reproducible Builds with Apache Maven
Eclipse & OSGi in healthcare IT
1. Eclipse & OSGi in Healthcare IT Shaun Elliott – selliott@paml.com PAML EclipseCon 2011
2. Open Format: (feel free to come and go) Collaboration Laboratory HL7 integrationonnectivity focus Not covering other fields such as: Radiology Pharmacy EMR Systems ETC. Please share! Intent & Preamble
3. The IDE for various source modifications of course! (Well, duh – right?) RCP [Rich Client Platform] Applications PDE [Plugin Development Environment] – IDE & RCP plugins OSGi? How can we use Eclipse?
4. Leverage the plugin architecture & existing functionality Can range in complexity from the very large...to the very small Full EMR systems Developer Tooling :: MLLPocket Apps, Tracking & Logging Systems, JMS Management (sometimes the wheel needs reinventing) LIS, EMR, Support Tooling :: Connectivity Generation Anything? RCP Applications
5. IDE Tooling Various Health Format Editors: HL7, X12, etc. Patient Data Protection: Data Obfuscation (for unit testing) RCP Plugins Plugins that can run in either IDE or an RCP app Using a plugin as a mini application: views are useful for this PDE
6. Enterprise Integration Patterns Apache ServiceMix with Mina+HL7 Codec Support tooling Modular & SOA based systems – whether in house, or 3rd party (eg: ServiceMix, SwordFish) OSGi
7. Eclipse HL7 Editor Simple Text Editor Uses the HL7 file type Simple Delimiter Coloring Hooks into the Outline View for dynamic positioning lookups Integrated Toolkit Manager As the name implies, the main application does not “do much” that is visible to the user. Handles security – plugin validation Provides basic EclipseSGi services such as dynamic plugin loading Preferences pages Utilizes Eclipse Plugin Architecture & OSGi The plugins provide the application specific behaviors OSGi services share responsibilities (HL7 parsing & lookups for example) Deployed As a Standalone JNLP application Demos
8. If possible, build java based tools with SWT. Write in a “headless” launcher that can act as a proxy to RCP or IDE containers Plan for modularity, don’t “tack it on”. It’s better to consider your services & plugins before you start – hopefully as part of the initial architecture. For Maven users – the Felix Bundle Plugin is a must use! Suggestions & Techniques – Lessons Learned