3. 3 | www.folio.org
“It’s axiomatic that a vibrant
and healthy platform is
dependent on the value
created by partners who are
outside the platform itself. If
a platform is too closed , then
partners cannot or will not
contribute”
Ken Chad, Amigos Online Conference, Sept 15, 2016
7. 7 | www.folio.org
My Custom Ecosystem
DLink Camera
Amazon Echo
Samsung Smartthings
Harmony Controller
8. 8 | www.folio.org
Modular Apps
built on an open, extensible platform
“Radical Modularity”
App marketplace
Customized solutions by library
Microservices architecture
9. 9 | www.folio.org
Core FOLIO Solution
open source
Extensible platform
System/Tenant
E-Resource Mgmt
Acquisitions
Cataloguing
Circulation
Data Conversion Tools
Knowledge Base
Resource Sharing
10. 10 | www.folio.org
Expand the LSP
choose apps/solutions from the marketplace
Discovery
Open URL Linking
Holdings Management
Predictive analytics
ILL solutions
eBook integration
Collection Development
11. 11 | www.folio.org
Linked Open Data
Data Mining
Research Data Mgmt
Institutional Repositories
Learning Management
ERP integration
Room booking
Analytics and student
outcomes
Imagine new apps
beyond the ILS/LSP: the FOLIO difference
13. 13 | www.folio.org
IndexData
•Development
Begins
•Mid 2015
Public Code
•FOLIO codebase
public on GitHub
•August 2016
Modules
•Special Interest
Groups Forming
•Core Module
Development
•October 2016
Platform
•APIs Formalized
•App Market formed
•Core Module
Development
•Extension App
Development
•2017
Go Live
•First Library Goes
Live
•2018
14. | www.ebsco.com14
Microservices Architecture
1. Language Independent:
Build/Modify App in any
language using OKAPI
RESTful APIs
2. Deployment and
Discovery: Apps are defined
using JSON metadata
3. Marketplace: creates a
distribution channel for
sharing and selling apps
MyApp
ModuleDescriptor.json
Business Logic
(OKAPI Interactions)
UI Code
(React Directives)
15. 15 | www.folio.org
OKAPI – Multitenant API Gateway
• Core API Layer
• Supports System, Tenant and Module configuration
− /_/proxy – modules and tenants
− /_/discovery – node management
− /_/deployment – deploying modules
16. 16 | www.folio.org
Running FOLIO
FOLIO Server
$ mvn -Dstorage=mongo exec:exec
Register App
with Tenant
http://localhost:9130/_/proxy/tenants/${1}/modules
New Tenant
http://localhost:9130/_/proxy/tenants
17. 17 | www.folio.org
VuFind on FOLIO – Proof of Concept
• Deploy mod-circulation module which includes APIs:
− Patrons
− Bibs
− Configurations
− Items
• Push MARC records to /bibs endpoint
• Pull bibs into Solr
18. 18 | www.folio.org
Data Structures
System Layer
OKAPI (API Gateway)
CIRCACQ RPTRM LMSIRDISCAUTH SEL ILL
19. 19 | www.folio.org
VuFind on FOLIO – Future
• Embed Solr directly in System Layer to ensure records
in data stores are in sync with index
• Utilize SolrMarc configuration files to define indexing
and data manipulation to optimize for search
Lets work together to design this
Hinweis der Redaktion
In order to spark and support innovation – we need an open marketplace to increase competition and create opportunity
For those of who you are unfamiliar with the Platform as a Service concept – You’ve probably heard of Amazon’s Web Services
They are a collection of microservices that together can help build a powerful solution with out a tremendous amount of engineering work.
Another great example is Salesforce.com’s Force.com platform. It is again, a collection of microservices.
You do not have to worry about servers, infrastructure, networking – that is all provided for you as a service
The Internet of Things is a newly growing platform that companies from many industries are working on
This is my IOT platform in my home – I use products from different vendors to make up my ecosystem.
Why can’t the LSP be more like our phones – flexible and customizable? The phone comes with certain apps bundled in – if you have an iPhone you get Apple Maps for instance. But if you prefer the user interface and functionality of Google maps, you can download the app and your phone (read: platform) automatically recognizes Google maps and it interoperates with other apps on your phone.
Also – if you want functionality that doesn’t exist as a standard app on your phone – you can find it in the App store, download it (either for free or for a fee) and use it on your platform.
This platform is a collaborative open source project
When will this all be done?
It started in 2015 by a development effort from IndexData.
Then in August of 2016, the code was made public on GitHub. An open slack channel, discuss forum and JIRA site has also been made available to support collaboration.