SlideShare a Scribd company logo
Building Large Scale Web Apps and
Platforms
©2017 PayPal Inc. Confidential and proprietary.
Anurag Sinha • 09/26/2017
©2017 PayPal Inc. Confidential and proprietary.
Twitter - @anuragS28
LinkedIn - https://www.linkedin.com/in/sinhaanurag/
ANURAG SINHA (PayPal)
2
©2017 PayPal Inc. Confidential and proprietary.
Table of contents
Platform Centric Approach
Architectural Patterns
Key TakeAways
PayPal APIs
3
©2017 PayPal Inc. Confidential and proprietary.
Platform Centric Approach
4
Single Page Applications
Blurring line between
Web Apps and APIs
Reuse at Scale
Truly Centralized Server
Architecture
Thinking in terms of
Platform Capabilities
©2017 PayPal Inc. Confidential and proprietary. 5
Platform Architecture Patterns
– Name and Title
©2017 PayPal Inc. Confidential and proprietary.
Pattern 1 - Separate Out Initial Renderer
6
Renderer
Renderer A
Renderer B
Browser or
UI Client
Initial Request
Angular Experience
Initial Request
React Experience
Core Services
User Service
Cart Service
Payment Service
Other Clients
API
Operations
©2017 PayPal Inc. Confidential and proprietary.
Pattern 1 - Separate Out Initial Renderer
✓ Serve different front ends while reusing core biz logic
✓ Isolate experience state to initial renderer
✓ Enforce homogenous contract for core services
✓ Unified platform to serve experiences and APIs
©2017 PayPal Inc. Confidential and proprietary.
Pattern 2 - MicroServices
Create Read Update Delete
Operations
User Cart Payment
Resources
Data Store
Cart PaymentUser
Services
User Cart Payment
©2017 PayPal Inc. Confidential and proprietary.
Pattern 2 - MicroServices
Design core operations as
Micro-Services
Spectrum of Concerns:
From Resource to
Operations
Stateless Services
Good Ole’ SRP
(Single Responsibility
Principle)
©2017 PayPal Inc. Confidential and proprietary.
Pattern 3 - Facade Abstracts Operational Concerns
User Cart Payment
Services
Facade Auth Logging
Resource
Mapper
✓ Generic concerns such as Authorization, Validation and Logging abstracted by a facade
✓ Maps resources for internal vs external clients and APIs
✓ Orchestrate calls to multiple core services
✓ Act as a robust layer to keep core platform generic
©2017 PayPal Inc. Confidential and proprietary.
Pattern 4 - Async where you can Sync where you must!
✓ Non blocking communication
✓ Increase decoupling in the stack
✓ Lessen impact of errors in
✓ Act as a robust layer to keep core platform generic
✓ Preserves autonomy
Cart Service User Service
Async
Callbacks
©2017 PayPal Inc. Confidential and proprietary.
Pattern 5 - Cache Strategically
✓ Front end clients
✓ Facade layer
✓ Core services design
UI
Client
Facade
UI data
Styles, images etc.
Orchestration data
Common Business Objects
User
Service
Cart
Service
User
data
Cart
data
©2017 PayPal Inc. Confidential and proprietary.
Pattern 6 - State Management
13
Stateful UI
Flow State
Orchestration Context
Context sharing
Cart Operation Payments OperationsUser Operations
Interface
Context sharing
Interface
User
Service
Cart
Service
Payments
Service
UI Client
Facade
©2017 PayPal Inc. Confidential and proprietary.
Pattern 6 - State Management
✓ Manage state at the client or facade layer
✓ Context sharing between core services can happen via shared request interfaces
✓ Statelessness enables generic use and decreases points of failures
✓ React.js and Angular.Js allow pushing state to the client
©2017 PayPal Inc. Confidential and proprietary.
Pattern 7 - Adhere to a spec
✓ Enforces strict contract
✓ Make each service independently testable and deployable
✓ Makes the whole stack framework/language agnostic
✓ Spec frameworks provide a lot of the tools out of the box
©2017 PayPal Inc. Confidential and proprietary.
Pattern 8 - Use Mocks
16
Facade
UI Client
Layer
Cart Service
Payment Service
Mock APIs
Cart/Payments
Mock
Downstream Mock
Payments Mock
Downstream Mock
Cart Mock
©2017 PayPal Inc. Confidential and proprietary.
Pattern 8 - Use Mocks
✓ Mock stubs at each layer
✓ Lesser dependence on environment for testing
✓ ECI pipelines run and certify all use cases
✓ Front end clients
✓ End to End stack regressions
©2017 PayPal Inc. Confidential and proprietary.
Key Takeaways
Build Generic APIs Kill State
Seperation of Concerns
and Resources Context Sharing
Scalable and Faster
Deployment Cycles
©2017 PayPal Inc. Confidential and proprietary.
PayPal Checkout API - Built on Platform Architecture Patterns
19
Checkout APIs
https://developer.paypal.com/docs/
api/orders
API World 2017 - Building Large Scale Web Apps and Platforms

More Related Content

PDF
Building Large Scale Web Apps And Platforms
Anurag Sinha
 
PDF
Microservices, Containers, and Beyond
Lakmal Warusawithana
 
PDF
Asp Technology
a71_barletta
 
PPT
Data Collection & Caching using redis | Swatantra Kumar
Swatantra Kumar
 
PDF
East bay full stack developers meetup August 2019
Connor Leech
 
PPTX
Modifying and Extending the ESB Toolkit
BizTalk360
 
PDF
Blazor - The New Silverlight?
Christian Nagel
 
Building Large Scale Web Apps And Platforms
Anurag Sinha
 
Microservices, Containers, and Beyond
Lakmal Warusawithana
 
Asp Technology
a71_barletta
 
Data Collection & Caching using redis | Swatantra Kumar
Swatantra Kumar
 
East bay full stack developers meetup August 2019
Connor Leech
 
Modifying and Extending the ESB Toolkit
BizTalk360
 
Blazor - The New Silverlight?
Christian Nagel
 

Similar to API World 2017 - Building Large Scale Web Apps and Platforms (20)

PPTX
DeveloperWeek 2016 - Evolution of the PayPal Platform: Journey to APIs & Micr...
Deepak Nadig
 
PPTX
Evolution of PayPal API Platform at API Meetup
Deepak Nadig
 
PPTX
Evolution of the PayPal API Platform Enabling the future of Money at QCon San...
Deepak Nadig
 
PPTX
Scaling API Design
Jason Harmon
 
PPTX
Craft Conference 2015 - Evolution of the PayPal API: Platform & Culture
Deepak Nadig
 
PPTX
API Product Management and Strategy
adritab
 
PPTX
Scaling API Design - Nordic APIs 2014
Jason Harmon
 
PPTX
Scaling API Design
Jason Harmon
 
PPTX
Providing Full Featured Payments (API) at Scale
Praveen Alavilli
 
PDF
PayPal APIs Up and Running Second Edition Matthew A. Russell
xlwqapj1058
 
PDF
Code-Camp-Rest-Principles
Knoldus Inc.
 
PDF
PayPal APIs Up and Running Second Edition Matthew A. Russell
kemishteklal
 
PDF
PayPal APIs Up and Running Second Edition Matthew A. Russell
zdkcysrn692
 
PDF
Redesigning PayPal APIs for Scale and Simplicity - QCon San Francisco 2013
Deepak Nadig
 
PPTX
Interop Las Vegas Cloud Connect Summit 2014 - Software Defined Data Center
Scott Carlson
 
PDF
Modern API Design Patterns for Custom Applications.pdf
himanshuwowit
 
PDF
Use Microservices & APIS to divide & conquer your Legacy Systems
PaymentComponents
 
PDF
"Exploring MACH Principles", Nikita Galkin
Fwdays
 
PPTX
Evolution of the PayPal API Platform: Enabling the future of Money at WooComm...
Deepak Nadig
 
PDF
How to build an online payment app development like pay pal
Noman Shaikh
 
DeveloperWeek 2016 - Evolution of the PayPal Platform: Journey to APIs & Micr...
Deepak Nadig
 
Evolution of PayPal API Platform at API Meetup
Deepak Nadig
 
Evolution of the PayPal API Platform Enabling the future of Money at QCon San...
Deepak Nadig
 
Scaling API Design
Jason Harmon
 
Craft Conference 2015 - Evolution of the PayPal API: Platform & Culture
Deepak Nadig
 
API Product Management and Strategy
adritab
 
Scaling API Design - Nordic APIs 2014
Jason Harmon
 
Scaling API Design
Jason Harmon
 
Providing Full Featured Payments (API) at Scale
Praveen Alavilli
 
PayPal APIs Up and Running Second Edition Matthew A. Russell
xlwqapj1058
 
Code-Camp-Rest-Principles
Knoldus Inc.
 
PayPal APIs Up and Running Second Edition Matthew A. Russell
kemishteklal
 
PayPal APIs Up and Running Second Edition Matthew A. Russell
zdkcysrn692
 
Redesigning PayPal APIs for Scale and Simplicity - QCon San Francisco 2013
Deepak Nadig
 
Interop Las Vegas Cloud Connect Summit 2014 - Software Defined Data Center
Scott Carlson
 
Modern API Design Patterns for Custom Applications.pdf
himanshuwowit
 
Use Microservices & APIS to divide & conquer your Legacy Systems
PaymentComponents
 
"Exploring MACH Principles", Nikita Galkin
Fwdays
 
Evolution of the PayPal API Platform: Enabling the future of Money at WooComm...
Deepak Nadig
 
How to build an online payment app development like pay pal
Noman Shaikh
 
Ad

Recently uploaded (20)

PDF
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
PDF
New Download MiniTool Partition Wizard Crack Latest Version 2025
imang66g
 
PPTX
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
PPTX
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
PDF
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
PPTX
Role Of Python In Programing Language.pptx
jaykoshti048
 
PPTX
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
PPTX
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 
PPTX
The-Dawn-of-AI-Reshaping-Our-World.pptxx
parthbhanushali307
 
PDF
ShowUs: Pharo Stream Deck (ESUG 2025, Gdansk)
ESUG
 
PDF
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
PPT
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
PPTX
Maximizing Revenue with Marketo Measure: A Deep Dive into Multi-Touch Attribu...
bbedford2
 
PDF
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
PDF
Teaching Reproducibility and Embracing Variability: From Floating-Point Exper...
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
PDF
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
PDF
vAdobe Premiere Pro 2025 (v25.2.3.004) Crack Pre-Activated Latest
imang66g
 
PPTX
Presentation about Database and Database Administrator
abhishekchauhan86963
 
PDF
Exploring AI Agents in Process Industries
amoreira6
 
PDF
WatchTraderHub - Watch Dealer software with inventory management and multi-ch...
WatchDealer Pavel
 
Balancing Resource Capacity and Workloads with OnePlan – Avoid Overloading Te...
OnePlan Solutions
 
New Download MiniTool Partition Wizard Crack Latest Version 2025
imang66g
 
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
Role Of Python In Programing Language.pptx
jaykoshti048
 
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 
The-Dawn-of-AI-Reshaping-Our-World.pptxx
parthbhanushali307
 
ShowUs: Pharo Stream Deck (ESUG 2025, Gdansk)
ESUG
 
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
Maximizing Revenue with Marketo Measure: A Deep Dive into Multi-Touch Attribu...
bbedford2
 
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
Teaching Reproducibility and Embracing Variability: From Floating-Point Exper...
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
vAdobe Premiere Pro 2025 (v25.2.3.004) Crack Pre-Activated Latest
imang66g
 
Presentation about Database and Database Administrator
abhishekchauhan86963
 
Exploring AI Agents in Process Industries
amoreira6
 
WatchTraderHub - Watch Dealer software with inventory management and multi-ch...
WatchDealer Pavel
 
Ad

API World 2017 - Building Large Scale Web Apps and Platforms

  • 1. Building Large Scale Web Apps and Platforms ©2017 PayPal Inc. Confidential and proprietary. Anurag Sinha • 09/26/2017
  • 2. ©2017 PayPal Inc. Confidential and proprietary. Twitter - @anuragS28 LinkedIn - https://www.linkedin.com/in/sinhaanurag/ ANURAG SINHA (PayPal) 2
  • 3. ©2017 PayPal Inc. Confidential and proprietary. Table of contents Platform Centric Approach Architectural Patterns Key TakeAways PayPal APIs 3
  • 4. ©2017 PayPal Inc. Confidential and proprietary. Platform Centric Approach 4 Single Page Applications Blurring line between Web Apps and APIs Reuse at Scale Truly Centralized Server Architecture Thinking in terms of Platform Capabilities
  • 5. ©2017 PayPal Inc. Confidential and proprietary. 5 Platform Architecture Patterns – Name and Title
  • 6. ©2017 PayPal Inc. Confidential and proprietary. Pattern 1 - Separate Out Initial Renderer 6 Renderer Renderer A Renderer B Browser or UI Client Initial Request Angular Experience Initial Request React Experience Core Services User Service Cart Service Payment Service Other Clients API Operations
  • 7. ©2017 PayPal Inc. Confidential and proprietary. Pattern 1 - Separate Out Initial Renderer ✓ Serve different front ends while reusing core biz logic ✓ Isolate experience state to initial renderer ✓ Enforce homogenous contract for core services ✓ Unified platform to serve experiences and APIs
  • 8. ©2017 PayPal Inc. Confidential and proprietary. Pattern 2 - MicroServices Create Read Update Delete Operations User Cart Payment Resources Data Store Cart PaymentUser Services User Cart Payment
  • 9. ©2017 PayPal Inc. Confidential and proprietary. Pattern 2 - MicroServices Design core operations as Micro-Services Spectrum of Concerns: From Resource to Operations Stateless Services Good Ole’ SRP (Single Responsibility Principle)
  • 10. ©2017 PayPal Inc. Confidential and proprietary. Pattern 3 - Facade Abstracts Operational Concerns User Cart Payment Services Facade Auth Logging Resource Mapper ✓ Generic concerns such as Authorization, Validation and Logging abstracted by a facade ✓ Maps resources for internal vs external clients and APIs ✓ Orchestrate calls to multiple core services ✓ Act as a robust layer to keep core platform generic
  • 11. ©2017 PayPal Inc. Confidential and proprietary. Pattern 4 - Async where you can Sync where you must! ✓ Non blocking communication ✓ Increase decoupling in the stack ✓ Lessen impact of errors in ✓ Act as a robust layer to keep core platform generic ✓ Preserves autonomy Cart Service User Service Async Callbacks
  • 12. ©2017 PayPal Inc. Confidential and proprietary. Pattern 5 - Cache Strategically ✓ Front end clients ✓ Facade layer ✓ Core services design UI Client Facade UI data Styles, images etc. Orchestration data Common Business Objects User Service Cart Service User data Cart data
  • 13. ©2017 PayPal Inc. Confidential and proprietary. Pattern 6 - State Management 13 Stateful UI Flow State Orchestration Context Context sharing Cart Operation Payments OperationsUser Operations Interface Context sharing Interface User Service Cart Service Payments Service UI Client Facade
  • 14. ©2017 PayPal Inc. Confidential and proprietary. Pattern 6 - State Management ✓ Manage state at the client or facade layer ✓ Context sharing between core services can happen via shared request interfaces ✓ Statelessness enables generic use and decreases points of failures ✓ React.js and Angular.Js allow pushing state to the client
  • 15. ©2017 PayPal Inc. Confidential and proprietary. Pattern 7 - Adhere to a spec ✓ Enforces strict contract ✓ Make each service independently testable and deployable ✓ Makes the whole stack framework/language agnostic ✓ Spec frameworks provide a lot of the tools out of the box
  • 16. ©2017 PayPal Inc. Confidential and proprietary. Pattern 8 - Use Mocks 16 Facade UI Client Layer Cart Service Payment Service Mock APIs Cart/Payments Mock Downstream Mock Payments Mock Downstream Mock Cart Mock
  • 17. ©2017 PayPal Inc. Confidential and proprietary. Pattern 8 - Use Mocks ✓ Mock stubs at each layer ✓ Lesser dependence on environment for testing ✓ ECI pipelines run and certify all use cases ✓ Front end clients ✓ End to End stack regressions
  • 18. ©2017 PayPal Inc. Confidential and proprietary. Key Takeaways Build Generic APIs Kill State Seperation of Concerns and Resources Context Sharing Scalable and Faster Deployment Cycles
  • 19. ©2017 PayPal Inc. Confidential and proprietary. PayPal Checkout API - Built on Platform Architecture Patterns 19 Checkout APIs https://developer.paypal.com/docs/ api/orders