30
Ανοικτά Δεδομένα Προκλήσεις και Ευκαιρίες: Η εμπειρία του OpenDataCloud Κώστας Σαΐδης, PhD

Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

Ανοικτά Δεδομένα Προκλήσεις και Ευκαιρίες:

Η εμπειρία του OpenDataCloud

Κώστας Σαΐδης, PhD

Page 2: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

Πάροχοι Ανοικτών Δεδομένων

• datagov.gr

• diavgeia.gr

• geodata.gov.gr

• Πυροσβεστικό σώμα

• Ελληνική Αστυνομία

• Υπουργείο Ανάπτυξης

• Ελληνική Στατιστική Αρχή

• κλπ

Page 3: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

To (κύριο) Πρόβλημα

• Κάθε εφαρμογή που θέλει να αξιοποιήσει τα ανοικτά δημόσια δεδομένα, θα πρέπει να αντιμετωπίσει μια σειρά κοινών ζητημάτων

Page 4: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

Για παράδειγμα

• Πού και πώς αποθηκεύω τα δεδομένα;

• Πού και πώς τα ευρετηριάζω;

• Πώς τα ενσωματώνω στην εφαρμογή μου;

• Ο καθένας τα λύνει μόνος του, με ad-hoc τρόπο!

Page 5: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

Ναι, αλλά...

• Αν προκύψει:

– μια νέα έκδοση των δεδομένων;

– ένα νέο σύνολο δεδομένων;

– μια νέα εφαρμογή;

• Ξανά από την αρχή...!

Page 6: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

Το OpenDataCloud

• Μια υπηρεσία νέφους (cloud service) για την αξιοποίηση των ανοικτών δημόσιων δεδομένων.

Page 7: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

Μια πλατφόρμα

Που λύνει τα κοινά θέματα

διαχείρισης, προσπέλασης, αναζήτησης των δεδομένων

Σε κεντρικό επίπεδο

χρησιμοποιώντας τεχνολογίες αιχμής, βέλτιστες πρακτικές διαλειτουργικότητας, ανοικτά πρότυπα

Επιτρέποντας την ενσωμάτωση των δεδομένων

σε οποιαδήποτε εφαρμογή με αποτελεσματικό τρόπο

Page 8: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

Οφέλη

• Κοινές βάσεις που επιτρέπουν σε όλους, να ενσωματώσουν τα ανοικτά δεδομένα:

– σε οποιοδήποτε σενάριο ή εφαρμογή,

– με εύκολο και αποτελεσματικό τρόπο

• Προστιθέμενη Αξία:

– Ταχύτητα, απλότητα, αυτοματισμός, οικονομία κλίμακας, συμφωνία με τις βέλτιστες διεθνείς πρακτικές

Page 9: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

Παρουσίαση του OpenDataCloud

www.opendatacloud.gr

Page 10: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

OpenDataCloud Software Stack

• Server Side

– Java / Groovy

– Restlet

– ElasticSearch 1.x

• Browser Side

– Bootstrap

– D3.js

– Knockout.js

Page 11: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

Το software stack του OpenDataCloud είναι 100% open source.

Page 12: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

Open Data

• Open data ≠ File sharing

• Identifiable, navigable and searchable data records

– Linked data & SPARQL/RDF

– NoSQL (OpenDataCloud)

Page 13: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

Open Data

• “A piece of data is open if anyone is free to use, reuse, and redistribute it — subject only, at most, to the requirement to attribute and/or share-alike.”

Page 14: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

Data use, reuse, redistribute

• Data querying, filtering & transformation

• Data embedding & integration

• Data exchange & interoperability

• Data enhancement & evolution

• Data validity & accountability

• …

Page 15: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

Data-centric Οργανισμοί

• Ας δούμε το δημόσιο ως έναν οργανισμό (π.χ. μια επιχείρηση)

• Με διαφορετικά τμήματα διάσπαρτα σε διαφορετικά γεωγραφικά σημεία

• Που χρησιμοποιούν διαφορετικά λογισμικά για διαφορετικά δεδομένα

Page 16: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

Συμπέρασμα

• Οι προκλήσεις των ανοικτών δεδομένων

• Σε μικρότερη ή μεγαλύτερη κλίμακα

• Απαντώνται σε όλους τους σύγχρονους οργανισμούς

Page 17: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

Software & Data

• Το λογισμικό που χρησιμοποιούμε περιορίζει την ανοικτότητα των δεδομένων μας (δηλαδή το ποσοστό της ελευθερίας που έχουμε πάνω στα δεδομένα)

• E.g. vendor lock-in, legacy applications, etc.

Page 18: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

Βέλτιστες πρακτικές για data openness

Από την εμπειρία του OpenDataCloud:

1. Data indexing/searching

2. RESTful Web APIs

Page 19: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

Ο στόχος

Εντός του οργανισμού:

• η βασική διαχείριση (create, update, delete & search) όλων των δεδομένων

• να γίνεται μέσω RESTful Web-based APIs.

Page 20: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

Τι είναι το REST

• Ένα αρχιτεκτονικό στυλ για τη λειτουργία του Παγκόσμιου Ιστού

– Οριοθετεί αρχές, περιορισμούς και βασικές λειτουργίες

– Ανεξάρτητα της γλώσσας προγραμματισμού, του πρωτοκόλλου επικοινωνίας ή του είδους των δεδομένων

Page 21: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

Συνοπτικά

• Τέσσερις βασικές έννοιες:

– Resources, Representations, Requests, Responses

• Έξι βασικές αρχές:

– Client-server, Stateless, Cacheable, Layered System, Uniform Interface, Code on demand (προαιρετικά)

Page 22: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

Οφέλη

• Η σωστή χρήση των RESTful αρχών βελτιώνει όλα τα σημαντικά χαρακτηριστικά μιας αρχιτεκτονικής:

– Απόδοση

– Κλιμάκωση

– Απλότητα

– Επεκτασιμότητα

– Αξιοπιστία

Page 23: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

Best Practice (1)

• Παροχή RESTful APIs για όλες τις πηγές δεδομένων του οργανισμού

Page 24: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

ElasticSearch

• A search engine:

– For searching and analyzing data in real time

– That is distributed, scalable, and highly available

– And offers a powerful RESTful API

• Open Source (Apache License)

• Based on Apache Lucene

• Supported by elastic (the company)

Page 25: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

Best practice (2)

• Χρήση του ElasticSearch για τη συγκέντρωση όλων των δεδομένων από τις πιθανές άλλες πηγές εντός του οργανισμού σε ένα σημείο

• Ευρετηρίαση και αναζήτηση των δεδομένων μέσω Web APIs

• Clustered, Distributed, Scalable, Rebuildable

Page 26: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

OpenDataCloud

• O (μάλλον φιλόδοξος) στόχος:

– Συγκέντρωση όλων των ανοικτών & δημόσιων πηγών δεδομένων

– Πλήρης αυτοματοποίηση της ροής εργασίας «δημοσίευσης» των δεδομένων

– Αυτόματη ενημέρωση όλων των εφαρμογών

Page 27: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

Ανοικτά Ζητήματα

• Καθιέρωση

– μοναδικών προσδιοριστών για τις πηγές

– ενιαίας και συνεπούς διαδικασίας δημοσίευσης και ενημέρωσης των πηγών

– ενιαίας περιγραφής (metadata) των πηγών

– αδειών χρήσης για τα δεδομένα των πηγών

– βέλτιστων πρακτικών «δόμησης» των πηγών

Page 28: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

Επεκτάσεις

• Προσθήκη νέων πηγών και γραφημάτων

• Επέκταση του API – Embedding σε σελίδες με απλό copy/paste

• Πρόσθετες δυνατότητες αναζήτησης

• Υποστήριξη αγγλικών

• RSS Feeds με ενημερώσεις για νέες πηγές

Page 29: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

Κοινές Δράσεις & Συνεργασίες

• Σύμπραξη με την ευρύτερη κοινότητα των Ανοικτών Δεδομένων

• Community-driven curation για τα DataSets

• Υλοποίηση πρωτοκόλλου για τις πηγές δεδομένων

• Συγγραφή οδηγιών για τη δόμηση των πηγών

• Κατασκευή πρόσθετων εφαρμογών

Page 30: Ανοικτά Δεδομένα, Προκλήσεις ...helios-eie.ekt.gr/EIE/bitstream/10442/14925/1/niovity-ekt-event.pdf · Software & Data •Το λογισμικό ποʑ ʗρησιμοποιούμε

Σας Ευχαριστώ

[email protected]