Reduce, Reuse, Recycle: How Moneysupermarket.com Created APIs Without Starting from Scratch - Chris...

12
Reduce, Reuse, Recycle How Moneysupermarket.com Created APIs Without Starting from Scratch

Transcript of Reduce, Reuse, Recycle: How Moneysupermarket.com Created APIs Without Starting from Scratch - Chris...

Reduce, Reuse, Recycle How Moneysupermarket.com Created APIs Without Starting from Scratch

2

About Moneysupermarket.comPrice Comparison site founded in 1999

Vertical Search Engine, Digital Marketing Company

Grown from simple mortgages comparison to other financial and insurance product

Became a PLC in 2007

Turnover in 2012 around 200m

Car Insurance the largest single market

Group includes a number of acquisitions including Moneysavingexpert.com

3

Our Development is ‘Entrepreneurial’

Reducing our duplication is a key technical objective

4

Car Insurance Comparison

The big

challenges

•Generating personalised accurate data in real time

•Keeping it simple for customers

How do we source

our data

•Source quotes in real time from up to 100 sources

•Originally screen scraping technology but predominantly web service interaction

•Middleware aggregates the data to give a single results set for customers

•Pricing accuracy a key requirement as well as speed

Customer

experience

•Simplifying quote process

•Remember details to save filling in again

•Renewals & reminders

5

Car Insurance 2010

No real middleware separation

Silos & duplication

Heavily database reliant

Few real services

Lacking real standards

Web(Presentations, Filtering, Business Logic)

Dat

aSe

rvic

es

Provider Integration

Quote Storage

Providers

6

Business Goals for 2011

Web

(Presentations, Filte

ring,

Business

Logic)

Provider Integration

Quote Storage

Mobile Apps ABI DataMore quotesFaster!!

Do more inparallel

Full re-platform not an option

7

Business Logic

Our Approach

Recycle - Split the application in half

RESTful domain lifted from the domain model of the application

Layer 7 API Gateway as the abstraction

Secure data services available through OAuth 2.0

Replacement services slotted in as needed

Dat

aSe

rvic

es

Provider Integration

Quote Storage

Providers

Web(Presentation Logic)

API Layer(Authentication)

Quote Engine

8

Don’t Forget About…We didn’t define our API standards up front – 6 Gotchas

Terminology• Does your business have terms that nobody else uses?

Date Formats• Different tech use different formats particularly with JSON

REST or SOAP

HATEOAS• Relative or Absolute Links

XML or JSON as a base• Layer 7 or other tools can help translate but things get lost in translation!

Common API structures• Consistency makes a big difference to consumers

9

Where Layer 7 Fits InService registry

Security for services & customers• OAuth Toolkit

Standardise behaviour & structure• Errors, response codes, data formats, SOAP vs REST

Ideal for prototyping & sharing new services with partners

10

Car Insurance - Today

New Quoting engine

Additional client applications

Some services replaced, some left as they are

Phased often independent delivery, presentation layer unaffected

Quoting Engine

Providers

Desktop Web

API Layer

Mob

ile

App

Mobile Web

Refe

renc

e da

ta

Cust

ome

r

11

What about the rest of the estate?

Creating Reusable APIs Has Become Our Standard Delivery Pattern

• Mobile Web• Energy Club with

MoneysavingExpert.com• Partner Product Feeds• Transaction Logging• Preference Management• All services in Layer 7 as standard

Not everything needs to be thrown away

Quoting Engine

API Layer

Refe

renc

e da

ta

Cust

ome

r Tracking Preferences

More Information & [email protected]