3. Just think...
To watch And feelThere are moments You enjoy
Did you ever think what happens
‘behind the scenes’?
4. The World could be easier!
The current world
The better world
face this, to get this, and feel like this.You arrive here, to use this,
authenticate at the entrance,You buy your ticket from where you are, and enjoy the game going through zero stress
Let’s build this together!
5. Tickeeeeeets!!!!
Tens of
Thousands of
fans
Many requests over a very
short period
Many servers
and services
involved
Denial of Service Attacks
Lost connections
Incomplete Transactions
Customer Churn
Bank Servers
Credit Card
Servers
Stadium
Servers
Others
Challenges
8. Real-world Transaction Requirements
You check for
ticket availability
Stadium
ServerStadium
App
Credit
Card
Server
Bank
Server
You buy your
ticket
Your bank or
CC gets
charged Stadium
bank balance
is credited
Stadium
confirms
your seat
Stadium
locks your
seat
You enter
through the
ticket gate
Stadium
server
notifies your
smartphone
You ignore it,
because you’re
already happily
watching the
game
You ignore it,
because you’re
already happily
watching the
game
9. Transactions: Relational x Cloud
Cloud
• Sequence of individual operations
consisting of calls into
various back-end servers
Relational
• Sequence of individual operations
that apply changes to a SINGLE
database, to be applied only if all
of them produce no errors
10. Time-Limited Transactions
Unstable
Connections
Battery-
based devices
Incomplete Transactions
Solved by Time Limitation
‘Timeout’
concept
‘Timeout’
concept
Applied to
Transactions
Applied to
Transactions
Maximum
Running
Time
Maximum
Running
Time
The latest at transaction execution request
(MethodInvokeAllow)
The latest at transaction execution request
(MethodInvokeAllow)
12. Each Solution is composed
by a set of Methods
SolutionSolution
MethodMethod
MethodMethod
MethodMethod
MethodMethod
MethodMethod
......
BackendBackend
Callback
Callback
Callback
Callback
Callback
Callback
Callback
Callback
BackendBackend
Transaction #1Transaction #1
Transaction #4Transaction #4
Transaction #6Transaction #6
Transaction #7Transaction #7
Transaction #...Transaction #...
Transaction #2Transaction #2
Transaction #3Transaction #3
Transaction #5Transaction #5
• Transactions are instances of running methods
• Need to be specified by developers beforehand
• Each individual method can call into various back-end servers
Defining Transaction
13. Traditional Transactions
Begin Transaction
If IsError(Operation1)
Then Rollback : Exit
If IsError(Operation2)
Then Rollback : Exit
…
If IsError(Operationn)
Then Rollback : Exit
Commit Transaction
Allow Transaction MaxRunTime
Operation1
Operation2
…
Operationn
Commit Transaction
Time-Limited Transactions
Server rollbacks automatically upon expiration
Unless Commit received in less than MaxRunTime
Simplified Contract & Coding
14. VersaCloud'sBoundary
Transaction Execution
Backend ServerBackend Server
Up to 14
parameters
Front-end connector
API CallAPI Call
111
VersaCloud’s Transaction EngineVersaCloud’s Transaction Engine
User App/DeviceUser App/Device
Subset of API parameters
222
Front-end Boundary
Back-end Boundary
WebServiceWebService
Stored ProcedureStored Procedure
JSON
Other Protocols
SameSubset of API parameters
One Return Value
Backend ConnectorBackend Connector
One Return Value
One Return Value
Can be
333444
555
666
15. Transaction Parameters
For more details see: https://www.mbi.com.br/mbi/english/versacloud/type-index/
Strongly-typedStrongly-typed
ERRORERROR
detected
refused
reported
Back-end servers
totally shielded
from errors
16. Global Recalling Limitations
By limiting its
availability to
cloud
applications
Manage Backend Server CapacityManage Backend Server Capacity
17. User Recalling Limitations
By specifying a minimum
interval between
consecutive calls
Limit Consecutive User RequestsLimit Consecutive User Requests
18. Semantic Recalling Limitation
Additional transaction(s) with
same key values gets refused
until previous one completes or times out
Additional transaction(s) with
same key values gets refused
until previous one completes or times out
Set of 'key parameters' called
'Reentrancy Lock Key'
Set of 'key parameters' called
'Reentrancy Lock Key'
FromFrom ToTo AmountAmount
TransactionTransaction
A B 500
TransactionTransaction
F G 200
TransactionTransaction
C Z 350
TransactionTransaction
D A 1200
Active Transactions Queue
partial representation
A B 600
Additional TransactionAdditional Transaction
19. Reliable Transactions
Stadium
App
MethodInvokeAllow
Normal Callback #1
Normal Callback #2
time
Callback #3 Error!
Transaction enters RollBack state
Rollback Callback #2
Rollback Callback #1
Optional Rollback Callbacks
notify back-end servers about cancelled transactions
Optional Rollback Callbacks
notify back-end servers about cancelled transactions
22. Monetizable Transactions
• User accounts have an associated credit balance
• Can be charged to run specific transactions
• Transactions will not be 'Allow'-ed if not enough balance available
• Transaction costs automatically returned to user account in case of
rollbacked transactions
• Users can obtain credits through:
• On-line purchase
• Managed user groups they are part of
Balance
3,799
Reload
Very Small
Charges
per transaction
Very Small
Charges
per transaction
Overcoming costs
of current
payment systems
23. Developer Friendly Environment
Strong Type System
Strict ChecksStrict Checks
API
Parameters
API
Parameters Return
Values
Return
Values
Frontend BackendBackend&
Detailed Feedback to ERRORSDetailed Feedback to ERRORS
Almost 1.000 detailed error
messages
Extensible by your Solutions
Currently available in English,
Spanish and Brazilian Portuguese
Extensible into as many
languages as required
Both for native and your APIs
Multilingual DocumentationMultilingual Documentation
24. VersaCloud API Overview
UsersUsers SolutionsSolutions
MethodsMethods
ErrorCodesErrorCodes
ParametersParameters
MethodRightsMethodRightsUserRightsUserRights
Call LogCall Log
UpgradesUpgrades
GroupsGroups
PropertiesProperties
CallbacksCallbacks
RightsRights
SolutionTokensSolutionTokens
M
embersof
Own
Members of
Require
Define
Customize
Need
to
have
Secured by
Every CallEvery Call
Members of
Receive
Invoke
Return
Receive
25. Explore the right balance!
Innovate – or leave the game Better usage of existing resources
26. Join us NOW!
Complete documentation,
tutorials and case studies
available at
www.versacloud.technology
Get in touch!
mailto:mac@matza.group
whatsapp: +55 11 98281-2442
mailto:rocmayer@mbi.com.br
whatsapp: +55 11 99216 9776
callto:+55 11 3230 6850