Successfully reported this slideshow.

Presentation

592 views

Published on

  • Be the first to comment

  • Be the first to like this

Presentation

  1. 1. Linking the Physical World to the Enterprise: Devices as Services Andy B Smith (andybs@us.ibm.com) Lee Surprenant (lmsurpre@us.ibm.com)
  2. 2. Eclipse™ Open Healthcare Framework (OHF) ‏ <ul><li>Expediting healthcare informatics technology </li></ul><ul><li>Extensible frameworks and tools in healthcare </li></ul><ul><ul><li>Interoperable open source infrastructure </li></ul></ul><ul><ul><ul><li>Lower barriers </li></ul></ul></ul><ul><ul><li>Leverage existing and emerging standards </li></ul></ul><ul><li>HL7™, IHE™, Healthcare Terminology, Public Healthcare Maintenance, and Medical Devices </li></ul>
  3. 3. Service Oriented Device Architecture <ul><li>Standardize and simplify integration of devices with the Enterprise </li></ul><ul><li>Leverage existing standards in embedded and I/T domains to provide well defined interfaces for hardware devices </li></ul><ul><li>Allow developers to interact with sensors and actuators like business services in an SOA sense </li></ul>
  4. 4. SODA Core Components <ul><li>Service Activator Toolkit (SAT) </li></ul><ul><ul><li>OSGi service-based programming </li></ul></ul><ul><ul><li>Another component programming model </li></ul></ul><ul><ul><ul><li>Simple, Useful, Scalable, Well-tested </li></ul></ul></ul><ul><li>Device Kit (DK) </li></ul><ul><ul><li>Expose physical devices as OSGi services </li></ul></ul><ul><ul><li>Code Generation from XML Specification </li></ul></ul>
  5. 5. Stepstone <ul><li>Collaborative effort between IBM™ and the University of Florida </li></ul><ul><li>Patient monitoring system </li></ul><ul><ul><li>Leveraging the SODA core components </li></ul></ul><ul><li>Reference example for Service Oriented Device Architecture </li></ul><ul><ul><li>Seeds the community with an open & extensible example </li></ul></ul>
  6. 6. The Charley Story: A Stepstone Use Case <ul><li>Charley is an elderly patient </li></ul><ul><ul><li>Aging Independently </li></ul></ul><ul><ul><li>Healthcare Concerns </li></ul></ul><ul><li>Physician requests frequent checkups </li></ul><ul><li>Impact </li></ul><ul><ul><li>Charley </li></ul></ul><ul><ul><li>Charley’s friends and family </li></ul></ul><ul><ul><li>Charley’s healthcare network </li></ul></ul><ul><li>The Charley Video </li></ul>
  7. 7. Stepstone Demo: Part 1 The Charley Story
  8. 8. The Stepstone Reference Implementation BP Device Weight Device Clinician ESB or Other SOA Mechanism Patient SODA Stack Edge Backend
  9. 9. Stepstone Design Points <ul><li>Simple </li></ul><ul><ul><li>Easy to pick up </li></ul></ul><ul><li>Flexible </li></ul><ul><ul><li>Adaptable to future scenarios </li></ul></ul><ul><li>Pluggable </li></ul><ul><ul><li>Descriptive not prescriptive </li></ul></ul><ul><li>Dynamic </li></ul><ul><ul><li>Essential in device industry </li></ul></ul>
  10. 10. OSGi™ <ul><li>The Dynamic Module System for Java™ </li></ul><ul><ul><li>Dependency management </li></ul></ul><ul><li>Full Support for Life Cycle and Security </li></ul><ul><li>Service Registry </li></ul><ul><ul><li>Dynamic bundle cooperation model </li></ul></ul>
  11. 11. Stepstone Demo: Part 2 The Twist
  12. 12. Stepstone Edge SOAP / HTTP Eclipse Tooling with OSGi Programming Model Support Device Interfaces: Proprietary and Industry Standards Bus Adapter Device Adapter Bluetooth Adapter Serial Adapter Pulse Oximeter Blood Pressure Cuff Type B Blood Pressure Cuff Type A Temperature Device PulseOx Agent Weight Agent A Weight Agent B Temp Agent PulseOx App Weight Application Temp App Web Services Adapter
  13. 13. Stepstone Backend Equinox OSGi PulseOx Bundle BP Bundle Weight Bundle Temp Bundle Apache Axis2™ Adapter Message Processor Parser Apache Derby™ DB Device Service Web Interface Database Service View Event Service Event DB Writer Edge UI
  14. 14. Stepstone Demo: Part 3 Under the Covers
  15. 15. Adapting Stepstone <ul><li>Evolve with scenerios </li></ul><ul><li>Edge </li></ul><ul><ul><li>Adaptive application layer </li></ul></ul><ul><ul><li>SOA binding </li></ul></ul><ul><li>Backend </li></ul><ul><ul><li>Web components </li></ul></ul><ul><ul><li>Data storage </li></ul></ul><ul><ul><li>Aggregate and process disparate events </li></ul></ul>
  16. 16. SODA/Stepstone Cross-Industry <ul><li>Retail </li></ul><ul><ul><li>New devices working with industry standards </li></ul></ul><ul><li>Energy & Utilities </li></ul><ul><ul><li>Support energy conservation scenarios </li></ul></ul><ul><li>Commercial/Residential Properties </li></ul><ul><ul><li>Healthcare </li></ul></ul><ul><ul><li>Energy </li></ul></ul><ul><ul><li>Security </li></ul></ul>
  17. 17. Combining Events and the Distribution of Logic <ul><li>Dynamic Applications </li></ul><ul><li>Combining device events through the OSGi Service layer </li></ul><ul><li>Distributing logic to the edge of the network </li></ul><ul><ul><li>Business Processing </li></ul></ul><ul><ul><li>Aggregation </li></ul></ul><ul><ul><li>Filtering </li></ul></ul>
  18. 18. New Scenarios/Existing Devices <ul><li>Supporting multiple users in the home </li></ul><ul><ul><li>Patient Identification </li></ul></ul><ul><li>Combine devices/events in interesting ways </li></ul><ul><ul><li>Healthcare readings from (weight scale, blood pressure cuff, pulse oximeter) ‏ </li></ul></ul><ul><ul><li>RFID device used as patient identifier </li></ul></ul>
  19. 19. Stepstone Demo: Part 4 Adapting Stepstone
  20. 20. Beyond Healthcare: The SODA Architecture <ul><li>Abstraction of the Stepstone edge </li></ul><ul><ul><li>Device Adapter (Device Kit) </li></ul></ul><ul><ul><li>Application Tier </li></ul></ul><ul><ul><li>Enterprise Adapter </li></ul></ul>
  21. 21. SOA Binding Framework Healthcare Device Vehicle Monitoring & Tracking Motion Sensor RFID Reader Services: Industry Standards Eclipse Tooling with OSGi Programming Model Support Device Interfaces: Proprietary and Industry Standards ESB or Other SOA Mechanism Device Interface and Protocol Adapters Agents: Device Specific Logic Application Code Bus Adapter Device Adapter
  22. 22. SOA Binding Framework Device Services: Industry Standards Eclipse Tooling with OSGi Programming Model Support Device Interfaces: Proprietary and Industry Standards ESB or Other SOA Mechanism Device Interface and Protocol Adapters Agents: Device and Scenario Specific Logic Application Code Device Service Generic Device Service Enterprise Adapter Service OSGi Framework
  23. 23. Linking the Enterprise <ul><li>Leverage the SODA components for your Enterprise </li></ul><ul><ul><li>Integrating Real-World Data </li></ul></ul><ul><ul><ul><li>Eventing </li></ul></ul></ul><ul><ul><ul><li>Business Processing </li></ul></ul></ul><ul><ul><li>Enterprise Adapters </li></ul></ul><ul><ul><ul><li>WS-* </li></ul></ul></ul><ul><ul><ul><li>JMS </li></ul></ul></ul><ul><ul><ul><li>MQTT </li></ul></ul></ul>
  24. 24. Final Thoughts <ul><li>Get Involved </li></ul><ul><ul><li>Eclipse OHF ( http://www.eclipse.org/ohf/components/soda ) </li></ul></ul><ul><ul><li>The SODA Alliance ( http://www.sensorplatform.org/soda ) </li></ul></ul><ul><li>We want to hear from you! </li></ul>
  25. 25. Legal Notices <ul><li>IBM and the IBM logo are trademarks or registered trademarks of IBM Corporation, in the United States, other countries or both. </li></ul><ul><li>Java and all Java-based marks, among others, are trademarks or registered trademarks of Sun Microsystems in the United States, other countries or both. </li></ul><ul><li>OSGi is a trademark or a registered trademark of the OSGi Alliance in the United States, other countries, or both. </li></ul><ul><li>Eclipse and the Eclipse logo are trademarks of Eclipse Foundation, Inc. </li></ul><ul><li>Apache, Apache Derby, and Apache Axis2 are trademarks of the Apache Software Foundation in the United States, other countries, or both. </li></ul><ul><li>HL7 is a registered trademark of Health Level Seven, Inc in the United States, other countries, or both. </li></ul><ul><li>IHE is a trademark of the RSNA and HIMSS trade associations in the United States, other countries, or both. </li></ul><ul><li>Other company, product and service names may be trademarks or service marks of others. </li></ul><ul><li>THE INFORMATION DISCUSSED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY. WHILE EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATION, IT IS PROVIDED &quot;AS IS&quot; WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, AND IBM SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, SUCH INFORMATION. ANY INFORMATION CONCERNING IBM'S PRODUCT PLANS OR STRATEGY IS SUBJECT TO CHANGE BY IBM WITHOUT NOTICE. </li></ul>
  26. 26. Backup Slides
  27. 27. Service Activator Toolkit (SAT) ‏ <ul><li>Plays by OSGi rules </li></ul><ul><ul><li>The Bundle Activator </li></ul></ul><ul><ul><ul><li>Interface between your bundle and the framework </li></ul></ul></ul><ul><ul><li>The Service Repository </li></ul></ul><ul><li>Assumptions </li></ul><ul><ul><li>SAT bundle services are activated only when ALL of its required services are registered </li></ul></ul><ul><ul><li>SAT bundle services are deactivated if ANY one of a bundle’s required services is unregistered </li></ul></ul>
  28. 28. The Programming Model <ul><li>SAT provides a unique programming model </li></ul><ul><li>Clean object model </li></ul><ul><ul><li>Bundle Activator should be the plumber </li></ul></ul><ul><ul><li>Isolate business logic in POJO </li></ul></ul><ul><li>“ Dependency Injection” </li></ul><ul><ul><li>bind() / unbind() ‏ </li></ul></ul><ul><li>Testability </li></ul><ul><ul><li>Test Harness </li></ul></ul><ul><ul><li>Mock Bundles </li></ul></ul>
  29. 29. Device Kit (DK) ‏ <ul><li>Device Layer </li></ul><ul><ul><li>Provides an interface to the hardware device </li></ul></ul><ul><ul><li>Understands the meaning of messages </li></ul></ul><ul><li>Transport Layer </li></ul><ul><ul><li>Parses input bytes into valid messages </li></ul></ul><ul><ul><li>Understands the format of messages </li></ul></ul><ul><li>Connection Layer </li></ul><ul><ul><li>Supports the reading and writing of byte streams to the hardware device </li></ul></ul>
  30. 30. DKML File DKML to Java Generator Device Java Code Transport Java Code Requires Customization Connection JNI Code Comm Interface Supplied with OS/Platform DKML File Provided / Hand Coded

×