Work presented at the International Workshop on Engineering Open Data (WEOD), held in conjunction with 18th International Conference on Web Engineering (ICWE 2018) in Cáceres, Spain on 5th June 2018.
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
Model-Driven Analytics for Open Data APIs
1. Elena Planas
eplanash@uoc.edu
Open University of Catalonia
Model-Driven Analytics
for Open Data APIs
David Baneres
dbaneres@uoc.edu
Open University of Catalonia
International Workshop on Engineering Open Data (WEOD)
Held in conjunction with 18th International Conference on Web Engineering (ICWE 2018)
Cáceres, Spain - 5th June 2018
2.
3. goal of the open data movement:
empower end-users
to
exploit and benefit
from
open-data
8. we provide a
Model-Driven Analytical tool for Open Data APIs
our goal is to
visualize
how
end-users interact
with
open data
sources
regarding several
metrics
18. Opening: general request
specific sub request 1
…
specific sub request n
Closing: general request
#1 2017-11-10 11:02:20 - http://localhost:8080/OpenDataForAll/ODataService.svc/Countries
#2 2017-11-10 11:02:23 - 200 http://restcountries.eu/rest/v2/all 2208
#3 2017-11-10 11:02:24 - 200 http://battuta.medunes.net/api/country/all?key=... 1076
#4 2017-11-10 11:02:24 - http://localhost:8080/OpenDataForAll/ODataService.svc/Countries yes
Example
LOG structure
19. Opening: general request
specific sub request 1
…
specific sub request n
Closing: general request
#1 2017-11-10 11:02:20 - http://localhost:8080/OpenDataForAll/ODataService.svc/Countries
#2 2017-11-10 11:02:23 - 200 http://restcountries.eu/rest/v2/all 2208
#3 2017-11-10 11:02:24 - 200 http://battuta.medunes.net/api/country/all?key=... 1076
#4 2017-11-10 11:02:24 - http://localhost:8080/OpenDataForAll/ODataService.svc/Countries yes
Example
LOG structure
20. Opening: general request
specific sub request 1
…
specific sub request n
Closing: general request
#1 2017-11-10 11:02:20 - http://localhost:8080/OpenDataForAll/ODataService.svc/Countries
#2 2017-11-10 11:02:23 - 200 http://restcountries.eu/rest/v2/all 2208
#3 2017-11-10 11:02:24 - 200 http://battuta.medunes.net/api/country/all?key=... 1076
#4 2017-11-10 11:02:24 - http://localhost:8080/OpenDataForAll/ODataService.svc/Countries yes
Example
LOG structure
21. #1 2017-11-10 11:02:20 - http://localhost:8080/OpenDataForAll/ODataService.svc/Countries
#2 2017-11-10 11:02:23 - 200 http://restcountries.eu/rest/v2/all 2208
#3 2017-11-10 11:02:24 - 200 http://battuta.medunes.net/api/country/all?key=... 1076
#4 2017-11-10 11:02:24 - http://localhost:8080/OpenDataForAll/ODataService.svc/Countries yes
LOG structure LOG information
Example
Time
Requested APIs
Server response
Opening: general request
specific sub request 1
…
specific sub request n
Closing: general request
22. #1 2017-11-10 11:02:20 - http://localhost:8080/OpenDataForAll/ODataService.svc/Countries
#2 2017-11-10 11:02:23 - 200 http://restcountries.eu/rest/v2/all 2208
#3 2017-11-10 11:02:24 - 200 http://battuta.medunes.net/api/country/all?key=... 1076
#4 2017-11-10 11:02:24 - http://localhost:8080/OpenDataForAll/ODataService.svc/Countries yes
LOG structure LOG information
Example
Time
Requested APIs
Server response
Opening: general request
specific sub request 1
…
specific sub request n
Closing: general request
23. #1 2017-11-10 11:02:20 - http://localhost:8080/OpenDataForAll/ODataService.svc/Countries
#2 2017-11-10 11:02:23 - 200 http://restcountries.eu/rest/v2/all 2208
#3 2017-11-10 11:02:24 - 200 http://battuta.medunes.net/api/country/all?key=... 1076
#4 2017-11-10 11:02:24 - http://localhost:8080/OpenDataForAll/ODataService.svc/Countries yes
LOG structure LOG information
Example
Time
Requested APIs
Server response
Opening: general request
specific sub request 1
…
specific sub request n
Closing: general request
24. #1 2017-11-10 11:02:20 - http://localhost:8080/OpenDataForAll/ODataService.svc/Countries
#2 2017-11-10 11:02:23 - 200 http://restcountries.eu/rest/v2/all 2208
#3 2017-11-10 11:02:24 - 200 http://battuta.medunes.net/api/country/all?key=... 1076
#4 2017-11-10 11:02:24 - http://localhost:8080/OpenDataForAll/ODataService.svc/Countries yes
LOG structure LOG information
Opening: general request
specific sub request 1
…
specific sub request n
Closing: general request
Example
Time
Requested APIs
Server response
28. TRANSFORMED LOGINITIAL LOG
Input timestamp
general / for sub-query
Output timestamp
general / for sub-query
Response time
for each request and sub-request
Total time
for resolving a request
Time
29. TRANSFORMED LOGINITIAL LOG
Input timestamp
general / for sub-query
Output timestamp
general / for sub-query
Response time
for each request and sub-request
Total time
for resolving a request
Time
General request
Specific sub-requests
Number of sub-requests
for each general request
Number of requested APIs
in each general request
Requested
APIs
30. TRANSFORMED LOGINITIAL LOG
Input timestamp
general / for sub-query
Output timestamp
general / for sub-query
Response time
for each request and sub-request
Total time
for resolving a request
Time
General request
Specific sub-requests
Number of sub-requests
for each general request
Number of requested APIs
in each general request
Requested
APIs
Reliability
of each request and sub-request
Server
response
Reliability
of each request and sub-request
35. the aim of the
is to
measure and report
performance and volumes
of manipulated APIs
PERFORMANCE METRICS
36. API RELIABILITY
Average RESPONSE TIME
- by API
- by request / sub-requests
Average number of
ACCESSED APIs
for each request
Average number of
GENERATED SUB-REQUESTS
for each request
QUERY HISTORY
PERFORMANCE
METRICS
37. Response time by API:
Response time by request / sub-request:
%
%
%
%
%
%
API1
API2
API3
Request1
Sub-request1.1
Sub-request1.2
%
API RELIABILITY
Average RESPONSE TIME
- by API
- by request / sub-requests
Average number of
ACCESSED APIs
for each request
Average number of
GENERATED SUB-REQUESTS
for each request
QUERY HISTORY
PERFORMANCE
METRICS
38. Accessed APIs for each request:
%
%
Request1
Request2
Request3
%
API RELIABILITY
Average RESPONSE TIME
- by API
- by request / sub-requests
Average number of
ACCESSED APIs
for each request
Average number of
GENERATED SUB-REQUESTS
for each request
QUERY HISTORY
PERFORMANCE
METRICS
39. Generated sub-requests for each request:
%
%
Request1
Request2
Request3
%
API RELIABILITY
Average RESPONSE TIME
- by API
- by request / sub-requests
Average number of
ACCESSED APIs
for each request
Average number of
GENERATED SUB-REQUESTS
for each request
QUERY HISTORY
PERFORMANCE
METRICS
40. Collecting response codes of each sub-request:
Successfully served
Error: Bad request
Error: not found
API RELIABILITY
Average RESPONSE TIME
- by API
- by request / sub-requests
Average number of
ACCESSED APIs
for each request
Average number of
GENERATED SUB-REQUESTS
for each request
QUERY HISTORY
PERFORMANCE
METRICS
41. Performance metrics can be filtered by
several criteria:
API RELIABILITY
Average RESPONSE TIME
- by API
- by request / sub-requests
Average number of
ACCESSED APIs
for each request
Average number of
GENERATED SUB-REQUESTS
for each request
QUERY HISTORY
PERFORMANCE
METRICS
42. the aim of the
is to
analyze the consumed data
in the context of the
UML model
representing the requested APIs
SEMANTIC METRICS
44. Entities consumption is highlighted
using different colours:
High
demand
Low
demand
HEAT UML MODEL
ENTITY/FIELD CONSUMPTION
QUERY DIAGRAM
SEMANTIC METRICS
45. Show the number of requests to an
specific entity / field: HEAT UML MODEL
ENTITY/FIELD CONSUMPTION
QUERY DIAGRAM
SEMANTIC METRICS
46. Show the navigability to resolve the performed query:
HEAT UML MODEL
ENTITY/FIELD CONSUMPTION
QUERY DIAGRAM
SEMANTIC METRICS
56. we provide a
Model-Driven Analytical tool for Open Data APIs
the monitoring and visualization of the open data consumption report
highly valuable information to data providers
Improve data
- Data precision
- Avoiding overlapping
- Removing non-accessed-data
Infer new knowledge
- New content to be published
- Potential partnerships
57. Elena Planas
eplanash@uoc.edu
Open University of Catalonia
Model-Driven Analytics
for Open Data APIs
David Baneres
dbaneres@uoc.edu
Open University of Catalonia
Questions?
* All the images of this presentation have been acquired from http://pixabay.com