api - designing & supporting business critical with rest/hateoas

Post on 16-Apr-2017

75 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Anant Corporation

Research & DevelopmentAPI - Designing & Supporting Business Criticalwith REST/HATEOAS

What do we do?

Streamline, Organize and Unify Business InformationPortals | Integration | Search

Agenda

•Overview of REST/HATEOAS•Delivering Powerful Software as a SPA•Challenge : Fast AND Furious•Solution - Pragmatic Design at Each Layer

REST / HATEOAS• REST - Client / Server, Stateless,

Cacheable, etc.. • HATEOAS - Engine of Application

State How do we do this , really?

CollectionsPatentsUsersCasesQueriesTags

Usual “Search” / Consumer Apps• Interface - Frontend Layer (UI) is

Deployed as Static Files from CDN• Software - Business Logic (API) is

Deployed as Stateless Services • Database - Persistent information (Data)

is any of SQL/NoSQL/Graph/Index/*• Systems - Different Applications

(Systems) are hosted in private/public/* clouds

Usual “Search” / Consumer Apps

• Interface 10,000 Users, 1,000 Simultaneous Searches

• Software 200-200,000 Results, Highlights, HQ Images

• Database8,000,000 Objects, 20-50 Related Docs

• Systems 40-50 Servers, 5 Apps, 2 Databases, Several Frameworks

Challenge - Fast AND Furious

Patent Office - PATFT

EST – Crazy Queries

(method OR process OR steps) AND ( (nodes ADJ4 rank$) SAME (database or graph or index) )

EST – Exploring Search Technologies

EST – Exploring Search Technologies

• Dojo! Angular! Knockout! Ember! Oh My!End Users Don’t Care - Really They

Don’t. • Dictated by a balance of Team / Customer /

RealityDevelopers Need to be Okay Maintainers Need to be Happy

• Serving up the UI/API/Images Properly Special Web Servers for JS/HTML/CSSSpecial App Servers for to serve up

Images Special App Servers for APIs

Interface - What Framework?

• Data Update Frequency dictates Caching/Concurrency

• Data Security dictates Authentication • Data Relevancy dictates Linkage• Data Need dictates Size

Software - Serving API

• Relational is still relevant. It's fast. It's reliable. It's related.

• NoSQL works, choose wisely. *** (Consistency vs. Reliability)

• Index is an index. Don't use it as NoSQL. (SolR/ElasticSearch)

• Some data changes, while other data doesn't. (Transactions vs. Records)

Database - The Middle Path

• Criticality Influences Everything Mission / Business / Health Critical?

• SLA / OLACustomers have “Service Level Agreement” Functional Groups have “Operational Level Agreements”

• Commercial support means you can blame people and get them to fix it.If it breaks, you better own it, or get someone else to fix it, and pay them.

Systems - Tying it All Together

Anant - D.C. Office

ContactRahul Singh

• Web: http://anant.us• Email: rahul@anant.us• Phone: 1.855.ANANTCO• 1010 Wisconsin Ave. NW,

Suite 250Washington, D.C. 20007

top related