Presentation is loading. Please wait.

Presentation is loading. Please wait.

SMArt Developers’ Meeting

Similar presentations


Presentation on theme: "SMArt Developers’ Meeting"— Presentation transcript:

1 SMArt Developers’ Meeting
SMArt Architecture Ben Adida Josh Mandel 26 August 2010 SMArt Developers’ Meeting

2 Goal-Driven Architecture
we want end-user apps to be installable and substitutable on i2b2, CareWeb, Indivo (+ commercial vendors) Why? An ecosystem that fosters innovation. so, the best approach is to derive requirements from the POV of SMArt app developers. + requirements of usability of integration.

3 Let’s go Deeper We need more details (software components are not legos)

4 inspiration

5

6

7 - (void)viewDidLoad {     [super viewDidLoad];     EKEventStore *eventStore = [[EKEventStore alloc] init];     EKEvent *event  = [EKEvent eventWithEventStore:eventStore];     event.title     TITLE";     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:&err];       }

8 An app connects to one app container A container connects to multiple data sources

9 different containers fulfill the contract in different ways.

10 The app does not contact data sources directly
The app does not contact data sources directly. That’s the container’s job.

11 App Container Data Source
POINT OF VIEW of ONE CONTAINER INSTALLATION

12 Substitutability works both ways

13 The App gets... one API, data from many sources add a source, no change to app. unambiguous patient record app never performs fuzzy matching, data de-duplication, etc.

14 Web APIs inspired by successful APIs: Facebook, OpenSocial, ... REST
Apps can be run on separate servers using different implementation stacks UX Integration via IFRAME

15

16 Authentication? i2b2, Indivo, CareWeb, don’t have the same authentication mechanism! How can the same app possibly work against all of these? Each container implements a consistent mechanism for delegating access: oAuth. The app only needs to speak oAuth.

17 User delegates access to SMArt app

18 UI Integration Augmenting i2b2, Indivo, CareWeb natively is ideal: existing authentication reused, just add oAuth delegation. IFRAME wrapped by container-specific context.

19 Faster: SMArt Connect

20 Faster: SMArt Connect

21 Faster: SMArt Connect

22 Data Representation single data representation across platforms (make it easy for the app) accommodate varying detail granularity rely on existing technology for transforming existing data to this rep RDF & SPARQL

23 In Summary make life easier for the app, reduce likelihood of errors in the app, do the hard stuff in the container datasource != container these legos are not all the same ideal SMArt container does oAuth and SMArt Connect natively so as to leverage existing (i2b2/Indivo)... features. RDF universal representation + toolset


Download ppt "SMArt Developers’ Meeting"

Similar presentations


Ads by Google