SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
Resource Oriented
Architectures
The Future of Data API?
© 2013 by Victor Olex
@agilevic
How old do you think this is?
Drawing of an information processing
system shows the use of chains to
connect record.

"The programmer
used GET
commands to
navigate between
related records."

2
1962
Charles Bachman
– Designed and developed first database
management system
– Later honored with ACM’s Turing Award
– First one without a Ph.D. degree
– Dude was a developer!

3
GE’s Integrated Data System
• Introduced what would later be called the
“network data model.”
• Graph rather than hierarchy.
• “Programmer as Navigator,” charting a
path through the database from one
record to another.

4
Navigational Data Systems
• In 1970s commercial systems based on
this approach were some of the most
successful products.
• Commercial relational systems have taken
over since the late 1980s.
• In 1989 Sir Tim Berners-Lee writes a draft
proposal for World Wide Web
– Talks about access to existing databases too

5
6
What is Resource Oriented
Architecture
• “Style of software architecture and
programming paradigm for designing and
developing software in the form of
resources with RESTful interfaces.”
– Wikipedia
• Uniform data access layer to all data
assets in their unobstructed form for
reading and writing in various
representations. – my take
7
What is Resource Oriented
Architecture
Service Oriented
• Represents Action
• Transaction, Unit of Work
• Message
• API controlled by
functional design
• Harder to adapt and scale
beyond “enterprise”
• Harder to deprecate
functionality

Resource Oriented
• Represents State
• Addressable Resource
• Update to Resource
• API automatically evolves
with data
• Harder to model into
complex transactions
• Clients must be resilient
to change
8
Best Practices
• Don’t forget about “R”
in REST
– JSON isn’t the only
data format

• URL should be easy
to understand
– Avoid inventing miniquery language

• Resources should be
easy to discover
• Ideally every resource
address should allow
reading and writing
• Avoid query string to
address data

9
Database Content as
HTTP Resources
http://demo.slashdb.com/db/Chinook/Customer/CustomerId/1.html
Service location
• On the intranet, or
• In the cloud






Database
Table to query
name.
Supported
RDBMS:
• MS-SQL,
• Oracle
• MySQL
• PostgreSQL,
and more

Field to filter and
value to lookup:
• Text
• Number
• Date

Data format
• XML
• JSON
• HTML
• CSV

Combine
several

/db automatically makes hyperlinks directly to data
Related records are hyperlinked thus search engine ready
Filtering, drill-down, slices are natural, URLs stay nice
Custom queries also possible (SQL Pass-thru)

10
URLs?
Where we’re going
We don’t need URLs!

11
Linked Data, Semantic Web
•
•
•
•
•

Resource Description Framework
Web Ontology Language
RDF/XML ~ 2004
RDF/JSON 13 August 2013 (abandoned)
JSON-LD 1.0 10 September 2013
– W3C Recommendation
• Will it take off this time?
Get Web Almanac 2013-2053!
12
SPARQL Query Types
• SELECT - get raw values from a SPARQL
endpoint in a table format.
• CONSTRUCT - extract information from the
SPARQL endpoint and transform the results
into valid RDF.
• ASK - a simple True/False result.
• DESCRIBE – get an RDF graph, the contents
of which is left to the endpoint to decide
based on what the maintainer deems as
useful information.
13
SPARQL
# prefix declarations
PREFIX foo: <http://example.com/resources/>
...
# dataset definition
FROM ...
# result clause
SELECT ...
# query pattern
WHERE {
...
}
# query modifiers
ORDER BY ...
14
Thank You!

Keep in Touch
@agilevic
victor@slashdb.com
15
References
• Linked Data the Story So Far
http://tomheath.com/papers/bizer-heath-berners-lee-ijswis-linked-data.pdf

• Fifty Years of Databases
http://wp.sigmod.org/?p=688

• SPARQL by Example
http://www.cambridgesemantics.com/semantic-university/sparql-by-example

• Resource Oriented Architecture (Wikipedia)
http://en.wikipedia.org/wiki/Resource_oriented_architecture

• Back to the Future (picture)
http://www.redcarpetcrash.com/wp-content/uploads/2013/01/back.jpg

• Back to the Future II (picture)
http://www.bttf.net/v/vspfiles/photos/ADVANCE-C-2.jpg

• Outatime (picture)
http://2.bp.blogspot.com/AnHNMztbj8o/TpXyXL2CmaI/AAAAAAAADGg/QZzORg_4l9o/s1600/outatime.jpg

16

Contenu connexe

Tendances

The state of the art in Linked Data
The state of the art in Linked DataThe state of the art in Linked Data
The state of the art in Linked DataJoshua Shinavier
 
Introduction to APIs and Linked Data
Introduction to APIs and Linked DataIntroduction to APIs and Linked Data
Introduction to APIs and Linked DataAdrian Stevenson
 
Drupal Open Source Everything
Drupal Open Source EverythingDrupal Open Source Everything
Drupal Open Source Everythinglibrarywebchic
 
Annotation and Community
Annotation and CommunityAnnotation and Community
Annotation and CommunityBigBlueHat
 
Scraping data from the web and documents
Scraping data from the web and documentsScraping data from the web and documents
Scraping data from the web and documentsTommy Tavenner
 
Gateways 2020 Tutorial - Automated Data Ingest and Search with Globus
Gateways 2020 Tutorial - Automated Data Ingest and Search with GlobusGateways 2020 Tutorial - Automated Data Ingest and Search with Globus
Gateways 2020 Tutorial - Automated Data Ingest and Search with GlobusGlobus
 
SMART CRAWLER: A TWO-STAGE CRAWLER FOR EFFICIENTLY HARVESTING DEEP-WEB INTERF...
SMART CRAWLER: A TWO-STAGE CRAWLER FOR EFFICIENTLY HARVESTING DEEP-WEB INTERF...SMART CRAWLER: A TWO-STAGE CRAWLER FOR EFFICIENTLY HARVESTING DEEP-WEB INTERF...
SMART CRAWLER: A TWO-STAGE CRAWLER FOR EFFICIENTLY HARVESTING DEEP-WEB INTERF...CloudTechnologies
 
Gateways 2020 Tutorial - Large Scale Data Transfer with Globus
Gateways 2020 Tutorial - Large Scale Data Transfer with GlobusGateways 2020 Tutorial - Large Scale Data Transfer with Globus
Gateways 2020 Tutorial - Large Scale Data Transfer with GlobusGlobus
 
Web Scraping Technologies
Web Scraping TechnologiesWeb Scraping Technologies
Web Scraping TechnologiesKrishna Sunuwar
 
Andrew Hoppin, CIO, NY State Senate
Andrew Hoppin, CIO, NY State SenateAndrew Hoppin, CIO, NY State Senate
Andrew Hoppin, CIO, NY State SenateAcquia
 
"TextMining with ElasticSearch", Saskia Vola, CEO at textminers.io
"TextMining with ElasticSearch", Saskia Vola, CEO at textminers.io"TextMining with ElasticSearch", Saskia Vola, CEO at textminers.io
"TextMining with ElasticSearch", Saskia Vola, CEO at textminers.ioDataconomy Media
 
IIIF Foundational Specifications
IIIF Foundational SpecificationsIIIF Foundational Specifications
IIIF Foundational SpecificationsRobert Sanderson
 
Library Mashups & APIs
Library Mashups & APIsLibrary Mashups & APIs
Library Mashups & APIslibrarywebchic
 
Smart crawler a two stage crawler
Smart crawler a two stage crawlerSmart crawler a two stage crawler
Smart crawler a two stage crawlerRishikesh Pathak
 
Naming in content_oriented_architectures [repaired]
Naming in content_oriented_architectures [repaired]Naming in content_oriented_architectures [repaired]
Naming in content_oriented_architectures [repaired]haroonrashidlone
 
Introduction to Web Services
Introduction to Web ServicesIntroduction to Web Services
Introduction to Web ServicesJeffrey Anderson
 

Tendances (19)

Smart Crawler
Smart CrawlerSmart Crawler
Smart Crawler
 
Semantic web
Semantic webSemantic web
Semantic web
 
The state of the art in Linked Data
The state of the art in Linked DataThe state of the art in Linked Data
The state of the art in Linked Data
 
Linked Data
Linked DataLinked Data
Linked Data
 
Introduction to APIs and Linked Data
Introduction to APIs and Linked DataIntroduction to APIs and Linked Data
Introduction to APIs and Linked Data
 
Drupal Open Source Everything
Drupal Open Source EverythingDrupal Open Source Everything
Drupal Open Source Everything
 
Annotation and Community
Annotation and CommunityAnnotation and Community
Annotation and Community
 
Scraping data from the web and documents
Scraping data from the web and documentsScraping data from the web and documents
Scraping data from the web and documents
 
Gateways 2020 Tutorial - Automated Data Ingest and Search with Globus
Gateways 2020 Tutorial - Automated Data Ingest and Search with GlobusGateways 2020 Tutorial - Automated Data Ingest and Search with Globus
Gateways 2020 Tutorial - Automated Data Ingest and Search with Globus
 
SMART CRAWLER: A TWO-STAGE CRAWLER FOR EFFICIENTLY HARVESTING DEEP-WEB INTERF...
SMART CRAWLER: A TWO-STAGE CRAWLER FOR EFFICIENTLY HARVESTING DEEP-WEB INTERF...SMART CRAWLER: A TWO-STAGE CRAWLER FOR EFFICIENTLY HARVESTING DEEP-WEB INTERF...
SMART CRAWLER: A TWO-STAGE CRAWLER FOR EFFICIENTLY HARVESTING DEEP-WEB INTERF...
 
Gateways 2020 Tutorial - Large Scale Data Transfer with Globus
Gateways 2020 Tutorial - Large Scale Data Transfer with GlobusGateways 2020 Tutorial - Large Scale Data Transfer with Globus
Gateways 2020 Tutorial - Large Scale Data Transfer with Globus
 
Web Scraping Technologies
Web Scraping TechnologiesWeb Scraping Technologies
Web Scraping Technologies
 
Andrew Hoppin, CIO, NY State Senate
Andrew Hoppin, CIO, NY State SenateAndrew Hoppin, CIO, NY State Senate
Andrew Hoppin, CIO, NY State Senate
 
"TextMining with ElasticSearch", Saskia Vola, CEO at textminers.io
"TextMining with ElasticSearch", Saskia Vola, CEO at textminers.io"TextMining with ElasticSearch", Saskia Vola, CEO at textminers.io
"TextMining with ElasticSearch", Saskia Vola, CEO at textminers.io
 
IIIF Foundational Specifications
IIIF Foundational SpecificationsIIIF Foundational Specifications
IIIF Foundational Specifications
 
Library Mashups & APIs
Library Mashups & APIsLibrary Mashups & APIs
Library Mashups & APIs
 
Smart crawler a two stage crawler
Smart crawler a two stage crawlerSmart crawler a two stage crawler
Smart crawler a two stage crawler
 
Naming in content_oriented_architectures [repaired]
Naming in content_oriented_architectures [repaired]Naming in content_oriented_architectures [repaired]
Naming in content_oriented_architectures [repaired]
 
Introduction to Web Services
Introduction to Web ServicesIntroduction to Web Services
Introduction to Web Services
 

Similaire à Resource Oriented Architectures: The Future of Data API?

UNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptxUNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptxRahul Borate
 
A review of the state of the art in Machine Learning on the Semantic Web
A review of the state of the art in Machine Learning on the Semantic WebA review of the state of the art in Machine Learning on the Semantic Web
A review of the state of the art in Machine Learning on the Semantic WebSimon Price
 
No SQL- The Future Of Data Storage
No SQL- The Future Of Data StorageNo SQL- The Future Of Data Storage
No SQL- The Future Of Data StorageBethmi Gunasekara
 
Scaling up Linked Data
Scaling up Linked DataScaling up Linked Data
Scaling up Linked DataMarin Dimitrov
 
Open Data - Principles and Techniques
Open Data - Principles and TechniquesOpen Data - Principles and Techniques
Open Data - Principles and TechniquesBernhard Haslhofer
 
UNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptxUNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptxRahul Borate
 
Cloud-based Linked Data Management for Self-service Application Development
Cloud-based Linked Data Management for Self-service Application DevelopmentCloud-based Linked Data Management for Self-service Application Development
Cloud-based Linked Data Management for Self-service Application DevelopmentPeter Haase
 
Oracle Week 2016 - Modern Data Architecture
Oracle Week 2016 - Modern Data ArchitectureOracle Week 2016 - Modern Data Architecture
Oracle Week 2016 - Modern Data ArchitectureArthur Gimpel
 
Dropping ACID: Wrapping Your Mind Around NoSQL Databases
Dropping ACID: Wrapping Your Mind Around NoSQL DatabasesDropping ACID: Wrapping Your Mind Around NoSQL Databases
Dropping ACID: Wrapping Your Mind Around NoSQL DatabasesKyle Banerjee
 
An architecture for federated data discovery and lineage over on-prem datasou...
An architecture for federated data discovery and lineage over on-prem datasou...An architecture for federated data discovery and lineage over on-prem datasou...
An architecture for federated data discovery and lineage over on-prem datasou...DataWorks Summit
 
Intro to the semantic web (for libraries)
Intro to the semantic web (for libraries) Intro to the semantic web (for libraries)
Intro to the semantic web (for libraries) robin fay
 
introduction to NOSQL Database
introduction to NOSQL Databaseintroduction to NOSQL Database
introduction to NOSQL Databasenehabsairam
 

Similaire à Resource Oriented Architectures: The Future of Data API? (20)

Database Technologies
Database TechnologiesDatabase Technologies
Database Technologies
 
NoSQL
NoSQLNoSQL
NoSQL
 
Revision
RevisionRevision
Revision
 
UNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptxUNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptx
 
A review of the state of the art in Machine Learning on the Semantic Web
A review of the state of the art in Machine Learning on the Semantic WebA review of the state of the art in Machine Learning on the Semantic Web
A review of the state of the art in Machine Learning on the Semantic Web
 
The Web of Data: The W3C Semantic Web Initiative
The Web of Data: The W3C Semantic Web InitiativeThe Web of Data: The W3C Semantic Web Initiative
The Web of Data: The W3C Semantic Web Initiative
 
NOsql Presentation.pdf
NOsql Presentation.pdfNOsql Presentation.pdf
NOsql Presentation.pdf
 
Apache drill
Apache drillApache drill
Apache drill
 
No SQL- The Future Of Data Storage
No SQL- The Future Of Data StorageNo SQL- The Future Of Data Storage
No SQL- The Future Of Data Storage
 
Scaling up Linked Data
Scaling up Linked DataScaling up Linked Data
Scaling up Linked Data
 
Open Data - Principles and Techniques
Open Data - Principles and TechniquesOpen Data - Principles and Techniques
Open Data - Principles and Techniques
 
Mis assignment (database)
Mis assignment (database)Mis assignment (database)
Mis assignment (database)
 
UNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptxUNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptx
 
Linked (Open) Data
Linked (Open) DataLinked (Open) Data
Linked (Open) Data
 
Cloud-based Linked Data Management for Self-service Application Development
Cloud-based Linked Data Management for Self-service Application DevelopmentCloud-based Linked Data Management for Self-service Application Development
Cloud-based Linked Data Management for Self-service Application Development
 
Oracle Week 2016 - Modern Data Architecture
Oracle Week 2016 - Modern Data ArchitectureOracle Week 2016 - Modern Data Architecture
Oracle Week 2016 - Modern Data Architecture
 
Dropping ACID: Wrapping Your Mind Around NoSQL Databases
Dropping ACID: Wrapping Your Mind Around NoSQL DatabasesDropping ACID: Wrapping Your Mind Around NoSQL Databases
Dropping ACID: Wrapping Your Mind Around NoSQL Databases
 
An architecture for federated data discovery and lineage over on-prem datasou...
An architecture for federated data discovery and lineage over on-prem datasou...An architecture for federated data discovery and lineage over on-prem datasou...
An architecture for federated data discovery and lineage over on-prem datasou...
 
Intro to the semantic web (for libraries)
Intro to the semantic web (for libraries) Intro to the semantic web (for libraries)
Intro to the semantic web (for libraries)
 
introduction to NOSQL Database
introduction to NOSQL Databaseintroduction to NOSQL Database
introduction to NOSQL Database
 

Dernier

SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingTeacherCyreneCayanan
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024Janet Corral
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 

Dernier (20)

Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 

Resource Oriented Architectures: The Future of Data API?

  • 1. Resource Oriented Architectures The Future of Data API? © 2013 by Victor Olex @agilevic
  • 2. How old do you think this is? Drawing of an information processing system shows the use of chains to connect record. "The programmer used GET commands to navigate between related records." 2
  • 3. 1962 Charles Bachman – Designed and developed first database management system – Later honored with ACM’s Turing Award – First one without a Ph.D. degree – Dude was a developer! 3
  • 4. GE’s Integrated Data System • Introduced what would later be called the “network data model.” • Graph rather than hierarchy. • “Programmer as Navigator,” charting a path through the database from one record to another. 4
  • 5. Navigational Data Systems • In 1970s commercial systems based on this approach were some of the most successful products. • Commercial relational systems have taken over since the late 1980s. • In 1989 Sir Tim Berners-Lee writes a draft proposal for World Wide Web – Talks about access to existing databases too 5
  • 6. 6
  • 7. What is Resource Oriented Architecture • “Style of software architecture and programming paradigm for designing and developing software in the form of resources with RESTful interfaces.” – Wikipedia • Uniform data access layer to all data assets in their unobstructed form for reading and writing in various representations. – my take 7
  • 8. What is Resource Oriented Architecture Service Oriented • Represents Action • Transaction, Unit of Work • Message • API controlled by functional design • Harder to adapt and scale beyond “enterprise” • Harder to deprecate functionality Resource Oriented • Represents State • Addressable Resource • Update to Resource • API automatically evolves with data • Harder to model into complex transactions • Clients must be resilient to change 8
  • 9. Best Practices • Don’t forget about “R” in REST – JSON isn’t the only data format • URL should be easy to understand – Avoid inventing miniquery language • Resources should be easy to discover • Ideally every resource address should allow reading and writing • Avoid query string to address data 9
  • 10. Database Content as HTTP Resources http://demo.slashdb.com/db/Chinook/Customer/CustomerId/1.html Service location • On the intranet, or • In the cloud     Database Table to query name. Supported RDBMS: • MS-SQL, • Oracle • MySQL • PostgreSQL, and more Field to filter and value to lookup: • Text • Number • Date Data format • XML • JSON • HTML • CSV Combine several /db automatically makes hyperlinks directly to data Related records are hyperlinked thus search engine ready Filtering, drill-down, slices are natural, URLs stay nice Custom queries also possible (SQL Pass-thru) 10
  • 11. URLs? Where we’re going We don’t need URLs! 11
  • 12. Linked Data, Semantic Web • • • • • Resource Description Framework Web Ontology Language RDF/XML ~ 2004 RDF/JSON 13 August 2013 (abandoned) JSON-LD 1.0 10 September 2013 – W3C Recommendation • Will it take off this time? Get Web Almanac 2013-2053! 12
  • 13. SPARQL Query Types • SELECT - get raw values from a SPARQL endpoint in a table format. • CONSTRUCT - extract information from the SPARQL endpoint and transform the results into valid RDF. • ASK - a simple True/False result. • DESCRIBE – get an RDF graph, the contents of which is left to the endpoint to decide based on what the maintainer deems as useful information. 13
  • 14. SPARQL # prefix declarations PREFIX foo: <http://example.com/resources/> ... # dataset definition FROM ... # result clause SELECT ... # query pattern WHERE { ... } # query modifiers ORDER BY ... 14
  • 15. Thank You! Keep in Touch @agilevic victor@slashdb.com 15
  • 16. References • Linked Data the Story So Far http://tomheath.com/papers/bizer-heath-berners-lee-ijswis-linked-data.pdf • Fifty Years of Databases http://wp.sigmod.org/?p=688 • SPARQL by Example http://www.cambridgesemantics.com/semantic-university/sparql-by-example • Resource Oriented Architecture (Wikipedia) http://en.wikipedia.org/wiki/Resource_oriented_architecture • Back to the Future (picture) http://www.redcarpetcrash.com/wp-content/uploads/2013/01/back.jpg • Back to the Future II (picture) http://www.bttf.net/v/vspfiles/photos/ADVANCE-C-2.jpg • Outatime (picture) http://2.bp.blogspot.com/AnHNMztbj8o/TpXyXL2CmaI/AAAAAAAADGg/QZzORg_4l9o/s1600/outatime.jpg 16