DELIVERING NEW SERVICES WITHOUT BUILDING NEW ...

12
DELIVERING NEW SERVICES WITHOUT BUILDING NEW SERVICES An EIDR API Shim Case Study Richard W. Kroon, EIDR Director of Technical Operations Avner Braverman , Reshuffle CEO October 20, 2018

Transcript of DELIVERING NEW SERVICES WITHOUT BUILDING NEW ...

DELIVERING NEW SERVICES WITHOUT BUILDING NEW SERVICESAn EIDR API Shim Case Study

Richard W. Kroon, EIDR Director of Technical OperationsAvner Braverman, Reshuffle CEO

October 20, 2018

EIDR provides ISO-standard, globally-unique IDs for audiovisual worksAll asset types: Movies, Compilations, Series, Seasons, Episodes, Edits, Clips, etc.

EIDR IDs are akin to:§ ISBNs for books§ VINs for automobiles§ UPC/EAN barcodes for consumer products

EIDR-enabled automation has saved the industry thousands of labor hours and millions of dollars

EIDR is the Digital Glue that Binds the Industry

10.5240/ XXXX-XXXX-XXXX-XXXX-XXXX-C

Standard DOI prefixfor EIDR Content IDs

Unique suffixfor each asset

Checkdigit

• EIDR has issued > 2¼ million content IDs• EIDR services ≈350 million API calls per year• Global M&E customers have integrated the EIDR API into

mission-critical systems operating 24/7/365• Changing the existing EIDR API would require:

– Careful planning and cautious delivery– Senior-level architects and developers– Extensive planning and testing prior to release– Limited to no tolerance for risk or experimentation

The Blessing and Curse of a Mature API

• Problem Statement: Deliver new features, faster to meet our clients’ needs• Case Study: Expand EIDR ID resolution and query services to support JSON

resolution in addition to EIDR-native XML– New resolution formats are our most common user request, with JSON and TSV leading the list

• The Approach:– Use Reshuffle’s open-source integration platform to develop new API shims

• Encapsulate the standard EIDR XML-based API communications in a reusable EIDR Connector• Create modular/reusable service scripts• Deliver new API services with minimal JavaScript customization

• Benefits:– Build and deliver new APIs and new services faster (a.k.a., delight our users)– Supports quick iteration for testing and incremental refinement in production (a.k.a., more Agile)– Lowers development/delivery costs (a.k.a, delight our management)

Expanding the EIDR API with Reshuffle

API Shim Architecture

Resolve One ID Script

Resolution Results: XML vs. JSONStandard EIDR XML<FullMetadata xmlns="http://www.eidr.org/schema" xmlns:md="http://www.movielabs.com/schema/md/v2.8/md" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><BaseObjectData><ID>10.5240/4F49-8F89-058A-DB2C-AFA0-S</ID><StructuralType>Abstraction</StructuralType><Mode>AudioVisual</Mode><ReferentType>TV</ReferentType><ResourceName lang="en" titleClass="release">iCarly: iGo to

Japan</ResourceName><OriginalLanguage mode="Audio"

type="primary">en</OriginalLanguage><AssociatedOrg idType="EIDRPartyID“

organizationID="10.5237/2C61-552D" role="producer"><md:DisplayName>Schneider's Bakery</md:DisplayName>

</AssociatedOrg><AssociatedOrg idType="EIDRPartyID"

organizationID="10.5237/AE08-9CFE" role="producer"><md:DisplayName>Nickelodeon Network</md:DisplayName>

</AssociatedOrg><ReleaseDate>2008</ReleaseDate><CountryOfOrigin>US</CountryOfOrigin><Status>valid</Status><ApproximateLength>PT1H30M</ApproximateLength><AlternateID xsi:type="Baseline">4720881</AlternateID><AlternateID domain="bufvc.ac.uk/trilt/prog"

xsi:type="Proprietary">00E834A9</AlternateID><AlternateID domain="flixster.com"

xsi:type="Proprietary">770796378</AlternateID><AlternateID xsi:type="IMDB">tt1286124</AlternateID><AlternateID domain="webedia-group.com"

xsi:type="Proprietary">210481</AlternateID><AlternateID domain="tivo.com" relation="Other"

xsi:type="Proprietary">See-TiVo</AlternateID><AlternateID domain="internetvideoarchive.com"

New EIDR JSON{

"ID": "10.5240/4F49-8F89-058A-DB2C-AFA0-S","StructuralType": "Abstraction","Mode": "AudioVisual","ReferentType": "TV","ResourceName": {

"ResourceName": "iCarly: iGo to Japan","_lang": "en","_titleClass": "release"

},"OriginalLanguage": [

{"OriginalLanguage": "en","_mode": "Audio","_type": "primary"

}],"AssociatedOrg": [

{"_idType": "EIDRPartyID","_organizationID": "10.5237/2C61-552D","_role": "producer","DisplayName": "Schneider's Bakery"

},{

"_idType": "EIDRPartyID","_organizationID": "10.5237/AE08-9CFE","_role": "producer","DisplayName": "Nickelodeon Network"

}],"ReleaseDate": "2008","CountryOfOrigin": [

"US"],

Beyond the Case Study: A Practical Demo

https://github.com/reshufflehq/reshuffle-movieposter-example

The Reshuffle “Poster” Project

NOTE: This open source demonstration relies on Alternate IDs in the EIDR registry (which are not guaranteed to be populated on every record) and third-party services outside of EIDR’s control.

• In very little time, with comparatively little effort, EIDR has delivered:– Resolve, Pass-Through (XPath) Query, and JSON Query APIs– Integration with the EIDR Content ID, Video Service, and Party registries– Support for all EIDR resolution types (Full, Self-Defined, Alternate IDs, etc.)– JSON and TSV return options via type parameter/Accept header via the

same API• Next, we will:

– Integrate the new APIs into our own operations (public Web UI, etc.)– Add new resolution types and formats (EN 15907, RDF, ISAN, etc.)– Transition EIDR from linked-data friendly to linked-data native support– TSV and JSON EIDR match, register, and modification

Success So Far and EIDR’s Next Steps

• EIDR provides AV asset IDs for automation that appear in mission-critical applications, so new services cannot cause disruption

• Delivering new EIDR API services quickly and with little effort will:– Reduce barriers to adoption for corporate IT departments– Reduce barriers to adoption for new kinds of applications

• The open source Reshuffle integration platform:– Isolates EIDR API connectivity from business logic– Requires minimal JavaScript customization– Encourages experimentation, reuse, and agile delivery

• Ease of use demonstrated by JSON resolution API• Ease of re-use demonstrated by the “poster” application

EIDR Case Study Recap

CONTACT INFORMATIONRichard W. KroonEIDR Director of Technical [email protected]+1 (818) 207-3037

Avner BravermanReshuffle CEO

[email protected]+1 (650) 250-6808