Intro Title – The Death of SOAP APIs… – JavaScript



Intro Title – The Death of SOAP APIs… – JavaScript

0 0


summit-prez


On Github ahatfield / summit-prez

Intro Title

Trends in API's

  • REST + JSON for synchronous APIs
  • WebSockets + JSON or STOMP for asynchronous APIs
  • Language-specific API Client SDKs

Representational State Transfer (REST)

  • Architectural style for web services
  • Minimize the semantic gap between an API and the HTTP protocol
  • … versus SOAP web services…

JavaScript Object Notation (JSON)

  • Simple, text-based data interchange format
  • Objects and Arrays
[{
        "orderId": "12345",
        "type": "limit",
        "duration": "GTC",
        "instructions": "buy",
        "qty": 50,
        "symbol": "AMTD"
    },
    {
        "orderId": "12346",
        "type": "limit",
        "duration": "day",
        "instructions": "buy",
        "qty": 100,
        "symbol": "GOOG"
    }]
                

WebSockets

  • Efficient mechanism for pushing messages from servers to clients
  • Client upgrades the HTTP connection to a WebSocket
  • Considerations around usage

The Death of SOAP APIs…

As someone who bears some past responsibility for well used SOAP services (Google’s APIs for search and AdWords) let me say now I’d never choose to use SOAP and WSDL again. I was wrong.

From Amazon’s AWS User Guide…

We have deprecated the SOAP API for Amazon EC2. We will continue to support SOAP requests for API versions up to and including version 2014-02-01, until the end of December 2014. If you use a SOAP request against a later API version, or after December 2014, you will receive the following response: Client.UnsupportedProtocol: SOAP is no longer supported.

Winner...

REST History at TDA

  • Edge API
  • Institutional API
  • Smattering of private services
  • Common Observations and Concerns

Recent Efforts to Improve REST APIs at TDA

  • Established REST technology standards (tech stack)
  • Established additional standards, best practices and guidelines
  • Created a REST service archetype and reference/example service project

Future Model for APIs

The Web Platform

JavaScript

OS graphic

JS as OS graphic

HTML5/CSS3

  • History
  • Current State

Graphic example foo

Graphics: CSS animation, Canvas, WebGL, Audio, Video

Threading: Webworks

Networking: Websockets,XHR, Realtime

Threading: Webworks

Networking:

Websockets,XHR, Realtime

SPA + REST = Winning combo...

graphic

What do we gain from this

  • Developer specialization by separating concerns around the UI and backend.
  • Simple and scalable infrastructure… todo: better bullet
  • Rapid prototyping offering quicker time-to-market
  • API reuse across multiple application contexts

Demo