Surfing the API Web: Web Concepts

WWW2018 [https://www2018.thewebconf.org/] Developers' Track [https://www2018.thewebconf.org/program/developers-track/]

Erik Wilde
API Academy, CA Technologies

April 26, 2018

Creative Commons License [http://creativecommons.org/licenses/by/3.0/]

This work is licensed under a CC
Attribution 3.0 Unported License
[http://creativecommons.org/licenses/by/3.0/]

Contents Erik Wilde : Surfing the API Web: Web Concepts

Contents

Erik Wilde : Surfing the API Web: Web Concepts

(2) Summary

The Web is based on numerous standards that together make up the surface of the Web: By knowing and supporting those standards, problems can be solved in well-known ways. This general design pattern on the Web applies to APIs in the very same way as it does to the human Web: By using an (evolving) set of standards, API developers benefit by not having to reinvent the wheel, and developers benefit by the same problem being solved in the same way across a variety of APIs. The evolving set of standards for Web APIs can be regarded as a set of building blocks or vocabularies for API design. Web Concepts is a site [http://webconcepts.info] and a repository [http://github.com/dret/webconcepts] that can be used to manage how within organizations these building blocks are used, thus helping to establish a Web API design culture. The main idea of Web Concepts is to promote reuse of existing standards and technologies, and to therefore make it easier for teams to understand which options are available generally speaking, and maybe which ones are popular choices within their organization.



Introduction

Outline (Introduction)

  1. Introduction [4]
  2. Web Concepts: The Basics [5]
  3. Web Concepts: The Future [3]
  4. Conclusions [2]
Introduction Erik Wilde : Surfing the API Web: Web Concepts

(4) @dret on Twitter/GitHub

dret

Introduction Erik Wilde : Surfing the API Web: Web Concepts

(5) API Academy [http://www.apiacademy.co/]

API Academy

Introduction Erik Wilde : Surfing the API Web: Web Concepts

(6) Microservice Architecture

Microservice Architecture: Aligning Principles, Practices, and Culture

Introduction Erik Wilde : Surfing the API Web: Web Concepts

(7) About Me



Web Concepts: The Basics

Outline (Web Concepts: The Basics)

  1. Introduction [4]
  2. Web Concepts: The Basics [5]
  3. Web Concepts: The Future [3]
  4. Conclusions [2]
Web Concepts: The Basics Erik Wilde : Surfing the API Web: Web Concepts

(9) Web Concepts: Specifications [http://webconcepts.info/specs/]



Web Concepts: The Basics Erik Wilde : Surfing the API Web: Web Concepts

(10) Web Concepts: Concepts and Values [http://webconcepts.info/concepts/]



Web Concepts: The Basics Erik Wilde : Surfing the API Web: Web Concepts

(11) Web Concepts Overview

web-concepts.png

Web Concepts: The Basics Erik Wilde : Surfing the API Web: Web Concepts

(12) Specification Series

    <primary id="IETF" href="http://www.ietf.org/">
        <name short="IETF">Internet Engineering Task Force</name>
        <secondary id="RFC">
            <name short="RFC">Request for Comments</name>
            <id-pattern>^(\d+)$</id-pattern>
            <md-pattern>$1</md-pattern>
            <name-pattern>RFC $1</name-pattern>
            <uri-pattern>urn:ietf:rfc:$1</uri-pattern>
            <url-pattern>http://tools.ietf.org/html/rfc$1</url-pattern>
        </secondary>
        <secondary id="I-D">
            <name short="I-D">Internet Draft</name>
            <id-pattern>^(.+)$</id-pattern>
            <md-pattern>$1</md-pattern>
            <name-pattern>Internet Draft $1</name-pattern>
            <uri-pattern>urn:ietf:id:$1</uri-pattern>
            <url-pattern>http://tools.ietf.org/html/draft-$1</url-pattern>
        </secondary>
    </primary>


Web Concepts: The Basics Erik Wilde : Surfing the API Web: Web Concepts

(13) Concept Configuration

    <concept id="http-header">
        <title-singular>HTTP Header Field</title-singular>
        <title-plural>HTTP Header Fields</title-plural>
        <iana-registry>http://www.iana.org/assignments/message-headers/message-headers.xhtml</iana-registry>
    </concept>
    <concept id="http-warn-code">
        <title-singular>HTTP Warn Code</title-singular>
        <title-plural>HTTP Warn Codes</title-plural>
        <iana-registry>https://www.iana.org/assignments/http-warn-codes/http-warn-codes.xhtml</iana-registry>
    </concept>
    <concept id="http-cache-directive">
        <title-singular>HTTP Cache Directive</title-singular>
        <title-plural>HTTP Cache Directives</title-plural>
        <iana-registry>http://www.iana.org/assignments/http-cache-directives/http-cache-directives.xhtml</iana-registry>
    </concept>


Web Concepts: The Future

Outline (Web Concepts: The Future)

  1. Introduction [4]
  2. Web Concepts: The Basics [5]
  3. Web Concepts: The Future [3]
  4. Conclusions [2]
Web Concepts: The Future Erik Wilde : Surfing the API Web: Web Concepts

(15) Constraining Concepts



Web Concepts: The Future Erik Wilde : Surfing the API Web: Web Concepts

(16) Custom Concepts



Web Concepts: The Future Erik Wilde : Surfing the API Web: Web Concepts

(17) Concept Coverage



Conclusions

Outline (Conclusions)

  1. Introduction [4]
  2. Web Concepts: The Basics [5]
  3. Web Concepts: The Future [3]
  4. Conclusions [2]
Conclusions Erik Wilde : Surfing the API Web: Web Concepts

(19) APIs are Languages



Conclusions Erik Wilde : Surfing the API Web: Web Concepts

(20) Thanks! Questions?

What's Next?

April 26, 2018 WWW2018 [https://www2018.thewebconf.org/] Developers' Track [https://www2018.thewebconf.org/program/developers-track/]