J Andrew Scott – http://rubberchickenfarm.com/

History of APIs

  • RSS
    • Advantages
      • Fast & reliable
      • Easy to consume
      • Almost no technical footprint
    • Disadvantages
      • Read-only
      • Static content
      • No authentication
      • No user-driven content (i.e. comments, favorites, etc)
  • DIY API
    • Advantages
      • Dynamic content
      • User-driven content
      • App & user authentication
      • Roles & permissions based
      • Connected applications
    • Disadvantages
      • DIY OAuth
      • Redundant URI scheme
      • Mediocre performance
      • Large technical footprint
  • WP-API
    • Advantages
      • Succinct URI scheme
      • Improved performance
      • Small technical footprint
      • Available in WordPress core
    • Disadvantages
      • Granular transactions
      • No batch uploads
      • Increased number of API calls
      • What once required 2 web servers now required 12-15 servers

WP-API Disadvantage Factors & Solutions

  • Number of content types
    • Solution: consolidate endpoints
  • Volume of individual API calls
    • Solution: batch processing endpoints
  • Frequency of individual API calls
    • Solution: page-level caching

Lessons Learned

  • Use standard authentication methods
  • Use page-level caching on GET requests
    • Varnish
    • WordPress object caching
  • Use custom endpoints
    • for upload of large batches of content
    • for consolidating repetitive API calls

Grand Valley State University, Pew Campus, Grand Rapids, MI