API Working Group September 26, 2019 Includes notes from meeting.

Slides:



Advertisements
Similar presentations
JIRA – An Introduction -Arpit Jindal
Advertisements

Basics of HTML What is HTML?  HTML or Hyper Text Markup Language is the standard markup language used to create Web pages.  HTML is.
Advantage Data Dictionary. agenda Creating and Managing Data Dictionaries –Tables, Indexes, Fields, and Triggers –Defining Referential Integrity –Defining.
© 2004, The Trustees of Indiana University 1 OneStart Workflow Basics Brian McGough, Manager, Systems Integration, UITS Ryan Kirkendall, Lead Developer.
Peoplesoft: Building and Consuming Web Services
Learning Resource iNterchange
Product Update & Road Map Jo Fuller Product Specialist.
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Joel Bapaga on Web Design Strategies Technologies Commercial Value.
XML: Changing the Way SFA Does Business Presented by Paul Hill & Holly Hyland.
Copyright © 2004 by The Web Services Interoperability Organization (WS-I). All Rights Reserved 1 Interoperability: Ensuring the Success of Web Services.
Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila.
Secure Credential Manager Claes Nilsson - Sony Ericsson
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
COD Common Record & XML Paul Hill Senior Technical Advisor, Title IV Delivery SFA Schools Channel.
Metadata Mòrag Burgon-Lyon University of Glasgow.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
1 ECHO ECHO 9.0 for Data Partners Rob Baker January 23, 2007.
Viewpoint Modeling and Model-Based Media Generation for Systems Engineers Automatic View and Document Generation for Scalable Model- Based Engineering.
DreamFactory for Microsoft Azure Is an Open Source REST API Platform That Enables Mobilization of Data in Minutes across Frameworks and Storage Methods.
The Basics of Android App Development Sankarshan Mridha Satadal Sengupta.
Build and Learn ASP.NET Workshop.
SARAH GIDEON 10th December 2016
1/27/2018 5:13 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
ITIL: Service Transition
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
Building production ready APIs with ASP.NET Core 2.0
Task 2.6 Eric Delory PLOCAN
Business Directory REST API
API (Application Program Interface)
Archiving and Document Transfer Utilities
Building Internet Applications With Mozilla XULRunner
Sabri Kızanlık Ural Emekçi
Understanding SOAP and REST calls The types of web service requests
Outline Introduction Standards Project General Idea
WG Research Data Collections RDA P10 Montréal – September 2017
VI-SEEM Data Discovery Service
Streamlined publishing through the cloud with HTML5
Visual Studio Tools for Office 2005
Creating Novell Portal Services Gadgets: An Architectural Overview
API Documentation Guidelines
Conference on National Platforms for SDG Reporting
Modernizing web service standards: The next version of WFS
WEB API.
Continuous Automated Chatbot Testing
ArangoDB, with Microsoft Azure Functionality, Lets You Build Modern Applications on Top of Flexible, Multi-Model, Open-Source Database MICROSOFT AZURE.
ETSI Multi-access Edge Computing:
Pallavi Patwa CSTE,ISTQB (Foundation)
Introduction to SharePoint Framework
TEMPLATE.
One-Stop Shop Manages All Technical Vendor Data and Documentation and is Globally Deployed Using Microsoft Azure to Support Asset Owners/Operators MICROSOFT.
A technical look at the new capabilities
ASP.NET Module Subtitle.
Quasardb Is a Fast, Reliable, and Highly Scalable Application Database, Built on Microsoft Azure and Designed Not to Buckle Under Demand MICROSOFT AZURE.
WG Research Data Collections An overview of the recommendation
Testing RESTful Web APIs
Moving from Studio to Atelier
Project Management in SharePoint
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
Touchstone Testing Platform
Project Management in SharePoint
An Electronic Borrowing System Using REST
Building production-ready APIs with ASP.NET Core 2.2
XML and its applications: 4. Processing XML using PHP
Web Application Interfaces (APIs)
NIEM Tool Strategy Next Steps for Movement
Troubleshooting.
DSCA Avails WG August 6, 2019 with notes.
Developing ONAP API Documentation
Presentation transcript:

API Working Group September 26, 2019 Includes notes from meeting

Agenda API Spec Updates based on last meeting Asset Ordering Spec MovieLabs’ prototype progress (OpenAPI 3.0) Discussion and Next Steps

Spec Updates

API Spec Updates Updated spec posted after last meeting www.movielabs.com/md/api Biggest change is removal of content provider from URL

URL Tentative Conclusion: …/{ALID}?licensor=sofaspud&model=TVOD Rather than having studio in path, use query parameters. They would not all necessarily be required Studio ALID License Model (LicenseType?) Territory …/{ALID}?licensor=sofaspud&model=TVOD …/{ALID}/{TransactionID}?licensor=…

OfferStatus

Offers Status Specs OfferStatus added to Avails New “Offer Status Core” Spec written to define basic use cases, to demystify OfferStatus and to provide examples

Offer Status Offer Status designed to provide status on Avail or Title List Primary goal is to determine if there are disconnects, before title goes live (early, late, wrong price, etc.) Echoes Avail or Title List terms, including refinements made by platform For example, could be subset of languages, or actual price High-level status: Live, Ready, Blocked, In-Process

Offer Status in context This High-level Tied to Avail/Title List Not This Low-level Tied to Asset Delivery

XML Provides flexibility for scope of status Not tied exclusively to Avails and Title List Can reports status ALID, EIDR or other IDs Feature and Bonus Additional Information For human intervention

OfferStatus in API Assume initial return status is simple validation (not OfferStatus) OfferStatus provides detailed status on offer that will update over time Data are time tagged to indicate when status was taken

API Prototyping

Supply Chain API Planning

Goal Develop standard API to enable fully automated delivery of MDDF Avails, Media Entertainment Core and Media Manifest Core

Approach Based on existing draft specification Work with industry partners to develop working prototype Refine and finalize route specifications Refine and finalize security and authentication standards Use open standards to describe API ensuring consistent deployment across multiple parties

Open API 3.0 Standardized way of describing REST API’s, now managed by Linux Foundation (formerly referred to as Swagger) Allows for multitude of tools to ease implementation of REST API’s including the popular toolset Swagger Specify routes, parameters, responses, etc. using JSON/YAML Documentation and HTML test pages can be generated automatically with open tools for multiple development environments Stubs are created to hook application code to Same spec can therefore be deployed across multiple environment

Open API 3.0 Example Example YAML for GET route paths: '/mec/{contentId}': get: tags: - MEC Operations description: "Returns an MEC resource to the requester" operationId: mecGetResource parameters: - $ref: '#/components/parameters/mecContentId' responses: '200': description: "Successful" content: application/xml: schema: $ref: "#/components/schemas/mecResource" '404': description: "Failed: Resource not found" content: application/xml: schema: $ref: "#/components/schemas/error" Define route path and parameters Stub for hooking application code to Define response, success and failure Reusable components can be defined for response, input parameters, etc.

Example Node code Stubs (operationIds) allow easy integration into code base module.exports = async function swagger(dependencies) { const { expressApp, database } = dependencies; const apiDoc = path.join(__dirname, '../api/docs-v1/mddf-api-doc.yaml'); const swaggerDocument = yaml.load(apiDoc); expressApp.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument)); initialize({ app: expressApp, apiDoc, dependencies: { database, }, operations: { mecGetCount: await mecController.mecGetResource, mecGetResource: await mecController.mecGetResource, mecPostResource: await mecController.mecPostResource, mecPutResource: await mecController.mecPutResource, mecDeleteResource: await mecController.mecDeleteResource, mmcGetCount: await mmcController.mmcGetResource, mmcGetResource: await mmcController.mmcGetResource, mmcPostResource: await mmcController.mmcPostResource, mmcPutResource: await mmcController.mmcPutResource, mmcDeleteResource: await mmcController.mmcDeleteResource, artworkGetResource: await artworkController.artGetResource, mecMapResource: await mecMapController.mecMapResource, searchTitles: await searchController.getSearch, }, });

Website http://mddf.mlmap.com/api-docs/ Swagger can create a functioning web based front end for testing, providing documentation and examples

MovieLabs Prototype Github Repo has first Node JS prototype of basic routes allowing GET, POST, PUT & DELETE of resources Code base in Node JS to simulate backend database Includes the Open API 3.0 specification Provides a starting point for an implementation and further testing and discussion of remaining open issues

Resources Open API 3.0: https://www.openapis.org Open API Tools: https://openapi.tools Swagger tools: https://swagger.io/ Github Repo: https://github.com/MovieLabs/MDDF_API Example: mddf.movielabs.com/api-docs

Discussion Any reason not to use OpenAPI 3.0? Should this be the official documentation for this part of the API? Our goal is Avails, but MEC is a much easier test subject. Should we test with MEC?

Any Other Business?

Wrap-up Action Items Next Steps Focus on Avails Status (no current solution, easy to motivate stakeholders) OpenAPI 3.0 with Avails and OfferStatus will be a major step towards adoption Could potentially use OfferStatus with Excel Avail? Next Steps Next meeting?

BACKUP

Dashboards… Arts Alliance Media HD Restaurant