SlideShare a Scribd company logo
Functional
Augmented State
Transfer (FAST)
Architecture
A NOVEL ARCHITECTURE FOR NETWORK APPLICATIONS DESIGNED BY G-
SQUARE SOLUTIONS PVT. LTD.
RESTful Architecture
 REST architecture extends the concept
of Web
 Everything is represented as a resource
 Each resource has a Uniform Resource
Identifier (URI).
 URI is similar to URL in the context of
web.
 There could be four functions (called
Methods) performed on a URI:
 PUT: Put a new resource
 POST: Send new data to a resource
 GET: Get the data in a resource
 DELETE: Delete the data
RESTful Server
ResourcesThe Client PUT, POST, GET,
DELETE
Gaps in RESTful architecture
 RESTful calls do not take parameters:
 Everything is a resource
 Interactions need to be through resource manipulation through HTTP methods
 RESTful calls can have side effects:
 Any RESTful can modify resources
 Same calls when made in different order can yield different results
 Example calls where RESTful architecture is not ideal:
 Get weather of latitude 75.435 and longitude 35.275
 Get a list of names and apply a filter based on a criteria and return the names
Solution: FAST Architecture
 In FAST architecture, the server is split
into two components:
 a REST server for performing regular
REST functions and
 functional programming server (called
lambda server) for performing functional
queries.
 A pure functional server should satisfy
the following criteria
 It should return the same response for
the same inputs irrespective of the state
of the machine
 Any two requests sent to the server can
be executed in any order with the same
results
 All inputs and outputs are immutable
FAST Server
REST Machine:
RESTful API with
Resource Access
Lambda
Machine for
Functional
Computation
The Client
Modules
Role of each piece of the FAST
server
 REST API provides a mechanism to post,
update, delete and get resources.
 Some of these resources could be
generated dynamically in which case the
REST API might interact with the
Lambda Machine internally
 The Lambda machine exposes certain
functions to the client
 The client can request resources or
function calls. If it is a function call it is
routed to Lambda Machine and if it is a
resource requirement it is routed to the
REST API
The key ingredients of lambda
machine
 Any calls to lambda machine will not
have any side effects
 The state inside lambda machine is
immutable. Any mutable state is
stores in the REST Server
 User can directly call lambda machine
Functional API Template
 Get /lambda/<module>/ returns list of sub-modules or functions in the
module
 Get /lambda/<module>/<name> returns:
 If name is a function with no parameters it gives the function type
 If name is a function and paramters are passed the function is applied on the
paramters and result is returned
 If name is a module a list of sub-modules and functions is given
 Post /lambda/<module>/<function> returns:
 Function is applied on the data in the POST body and the result is returned
Other Calls to FAST
 Regular RESTful calls:
 Post /rest/<path>
 Get /rest/<path>
 FAST calls (functional calls integrated with REST machine)
 Post /fast/module/function data={{uri}}
 Post /fast/module/function data={{uri}}, to_uri={{uri}}
 In the FAST arcgitecture the lambda machine can take data from another
uri and also post the results to another uri
 An additional parameter to_do can also be passed. to_do can take the
values apply, map, reduce and filter
FAST and REST: Differences and
Similarities
FAST RESTful
Resources and functions are two different
ways to access the functionality of server
Everything is a resource
Functional calls will not have side effects in
FAST architecture
Any call can have side effects
A function can be accessed through
“parameters”
Access is through get and post to
resources. URL parameters are inline with
RESTful philosophy
Both architectures allow for stateless interaction between client and server
Both architectures allow for interaction over HTTP
FAST vs. SOAP/RPC
SOAP/RPC FAST
A session needs to be maintained between
client and server
No session needs to be maintained
Calls can have side effects / change sin
state
Only RESTful calls will have side effects,
pure functional calls will not have any side
effects
The API needs to be known in advance API can be discovered during interactions
Strong coupling leads to less scalable
design
No coupling can be used to build scalable
systems
Advantages of FAST
 Clean design:
 Segregation of resource management and functional computation allows for
modular development and ease in testing.
 Efficiency:
 Parallelization can be done automatically by the server, thus taking the burden
of efficiency from the client.
 Security:
 Both resources and functions can have authentication and rights.
For more details:
https://arxiv.org/ftp/arxiv/papers/1607
/1607.05075.pdf
Thank You
WWW.G-SQUARE.IN
G-SQUARE SOLUTIONS PVT. LTD.

More Related Content

PDF
Sqoop2 refactoring for generic data transfer - NYC Sqoop Meetup
PPTX
Apache flink
PPTX
Apache Flink Online Training
PPTX
Suren_AutomationFramework
PDF
Apache flink
PPTX
The Joys of APIs & FME - Integrating CAD documents to GIS from a Document Man...
PPTX
Logging using ELK Stack for Microservices
PDF
Long running REST API calls
Sqoop2 refactoring for generic data transfer - NYC Sqoop Meetup
Apache flink
Apache Flink Online Training
Suren_AutomationFramework
Apache flink
The Joys of APIs & FME - Integrating CAD documents to GIS from a Document Man...
Logging using ELK Stack for Microservices
Long running REST API calls

What's hot (19)

PPTX
FME as an ESB at the Township of Langley
PDF
Oracle Database 11g Administrator Certified Professional.PDF
PDF
Flink Forward San Francisco 2018: Andrew Torson - "Extending Flink metrics: R...
PDF
Flink Forward Berlin 2018: Ravi Suhag & Sumanth Nakshatrithaya - "Managing Fl...
PDF
Apache Stratos Hangout VI
PPTX
Saturn 2018 rest.li
PPTX
Message structure
PPTX
Flink Forward Berlin 2018: Timo Walther - "Flink SQL in Action"
PPTX
Trinug - repository pattern
PDF
Flink Forward Berlin 2018: Brian Wolfe - "Upshot: distributed tracing using F...
PDF
Making design decisions in React-based ClojureScript web applications
PDF
Kubernetes + Operator + PaaSTA = Flink @ Yelp - Antonio Verardi, Yelp
PPT
ALP. Short facts
PDF
Flink Forward Berlin 2018: Xiaowei Jiang - Keynote: "Unified Engine for Data ...
PPTX
(ATS3-APP05) Building Symyx Notebook dashboards with Pipeline Pilot
PPT
Web Service
PDF
Flink Forward Berlin 2018: Viktor Klang - Keynote "The convergence of stream ...
PPTX
AW stats
PPTX
Code Upload Challenge on EvalAI
FME as an ESB at the Township of Langley
Oracle Database 11g Administrator Certified Professional.PDF
Flink Forward San Francisco 2018: Andrew Torson - "Extending Flink metrics: R...
Flink Forward Berlin 2018: Ravi Suhag & Sumanth Nakshatrithaya - "Managing Fl...
Apache Stratos Hangout VI
Saturn 2018 rest.li
Message structure
Flink Forward Berlin 2018: Timo Walther - "Flink SQL in Action"
Trinug - repository pattern
Flink Forward Berlin 2018: Brian Wolfe - "Upshot: distributed tracing using F...
Making design decisions in React-based ClojureScript web applications
Kubernetes + Operator + PaaSTA = Flink @ Yelp - Antonio Verardi, Yelp
ALP. Short facts
Flink Forward Berlin 2018: Xiaowei Jiang - Keynote: "Unified Engine for Data ...
(ATS3-APP05) Building Symyx Notebook dashboards with Pipeline Pilot
Web Service
Flink Forward Berlin 2018: Viktor Klang - Keynote "The convergence of stream ...
AW stats
Code Upload Challenge on EvalAI
Ad

Similar to Functional Augmented State Transfer (FAST) architecture (20)

PDF
Applications of the REST Principle
PPTX
RESTful services
PPTX
Lecture 12
PDF
Creating Restful Web Services with restish
PPTX
REST and RESTful Services
PPTX
Rest surekha
PDF
What are restful web services?
PPTX
PDF
ReSTful API Final
PPTX
REST in short
PPT
Rest introduction
PDF
Client-side Development 2016
PDF
Integrating RESTfully
PPTX
RESTful Web Services
PDF
Ijirsm ashok-kumar-ps-compulsiveness-of-res tful-web-services
PPTX
REST & RESTful APIs: The State of Confusion
PDF
IRJET- Rest API for E-Commerce Site
PPTX
RestfulDesignRules
PPTX
REST & RESTful Web Services
PDF
REST-FULL.pdf
Applications of the REST Principle
RESTful services
Lecture 12
Creating Restful Web Services with restish
REST and RESTful Services
Rest surekha
What are restful web services?
ReSTful API Final
REST in short
Rest introduction
Client-side Development 2016
Integrating RESTfully
RESTful Web Services
Ijirsm ashok-kumar-ps-compulsiveness-of-res tful-web-services
REST & RESTful APIs: The State of Confusion
IRJET- Rest API for E-Commerce Site
RestfulDesignRules
REST & RESTful Web Services
REST-FULL.pdf
Ad

Recently uploaded (20)

PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Cost to Outsource Software Development in 2025
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Digital Strategies for Manufacturing Companies
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
System and Network Administraation Chapter 3
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
assetexplorer- product-overview - presentation
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Adobe Illustrator 28.6 Crack My Vision of Vector Design
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
CHAPTER 2 - PM Management and IT Context
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Cost to Outsource Software Development in 2025
Operating system designcfffgfgggggggvggggggggg
Digital Strategies for Manufacturing Companies
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Design an Analysis of Algorithms II-SECS-1021-03
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
System and Network Administraation Chapter 3
Design an Analysis of Algorithms I-SECS-1021-03
Why Generative AI is the Future of Content, Code & Creativity?
Softaken Excel to vCard Converter Software.pdf
assetexplorer- product-overview - presentation
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Wondershare Filmora 15 Crack With Activation Key [2025
How to Choose the Right IT Partner for Your Business in Malaysia
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises

Functional Augmented State Transfer (FAST) architecture

  • 1. Functional Augmented State Transfer (FAST) Architecture A NOVEL ARCHITECTURE FOR NETWORK APPLICATIONS DESIGNED BY G- SQUARE SOLUTIONS PVT. LTD.
  • 2. RESTful Architecture  REST architecture extends the concept of Web  Everything is represented as a resource  Each resource has a Uniform Resource Identifier (URI).  URI is similar to URL in the context of web.  There could be four functions (called Methods) performed on a URI:  PUT: Put a new resource  POST: Send new data to a resource  GET: Get the data in a resource  DELETE: Delete the data RESTful Server ResourcesThe Client PUT, POST, GET, DELETE
  • 3. Gaps in RESTful architecture  RESTful calls do not take parameters:  Everything is a resource  Interactions need to be through resource manipulation through HTTP methods  RESTful calls can have side effects:  Any RESTful can modify resources  Same calls when made in different order can yield different results  Example calls where RESTful architecture is not ideal:  Get weather of latitude 75.435 and longitude 35.275  Get a list of names and apply a filter based on a criteria and return the names
  • 4. Solution: FAST Architecture  In FAST architecture, the server is split into two components:  a REST server for performing regular REST functions and  functional programming server (called lambda server) for performing functional queries.  A pure functional server should satisfy the following criteria  It should return the same response for the same inputs irrespective of the state of the machine  Any two requests sent to the server can be executed in any order with the same results  All inputs and outputs are immutable FAST Server REST Machine: RESTful API with Resource Access Lambda Machine for Functional Computation The Client
  • 5. Modules Role of each piece of the FAST server  REST API provides a mechanism to post, update, delete and get resources.  Some of these resources could be generated dynamically in which case the REST API might interact with the Lambda Machine internally  The Lambda machine exposes certain functions to the client  The client can request resources or function calls. If it is a function call it is routed to Lambda Machine and if it is a resource requirement it is routed to the REST API The key ingredients of lambda machine  Any calls to lambda machine will not have any side effects  The state inside lambda machine is immutable. Any mutable state is stores in the REST Server  User can directly call lambda machine
  • 6. Functional API Template  Get /lambda/<module>/ returns list of sub-modules or functions in the module  Get /lambda/<module>/<name> returns:  If name is a function with no parameters it gives the function type  If name is a function and paramters are passed the function is applied on the paramters and result is returned  If name is a module a list of sub-modules and functions is given  Post /lambda/<module>/<function> returns:  Function is applied on the data in the POST body and the result is returned
  • 7. Other Calls to FAST  Regular RESTful calls:  Post /rest/<path>  Get /rest/<path>  FAST calls (functional calls integrated with REST machine)  Post /fast/module/function data={{uri}}  Post /fast/module/function data={{uri}}, to_uri={{uri}}  In the FAST arcgitecture the lambda machine can take data from another uri and also post the results to another uri  An additional parameter to_do can also be passed. to_do can take the values apply, map, reduce and filter
  • 8. FAST and REST: Differences and Similarities FAST RESTful Resources and functions are two different ways to access the functionality of server Everything is a resource Functional calls will not have side effects in FAST architecture Any call can have side effects A function can be accessed through “parameters” Access is through get and post to resources. URL parameters are inline with RESTful philosophy Both architectures allow for stateless interaction between client and server Both architectures allow for interaction over HTTP
  • 9. FAST vs. SOAP/RPC SOAP/RPC FAST A session needs to be maintained between client and server No session needs to be maintained Calls can have side effects / change sin state Only RESTful calls will have side effects, pure functional calls will not have any side effects The API needs to be known in advance API can be discovered during interactions Strong coupling leads to less scalable design No coupling can be used to build scalable systems
  • 10. Advantages of FAST  Clean design:  Segregation of resource management and functional computation allows for modular development and ease in testing.  Efficiency:  Parallelization can be done automatically by the server, thus taking the burden of efficiency from the client.  Security:  Both resources and functions can have authentication and rights.