Your SlideShare is downloading. ×
0
2010 08-26-smart-architecture
2010 08-26-smart-architecture
2010 08-26-smart-architecture
2010 08-26-smart-architecture
2010 08-26-smart-architecture
2010 08-26-smart-architecture
2010 08-26-smart-architecture
2010 08-26-smart-architecture
2010 08-26-smart-architecture
2010 08-26-smart-architecture
2010 08-26-smart-architecture
2010 08-26-smart-architecture
2010 08-26-smart-architecture
2010 08-26-smart-architecture
2010 08-26-smart-architecture
2010 08-26-smart-architecture
2010 08-26-smart-architecture
2010 08-26-smart-architecture
2010 08-26-smart-architecture
2010 08-26-smart-architecture
2010 08-26-smart-architecture
2010 08-26-smart-architecture
2010 08-26-smart-architecture
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

2010 08-26-smart-architecture

3,483

Published on

2 Comments
2 Likes
Statistics
Notes
  • smart app
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • The 'download eMail' notification doesn't seem to work.......
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
3,483
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
130
Comments
2
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • POINT OF VIEW of ONE CONTAINER INSTALLATION
  • Transcript

    • 1. SMArt Architecture <ul><li>Ben Adida </li></ul><ul><li>Josh Mandel </li></ul><ul><li>26 August 2010 </li></ul><ul><li>SMArt Developers’ Meeting </li></ul>
    • 2. Goal-Driven Architecture <ul><li>we want end-user apps to be installable and substitutable on i2b2, CareWeb, Indivo (+ commercial vendors) </li></ul><ul><li>Why? An ecosystem that fosters innovation . </li></ul><ul><li>so, the best approach is to derive requirements from the POV of SMArt app developers . </li></ul><ul><li>+ requirements of usability of integration . </li></ul>
    • 3. Let’s go Deeper We need more details (software components are not legos)
    • 4. inspiration
    • 5. &nbsp;
    • 6. &nbsp;
    • 7. - ( void )viewDidLoad {     [ super viewDidLoad];     EKEventStore *eventStore = [[ EKEventStore alloc] init];     EKEvent * event  = [ EKEvent eventWithEventStore:eventStore];     event .title     = @ &amp;quot;EVENT TITLE&amp;quot; ;     event .startDate = [[ NSDate alloc] init];     event .endDate   = [[ NSDate alloc] initWithTimeInterval: 600 sinceDate: event .startDate];     [ event setCalendar:[eventStore defaultCalendarForNewEvents]];     NSError *err;     [eventStore saveEvent: event span: EKSpanThisEvent error:&amp;err];       }
    • 8. An app connects to one app container A container connects to multiple data sources data sources data sources data sources
    • 9. different containers fulfill the contract in different ways. in different ways. in different ways.
    • 10. The app does not contact data sources directly. That’s the container’s job. That’s the container’s job. That’s the container’s job.
    • 11. App Container Data Source Source Source Source Source Source
    • 12. Substitutability works both ways works both ways
    • 13. The App gets... <ul><li>one API, data from many sources add a source, no change to app. </li></ul><ul><li>unambiguous patient record app never performs fuzzy matching, data de-duplication, etc. </li></ul>
    • 14. Web APIs <ul><li>inspired by successful APIs: Facebook, OpenSocial, ... </li></ul><ul><li>REST </li></ul><ul><li>Apps can be run on separate servers using different implementation stacks </li></ul><ul><li>UX Integration via IFRAME </li></ul>
    • 15. Screen real estate controlled by app
    • 16. Authentication? <ul><li>i2b2, Indivo, CareWeb, don’t have the same authentication mechanism! </li></ul><ul><li>How can the same app possibly work against all of these? </li></ul><ul><li>Each container implements a consistent mechanism for delegating access: oAuth . </li></ul><ul><li>The app only needs to speak oAuth. </li></ul>
    • 17. User delegates access to SMArt app to SMArt app
    • 18. UI Integration <ul><li>Augmenting i2b2, Indivo, CareWeb natively is ideal : existing authentication reused, just add oAuth delegation. </li></ul><ul><li>IFRAME wrapped by container-specific context. </li></ul>
    • 19. Faster: SMArt Connect
    • 20. Faster: SMArt Connect
    • 21. Faster: SMArt Connect
    • 22. Data Representation <ul><li>single data representation across platforms (make it easy for the app) </li></ul><ul><li>accommodate varying detail granularity </li></ul><ul><li>rely on existing technology for transforming existing data to this rep </li></ul><ul><li>RDF &amp; SPARQL </li></ul>
    • 23. In Summary <ul><li>make life easier for the app, reduce likelihood of errors in the app, do the hard stuff in the container </li></ul><ul><li>datasource != container these legos are not all the same </li></ul><ul><li>ideal SMArt container does oAuth and SMArt Connect natively so as to leverage existing (i2b2/Indivo)... features. </li></ul><ul><li>RDF universal representation + toolset </li></ul>

    ×