Download presentation
Presentation is loading. Please wait.
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
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
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.