Model-Driven Development
of Semantic Mashup Applications
               With the Open-Source InfoGrid
               NoSQL...
Key Points
Key Points

• NoSQL is smoking hot in 2010
Key Points

• NoSQL is smoking hot in 2010
• Think "object graph" instead of "table" for
  more effective model-driven dev...
Key Points

• NoSQL is smoking hot in 2010
• Think "object graph" instead of "table" for
  more effective model-driven dev...
Key Points

• NoSQL is smoking hot in 2010
• Think "object graph" instead of "table" for
  more effective model-driven dev...
The Mashup Problem




 ?
Example Object Graph
                     :Complaint                 :Complaint
                   Name: Pain             ...
Example Object Graph
                    System 3
                         :Complaint                 :Complaint
         ...
The Problem

• Semantically aggregate data from multiple
  sources
• Highly interrelated data
• Real-time updates (downstr...
InfoGrid
An Internet Graph Database
Types of Data Organization
Types of Data Organization
Tabular: SQL
relational database
Types of Data Organization
Tabular: SQL
relational database




Documents: NoSQL
document database
Types of Data Organization
Tabular: SQL
relational database




Documents: NoSQL                 Lookup: NoSQL
document da...
Types of Data Organization
Tabular: SQL                     Graph of instances: NoSQL
relational database              gra...
Types of Data Organization
Tabular: SQL                     Graph of instances: NoSQL
relational database              gra...
Schema-Less                                                  vs.   Model-Driven
                                         I...
Schema-Less                                                  vs.    Model-Driven
                                         ...
Schema-Less                                                  vs.    Model-Driven
                                         ...
Internet Graph Database
                        Web clients
 URL    URL   URL…                              URL…
         ...
InfoGrid Development Process
InfoGrid Development Process

1. Create domain model
InfoGrid Development Process

1. Create domain model
2. Identify data sources & key URLs
InfoGrid Development Process

1. Create domain model
2. Identify data sources & key URLs
3. Develop probes || Develop view...
InfoGrid Development Process

1. Create domain model
2. Identify data sources & key URLs
3. Develop probes || Develop view...
InfoGrid Development Process

1. Create domain model
2. Identify data sources & key URLs
3. Develop probes || Develop view...
InfoGrid Development Process

1. Create domain model
2. Identify data sources & key URLs
3. Develop probes || Develop view...
Why Does It Matter?
Why Does It Matter?

• Better: model-driven dynamic graph is better
  abstraction than inflexible tables
Why Does It Matter?

• Better: model-driven dynamic graph is better
  abstraction than inflexible tables
• Faster: reuse an...
Why Does It Matter?

• Better: model-driven dynamic graph is better
  abstraction than inflexible tables
• Faster: reuse an...
More information
   http://infogrid.org/
       @InfoGrid

   jernst@netmesh.us
Upcoming SlideShare
Loading in...5
×

Model-Driven Development of Semantic Mashup Applications with the Open-Source InfoGrid Internet Graph Database

3,267

Published on

Talk at Enterprise Data World 2010 in San Francisco.

Outlines the difficulties in developing enterprise mash-up applications that aggregate data semantically and in real time. Gives an overview how the InfoGrid internet graph database can help.

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,267
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
21
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide






























































  • Model-Driven Development of Semantic Mashup Applications with the Open-Source InfoGrid Internet Graph Database

    1. 1. Model-Driven Development of Semantic Mashup Applications With the Open-Source InfoGrid NoSQL Internet Graph Database Johannes Ernst NetMesh Inc. · InfoGrid.org Blog: netmesh.info/jernst · Twitter: @Johannes_Ernst · e-mail: jernst@netmesh.us Most recent version of this presentation is at: http://infogrid.org/wiki/Docs/SlidePresentations License: 2010 Johannes Ernst, Creative Commons Attribution-Share Alike 3.0
    2. 2. Key Points
    3. 3. Key Points • NoSQL is smoking hot in 2010
    4. 4. Key Points • NoSQL is smoking hot in 2010 • Think "object graph" instead of "table" for more effective model-driven development
    5. 5. Key Points • NoSQL is smoking hot in 2010 • Think "object graph" instead of "table" for more effective model-driven development • InfoGrid.org – graph database driven by conceptual-level models with code generator, REST, Java, open-source/commercial
    6. 6. Key Points • NoSQL is smoking hot in 2010 • Think "object graph" instead of "table" for more effective model-driven development • InfoGrid.org – graph database driven by conceptual-level models with code generator, REST, Java, open-source/commercial • Semantically-aware mashups need not be as hard as with an RDBMS
    7. 7. The Mashup Problem ?
    8. 8. Example Object Graph :Complaint :Complaint Name: Pain Name: Blood Pressure HasChiefComplaint :Doctor Name: Smith :OfficeVisit Date: 2009/12/15 :OfficeVisit Date: 2010/01/01 Prescribed During With Lipitor: By :Doctor Medication Name: Miller Amount: 100 John Doe: Patient ActiveMeds: MRN: 123456789 MedCollection Age: 57 Ibuprofen: Medication Amount: 50
    9. 9. Example Object Graph System 3 :Complaint :Complaint Name: Pain Name: Blood Pressure System 4 HasChiefComplaint :Doctor Name: Smith System 2 :OfficeVisit Date: 2009/12/15 :OfficeVisit Date: 2010/01/01 Prescribed During With System 1 By Lipitor: :Doctor Medication Name: Miller Amount: 100 System 5 John Doe: Patient ActiveMeds: MRN: 123456789 MedCollection Age: 57 Ibuprofen: Medication Amount: 50
    10. 10. The Problem • Semantically aggregate data from multiple sources • Highly interrelated data • Real-time updates (downstream and upstream) • Decentralized schema evolution
    11. 11. InfoGrid An Internet Graph Database
    12. 12. Types of Data Organization
    13. 13. Types of Data Organization Tabular: SQL relational database
    14. 14. Types of Data Organization Tabular: SQL relational database Documents: NoSQL document database
    15. 15. Types of Data Organization Tabular: SQL relational database Documents: NoSQL Lookup: NoSQL document database key-value database
    16. 16. Types of Data Organization Tabular: SQL Graph of instances: NoSQL relational database graph database : abc attribute: 1 : def : xyz attribute: 2 attribute: 5 : xyz attribute: 4 : def attribute: 3 Documents: NoSQL Lookup: NoSQL document database key-value database
    17. 17. Types of Data Organization Tabular: SQL Graph of instances: NoSQL relational database graph database : abc attribute: 1 : def : xyz attribute: 2 attribute: 5 : xyz attribute: 4 : def attribute: 3 Documents: NoSQL Lookup: NoSQL document database key-value database
    18. 18. Schema-Less vs. Model-Driven Instances in Graph DB: Type: OfficeVisit Type: By Date: 2009/12/15 Type: With Type: Patient Type: Doctor MRN: 123456789 Name: Miller Age: 57 Type: OfficeVisit Date: 2010/01/01 Type: Patient Type: Doctor MRN: 987654321 Name: Smith Type: OfficeVisit Age: 22 Date: 2009/12/02
    19. 19. Schema-Less vs. Model-Driven Instances in Graph DB: :OfficeVisit Type: OfficeVisit Date: 2009/12/15 Type: By By With Date: 2009/12/15 Type: With Type: Patient John Doe: Patient Type: Doctor :Doctor MRN: 123456789 MRN: 123456789 Name: Miller Name: Miller Age: 57 Age: 57 :OfficeVisit Type: OfficeVisit Date: 2010/01/01 Date: 2010/01/01 :Doctor Jane Doe: Patient Name: Smith MRN: 987654321 Type: Doctor Age: 22 :OfficeVisit Type: Patient MRN: 987654321 Name: Smith Date: 2009/12/02 Type: OfficeVisit Age: 22 Date: 2009/12/02
    20. 20. Schema-Less vs. Model-Driven Instances in Graph DB: :OfficeVisit Type: OfficeVisit Date: 2009/12/15 Type: By By With Date: 2009/12/15 Type: With Type: Patient John Doe: Patient Type: Doctor :Doctor MRN: 123456789 MRN: 123456789 Name: Miller Name: Miller Age: 57 Age: 57 :OfficeVisit Type: OfficeVisit Date: 2010/01/01 Date: 2010/01/01 :Doctor Jane Doe: Patient Name: Smith MRN: 987654321 Type: Doctor Age: 22 :OfficeVisit Type: Patient MRN: 987654321 Name: Smith Date: 2009/12/02 Type: OfficeVisit Age: 22 Date: 2009/12/02 Graph DB Meta-data: Patient By OfficeVisit With Doctor informal MRN Age 1..1 0..* Date 0..* 1..2 Name
    21. 21. Internet Graph Database Web clients URL URL URL… URL… Viewlets Graph Database Probe Probe Probe Probe Probe
    22. 22. InfoGrid Development Process
    23. 23. InfoGrid Development Process 1. Create domain model
    24. 24. InfoGrid Development Process 1. Create domain model 2. Identify data sources & key URLs
    25. 25. InfoGrid Development Process 1. Create domain model 2. Identify data sources & key URLs 3. Develop probes || Develop viewlets (parallel)
    26. 26. InfoGrid Development Process 1. Create domain model 2. Identify data sources & key URLs 3. Develop probes || Develop viewlets (parallel) 4. Integrate and test
    27. 27. InfoGrid Development Process 1. Create domain model 2. Identify data sources & key URLs 3. Develop probes || Develop viewlets (parallel) 4. Integrate and test 5. Incrementally augment: model, probes, viewlets
    28. 28. InfoGrid Development Process 1. Create domain model 2. Identify data sources & key URLs 3. Develop probes || Develop viewlets (parallel) 4. Integrate and test 5. Incrementally augment: model, probes, viewlets
    29. 29. Why Does It Matter?
    30. 30. Why Does It Matter? • Better: model-driven dynamic graph is better abstraction than inflexible tables
    31. 31. Why Does It Matter? • Better: model-driven dynamic graph is better abstraction than inflexible tables • Faster: reuse and compose instead of reinvent
    32. 32. Why Does It Matter? • Better: model-driven dynamic graph is better abstraction than inflexible tables • Faster: reuse and compose instead of reinvent • Cheaper: development is shorter, but maintenance/increments much simpler
    33. 33. More information http://infogrid.org/ @InfoGrid jernst@netmesh.us
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×