SlideShare a Scribd company logo
CenitHub
Chapter 4
Flows, Connections & Webhooks
Flows
A flow defines how data is processed by the execution of one or more
actions.
Data processing involve:
₋ An execution trigger to start the data processing.
₋ Data types.
₋ Translators.
₋ Connections & Webhooks, if the data is coming in to Cenit or going out of Cenit.
Flow: execution triggers
Flows processing can be manually
invoked or through the occurrence
of events.
Events are of two types:
- Observers: listen for properties
changes on records.
- Schedulers: they occurs
periodically.
Flow: execution triggers
Flows processing can be manually
invoked or through the occurrence
of events.
Events are of two types:
- Observers: listen for properties
changes on records.
- Schedulers: they occurs
periodically.
Flow: execution triggers
Flows processing can be manually
invoked or through the occurrence
of events.
Events are of two types:
- Observers: listen for properties
changes on records.
- Schedulers: they occurs
periodically.
Flow: translator
Every flow have a translator that
performs the main data processing.
Depending on the translator type a
flow can:
- Pull (import) data into Cenit
- Export data outside Cenit
- Update/Convert data inside Cenit
A flow must define a data type
unless its translator defines one.
Flow: translator
Every flow have a translator that
performs the main data processing.
Depending on the translator type a
flow can:
- Pull (import) data into Cenit
- Export data outside Cenit
- Update/Convert data inside Cenit
A flow must define a data type
unless its translator defines one.
Flow: scope
If a flow is not of type import then it
must define a scope for data processing.
The scope can be defined depending on
the flow event, translator data type or
the flow custom data type:
- Event source process only the record
who fire the event
- All records scope process all the
records
- Filter scope process the records
following some criteria.
Flow: scope
If a flow is not of type import then it
must define a scope for data processing.
The scope can be defined depending on
the flow event, translator data type or
the flow custom data type:
- Event source process only the record
who fire the event
- All records scope process all the
records
- Filter scope process the records
following some criteria.
Flow: scope
If a flow is not of type import then it
must define a scope for data processing.
The scope can be defined depending on
the flow event, translator data type or
the flow custom data type:
- Event source process only the record
who fire the event
- All records scope process all the
records
- Filter scope process the records
following some criteria.
Flow: scope
If a flow is not of type import then it
must define a scope for data processing.
The scope can be defined depending on
the flow event, translator data type or
the flow custom data type:
- Event source process only the record
who fire the event
- All records scope process all the
records
- Filter scope process the records
following some criteria.
Flow: update/convert
When the flow translator is of type
update/convert no further configuration
is needed beyond the scope.
The active option prevent the flow
processing even if its event is fired when
it is not checked.
Flow: import/export
When the flow translator is of type:
- Import, then the data will be pulled
into Cenit
- Export, then the data will be send
outside Cenit
In any case an end-point is needed to
pull or send the data.
An end-point is determined by a
connection and a webhook
Connections
A connection consist in an URL and a set of parameters, headers and template
parameters.
The connection URL, parameters and headers can be described by using Liquid
Templates.
The template parameters and its values are available in the Liquid Templates as
local variables so URL and its components can be computed dynamically.
Connection example: Twilio API
The URL to connect with the Twilio API have the following form:
https://api.twilio.com/2010-04-01/Accounts/xxxxx
where xxxxx is the user account SID, and the following headers should be provided:
- Accept-Charset: utf-8
- Accept: application/json
- Authorization: Basic yyyyy
where yyyyy is the base 64 format of the user account SID and the user
Authentication Token
Connection example: Twilio API
https://api.twilio.com/2010-04-01/Accounts/xxxxx
- Accept-Charset: utf-8
- Accept: application/json
- Authorization: Basic yyyyy
The values of xxxxx and yyyyy can be statically typed on the URL and headers but,
they must be updated every time the user credentials change.
Connection example: Twilio API
A better approach is to use template parameters and Liquid Templates:
https://api.twilio.com/2010-04-01/Accounts/{{account_sid}}
- Accept-Charset: utf-8
- Accept: application/json
- Authorization: Basic {% base64 (account_sid + ':' + auth_token) %}
Defining the template parameters account_sid and auth_token Cenit computes
dynamically the connection URL and its headers.
Webhooks example: Twilio API
The Twilio connection is just the base URL for the actions of the Twilio API, and
these way is how occurs almost in every API.
It is possible the same URL to indicate different actions depending on the HTTP
method, for example
https://api.twilio.com/2010-04-01/Accounts/xxxxx/Messages.json
send messages using the POST method but retrieve messages when using GET.
All those actions are defined as Webhooks.
Webhooks example: Twilio API
So a webhook is basically a path that completes the connection URL, and HTTP
method and can define also a set of headers, parameters and template
parameters.
The webhook path of the Twilio API will be:
- Messages.json by GET list the messages.
- Messages.json by POST send a message.
- Messages/{{id}}.json by GET retrieve a message with a SID.
Back to Flow
Since the webhook defines the action
the flow will submit to the end-point
then the webhook is primary over
connection.
It is possible to submit the same action
to several end-points, so the
connections are not specified directly
but through a connection role.
Back to Flow
Since the webhook defines the action
the flow will submit to the end-point
then the webhook is primary over
connection.
It is possible to submit the same action
to several end-points, so the
connections are not specified directly
but through a connection role.
Connection Roles
A connection role is a relation between a set of connections and a set of webhooks
indicating that every webhook in the set can be applied to every connection also in
the set:
www.store1.com/api/v1
www.store2.com/api/2015
www.store3.com/2015
Connection Role
POST order
GET order
PUT order
Back to Flow, again
If the connection role is not defined then
Cenit look for any connection from
which it is possible to reach the
webhook through a connection role.
If the connection role is supplied the
Cenit only look for the associated
connections to the connection role.
Back to Flow, again
If the connection role is not defined then
Cenit look for any connection from
which it is possible to reach the
webhook through a connection role.
If the connection role is supplied then
Cenit only look for the associated
connections to the connection role.
Back to Flow, again
If the connection role is not defined then
Cenit look for any connection from
which it is possible to reach the
webhook through a connection role.
If the connection role is supplied then
Cenit only look for the associated
connections to the connection role.
Export Flows
If the flow translator is of type export it
is possible to process the request
response with a response translator.
Response translators are of type import
and may require a response data type if
they do not define one.
Response translators may create other
records which may fire new event that
trigger other flow processing…
Export Flows
If the flow translator is of type export it
is possible to process the request
response with a response translator.
Response translators are of type import
and may require a response data type if
they do not define one.
Response translators may create other
records which may fire new event that
trigger other flow processing…
Export Flows
If the flow translator is of type export it
is possible to process the request
response with a response translator.
Response translators are of type import
and may require a response data type if
they do not define one.
Response translators may create other
records which may fire other events that
trigger other flow processing…
CenitHub
Chapter 4
Flows, Connections & Webhooks

More Related Content

Similar to CenitHub Presentations | 4- Flows, Connections & Webhooks

MS flow.docx
MS flow.docxMS flow.docx
MS flow.docx
Sharepoint Designs
 
Web Service
Web ServiceWeb Service
Web Service
Ashwani kumar
 
FIWARE CEP GE introduction, ICT 2015
FIWARE CEP GE introduction, ICT 2015FIWARE CEP GE introduction, ICT 2015
FIWARE CEP GE introduction, ICT 2015
ishkin
 
Sap Tech Ed06 Asug Wf
Sap Tech Ed06 Asug WfSap Tech Ed06 Asug Wf
Sap Tech Ed06 Asug Wf
Keith Swenson
 
Api design and development
Api design and developmentApi design and development
Api design and development
oquidave
 
CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Ko...
CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Ko...CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Ko...
CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Ko...
Crossref
 
Web Services 2009
Web Services 2009Web Services 2009
Web Services 2009
Cathie101
 
internet programming and java notes 5th sem mca
internet programming and java notes 5th sem mcainternet programming and java notes 5th sem mca
internet programming and java notes 5th sem mca
Renu Thakur
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web services
Neil Ghosh
 
Server Side Programming
Server Side ProgrammingServer Side Programming
Server Side Programming
Milan Thapa
 
Streaming in Mule
Streaming in MuleStreaming in Mule
Streaming in Mule
Pankaj Goyal
 
Advanced Web Design And Development BIT 3207
Advanced Web Design And Development BIT 3207Advanced Web Design And Development BIT 3207
Advanced Web Design And Development BIT 3207
Lori Head
 
Lecture 1 Introduction to Web Development.pptx
Lecture 1 Introduction to Web Development.pptxLecture 1 Introduction to Web Development.pptx
Lecture 1 Introduction to Web Development.pptx
Kevi20
 
Networked APIs with swift
Networked APIs with swiftNetworked APIs with swift
Networked APIs with swift
Tim Burks
 
CenitHub: Introduction
CenitHub: Introduction CenitHub: Introduction
CenitHub: Introduction
Miguel Sancho
 
SOA web services concepts
SOA web services conceptsSOA web services concepts
SOA web services concepts
XAVIERCONSULTANTS
 
CN UNIT V.pptx
CN UNIT V.pptxCN UNIT V.pptx
CN UNIT V.pptx
VISWANATHAN R V
 
Web technology-guide
Web technology-guideWeb technology-guide
Web technology-guide
Srihari
 
Rest
Rest Rest
Lightning Component - Components, Actions and Events
Lightning Component - Components, Actions and EventsLightning Component - Components, Actions and Events
Lightning Component - Components, Actions and Events
Durgesh Dhoot
 

Similar to CenitHub Presentations | 4- Flows, Connections & Webhooks (20)

MS flow.docx
MS flow.docxMS flow.docx
MS flow.docx
 
Web Service
Web ServiceWeb Service
Web Service
 
FIWARE CEP GE introduction, ICT 2015
FIWARE CEP GE introduction, ICT 2015FIWARE CEP GE introduction, ICT 2015
FIWARE CEP GE introduction, ICT 2015
 
Sap Tech Ed06 Asug Wf
Sap Tech Ed06 Asug WfSap Tech Ed06 Asug Wf
Sap Tech Ed06 Asug Wf
 
Api design and development
Api design and developmentApi design and development
Api design and development
 
CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Ko...
CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Ko...CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Ko...
CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Ko...
 
Web Services 2009
Web Services 2009Web Services 2009
Web Services 2009
 
internet programming and java notes 5th sem mca
internet programming and java notes 5th sem mcainternet programming and java notes 5th sem mca
internet programming and java notes 5th sem mca
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web services
 
Server Side Programming
Server Side ProgrammingServer Side Programming
Server Side Programming
 
Streaming in Mule
Streaming in MuleStreaming in Mule
Streaming in Mule
 
Advanced Web Design And Development BIT 3207
Advanced Web Design And Development BIT 3207Advanced Web Design And Development BIT 3207
Advanced Web Design And Development BIT 3207
 
Lecture 1 Introduction to Web Development.pptx
Lecture 1 Introduction to Web Development.pptxLecture 1 Introduction to Web Development.pptx
Lecture 1 Introduction to Web Development.pptx
 
Networked APIs with swift
Networked APIs with swiftNetworked APIs with swift
Networked APIs with swift
 
CenitHub: Introduction
CenitHub: Introduction CenitHub: Introduction
CenitHub: Introduction
 
SOA web services concepts
SOA web services conceptsSOA web services concepts
SOA web services concepts
 
CN UNIT V.pptx
CN UNIT V.pptxCN UNIT V.pptx
CN UNIT V.pptx
 
Web technology-guide
Web technology-guideWeb technology-guide
Web technology-guide
 
Rest
Rest Rest
Rest
 
Lightning Component - Components, Actions and Events
Lightning Component - Components, Actions and EventsLightning Component - Components, Actions and Events
Lightning Component - Components, Actions and Events
 

More from Miguel Sancho

Cenit IO | Strategy
Cenit IO | StrategyCenit IO | Strategy
Cenit IO | Strategy
Miguel Sancho
 
CenitHub 101
CenitHub 101CenitHub 101
CenitHub 101
Miguel Sancho
 
CenitHub Presentations | 5- Collections & Sharing
CenitHub Presentations | 5- Collections & SharingCenitHub Presentations | 5- Collections & Sharing
CenitHub Presentations | 5- Collections & Sharing
Miguel Sancho
 
CenitHub Presentations | 3- Translator
CenitHub Presentations | 3- TranslatorCenitHub Presentations | 3- Translator
CenitHub Presentations | 3- Translator
Miguel Sancho
 
CenitHub Presentations | 2- Libraries, Schemas & Data Types
CenitHub Presentations | 2- Libraries, Schemas & Data TypesCenitHub Presentations | 2- Libraries, Schemas & Data Types
CenitHub Presentations | 2- Libraries, Schemas & Data Types
Miguel Sancho
 
CenitHub Presentations | 1- Overview
CenitHub Presentations | 1- OverviewCenitHub Presentations | 1- Overview
CenitHub Presentations | 1- Overview
Miguel Sancho
 
SpreeConf OpenJAF presentation
SpreeConf OpenJAF presentationSpreeConf OpenJAF presentation
SpreeConf OpenJAF presentation
Miguel Sancho
 
Spree Travel: Open Travel Marketplace Framework
Spree Travel: Open Travel Marketplace FrameworkSpree Travel: Open Travel Marketplace Framework
Spree Travel: Open Travel Marketplace Framework
Miguel Sancho
 
Geométria computacional: Polígonos y-monótonos
Geométria computacional:   Polígonos y-monótonosGeométria computacional:   Polígonos y-monótonos
Geométria computacional: Polígonos y-monótonos
Miguel Sancho
 
Geometría computacional: Doubly Connected Edge List (DCEL)
Geometría computacional: Doubly Connected Edge List (DCEL)Geometría computacional: Doubly Connected Edge List (DCEL)
Geometría computacional: Doubly Connected Edge List (DCEL)
Miguel Sancho
 
Geometría computacional solapamiento de subdivisiones
Geometría computacional   solapamiento de subdivisionesGeometría computacional   solapamiento de subdivisiones
Geometría computacional solapamiento de subdivisiones
Miguel Sancho
 
Geometría Computacional: Interseccción de segmentos
Geometría Computacional: Interseccción de segmentosGeometría Computacional: Interseccción de segmentos
Geometría Computacional: Interseccción de segmentos
Miguel Sancho
 
Geometría Computacional: Objetos y problemas básicos
Geometría Computacional: Objetos y problemas básicosGeometría Computacional: Objetos y problemas básicos
Geometría Computacional: Objetos y problemas básicos
Miguel Sancho
 
Geometría Computacional: Envoltura Convexa
Geometría Computacional: Envoltura ConvexaGeometría Computacional: Envoltura Convexa
Geometría Computacional: Envoltura Convexa
Miguel Sancho
 
Introducción a Geometría Computacional
Introducción a  Geometría ComputacionalIntroducción a  Geometría Computacional
Introducción a Geometría Computacional
Miguel Sancho
 

More from Miguel Sancho (15)

Cenit IO | Strategy
Cenit IO | StrategyCenit IO | Strategy
Cenit IO | Strategy
 
CenitHub 101
CenitHub 101CenitHub 101
CenitHub 101
 
CenitHub Presentations | 5- Collections & Sharing
CenitHub Presentations | 5- Collections & SharingCenitHub Presentations | 5- Collections & Sharing
CenitHub Presentations | 5- Collections & Sharing
 
CenitHub Presentations | 3- Translator
CenitHub Presentations | 3- TranslatorCenitHub Presentations | 3- Translator
CenitHub Presentations | 3- Translator
 
CenitHub Presentations | 2- Libraries, Schemas & Data Types
CenitHub Presentations | 2- Libraries, Schemas & Data TypesCenitHub Presentations | 2- Libraries, Schemas & Data Types
CenitHub Presentations | 2- Libraries, Schemas & Data Types
 
CenitHub Presentations | 1- Overview
CenitHub Presentations | 1- OverviewCenitHub Presentations | 1- Overview
CenitHub Presentations | 1- Overview
 
SpreeConf OpenJAF presentation
SpreeConf OpenJAF presentationSpreeConf OpenJAF presentation
SpreeConf OpenJAF presentation
 
Spree Travel: Open Travel Marketplace Framework
Spree Travel: Open Travel Marketplace FrameworkSpree Travel: Open Travel Marketplace Framework
Spree Travel: Open Travel Marketplace Framework
 
Geométria computacional: Polígonos y-monótonos
Geométria computacional:   Polígonos y-monótonosGeométria computacional:   Polígonos y-monótonos
Geométria computacional: Polígonos y-monótonos
 
Geometría computacional: Doubly Connected Edge List (DCEL)
Geometría computacional: Doubly Connected Edge List (DCEL)Geometría computacional: Doubly Connected Edge List (DCEL)
Geometría computacional: Doubly Connected Edge List (DCEL)
 
Geometría computacional solapamiento de subdivisiones
Geometría computacional   solapamiento de subdivisionesGeometría computacional   solapamiento de subdivisiones
Geometría computacional solapamiento de subdivisiones
 
Geometría Computacional: Interseccción de segmentos
Geometría Computacional: Interseccción de segmentosGeometría Computacional: Interseccción de segmentos
Geometría Computacional: Interseccción de segmentos
 
Geometría Computacional: Objetos y problemas básicos
Geometría Computacional: Objetos y problemas básicosGeometría Computacional: Objetos y problemas básicos
Geometría Computacional: Objetos y problemas básicos
 
Geometría Computacional: Envoltura Convexa
Geometría Computacional: Envoltura ConvexaGeometría Computacional: Envoltura Convexa
Geometría Computacional: Envoltura Convexa
 
Introducción a Geometría Computacional
Introducción a  Geometría ComputacionalIntroducción a  Geometría Computacional
Introducción a Geometría Computacional
 

Recently uploaded

一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
g4dpvqap0
 
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
v3tuleee
 
Predictably Improve Your B2B Tech Company's Performance by Leveraging Data
Predictably Improve Your B2B Tech Company's Performance by Leveraging DataPredictably Improve Your B2B Tech Company's Performance by Leveraging Data
Predictably Improve Your B2B Tech Company's Performance by Leveraging Data
Kiwi Creative
 
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
nuttdpt
 
STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...
STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...
STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...
sameer shah
 
Natural Language Processing (NLP), RAG and its applications .pptx
Natural Language Processing (NLP), RAG and its applications .pptxNatural Language Processing (NLP), RAG and its applications .pptx
Natural Language Processing (NLP), RAG and its applications .pptx
fkyes25
 
University of New South Wales degree offer diploma Transcript
University of New South Wales degree offer diploma TranscriptUniversity of New South Wales degree offer diploma Transcript
University of New South Wales degree offer diploma Transcript
soxrziqu
 
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
Timothy Spann
 
在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样
在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样
在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样
v7oacc3l
 
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
slg6lamcq
 
The Ipsos - AI - Monitor 2024 Report.pdf
The  Ipsos - AI - Monitor 2024 Report.pdfThe  Ipsos - AI - Monitor 2024 Report.pdf
The Ipsos - AI - Monitor 2024 Report.pdf
Social Samosa
 
一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理
一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理
一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理
bopyb
 
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
Timothy Spann
 
Challenges of Nation Building-1.pptx with more important
Challenges of Nation Building-1.pptx with more importantChallenges of Nation Building-1.pptx with more important
Challenges of Nation Building-1.pptx with more important
Sm321
 
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
ahzuo
 
The Building Blocks of QuestDB, a Time Series Database
The Building Blocks of QuestDB, a Time Series DatabaseThe Building Blocks of QuestDB, a Time Series Database
The Building Blocks of QuestDB, a Time Series Database
javier ramirez
 
End-to-end pipeline agility - Berlin Buzzwords 2024
End-to-end pipeline agility - Berlin Buzzwords 2024End-to-end pipeline agility - Berlin Buzzwords 2024
End-to-end pipeline agility - Berlin Buzzwords 2024
Lars Albertsson
 
Intelligence supported media monitoring in veterinary medicine
Intelligence supported media monitoring in veterinary medicineIntelligence supported media monitoring in veterinary medicine
Intelligence supported media monitoring in veterinary medicine
AndrzejJarynowski
 
一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理
一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理
一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理
zsjl4mimo
 
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
g4dpvqap0
 

Recently uploaded (20)

一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
 
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
 
Predictably Improve Your B2B Tech Company's Performance by Leveraging Data
Predictably Improve Your B2B Tech Company's Performance by Leveraging DataPredictably Improve Your B2B Tech Company's Performance by Leveraging Data
Predictably Improve Your B2B Tech Company's Performance by Leveraging Data
 
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
 
STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...
STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...
STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...
 
Natural Language Processing (NLP), RAG and its applications .pptx
Natural Language Processing (NLP), RAG and its applications .pptxNatural Language Processing (NLP), RAG and its applications .pptx
Natural Language Processing (NLP), RAG and its applications .pptx
 
University of New South Wales degree offer diploma Transcript
University of New South Wales degree offer diploma TranscriptUniversity of New South Wales degree offer diploma Transcript
University of New South Wales degree offer diploma Transcript
 
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
 
在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样
在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样
在线办理(英国UCA毕业证书)创意艺术大学毕业证在读证明一模一样
 
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
 
The Ipsos - AI - Monitor 2024 Report.pdf
The  Ipsos - AI - Monitor 2024 Report.pdfThe  Ipsos - AI - Monitor 2024 Report.pdf
The Ipsos - AI - Monitor 2024 Report.pdf
 
一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理
一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理
一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理
 
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
 
Challenges of Nation Building-1.pptx with more important
Challenges of Nation Building-1.pptx with more importantChallenges of Nation Building-1.pptx with more important
Challenges of Nation Building-1.pptx with more important
 
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
 
The Building Blocks of QuestDB, a Time Series Database
The Building Blocks of QuestDB, a Time Series DatabaseThe Building Blocks of QuestDB, a Time Series Database
The Building Blocks of QuestDB, a Time Series Database
 
End-to-end pipeline agility - Berlin Buzzwords 2024
End-to-end pipeline agility - Berlin Buzzwords 2024End-to-end pipeline agility - Berlin Buzzwords 2024
End-to-end pipeline agility - Berlin Buzzwords 2024
 
Intelligence supported media monitoring in veterinary medicine
Intelligence supported media monitoring in veterinary medicineIntelligence supported media monitoring in veterinary medicine
Intelligence supported media monitoring in veterinary medicine
 
一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理
一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理
一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理
 
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
 

CenitHub Presentations | 4- Flows, Connections & Webhooks

  • 2. Flows A flow defines how data is processed by the execution of one or more actions. Data processing involve: ₋ An execution trigger to start the data processing. ₋ Data types. ₋ Translators. ₋ Connections & Webhooks, if the data is coming in to Cenit or going out of Cenit.
  • 3. Flow: execution triggers Flows processing can be manually invoked or through the occurrence of events. Events are of two types: - Observers: listen for properties changes on records. - Schedulers: they occurs periodically.
  • 4. Flow: execution triggers Flows processing can be manually invoked or through the occurrence of events. Events are of two types: - Observers: listen for properties changes on records. - Schedulers: they occurs periodically.
  • 5. Flow: execution triggers Flows processing can be manually invoked or through the occurrence of events. Events are of two types: - Observers: listen for properties changes on records. - Schedulers: they occurs periodically.
  • 6. Flow: translator Every flow have a translator that performs the main data processing. Depending on the translator type a flow can: - Pull (import) data into Cenit - Export data outside Cenit - Update/Convert data inside Cenit A flow must define a data type unless its translator defines one.
  • 7. Flow: translator Every flow have a translator that performs the main data processing. Depending on the translator type a flow can: - Pull (import) data into Cenit - Export data outside Cenit - Update/Convert data inside Cenit A flow must define a data type unless its translator defines one.
  • 8. Flow: scope If a flow is not of type import then it must define a scope for data processing. The scope can be defined depending on the flow event, translator data type or the flow custom data type: - Event source process only the record who fire the event - All records scope process all the records - Filter scope process the records following some criteria.
  • 9. Flow: scope If a flow is not of type import then it must define a scope for data processing. The scope can be defined depending on the flow event, translator data type or the flow custom data type: - Event source process only the record who fire the event - All records scope process all the records - Filter scope process the records following some criteria.
  • 10. Flow: scope If a flow is not of type import then it must define a scope for data processing. The scope can be defined depending on the flow event, translator data type or the flow custom data type: - Event source process only the record who fire the event - All records scope process all the records - Filter scope process the records following some criteria.
  • 11. Flow: scope If a flow is not of type import then it must define a scope for data processing. The scope can be defined depending on the flow event, translator data type or the flow custom data type: - Event source process only the record who fire the event - All records scope process all the records - Filter scope process the records following some criteria.
  • 12. Flow: update/convert When the flow translator is of type update/convert no further configuration is needed beyond the scope. The active option prevent the flow processing even if its event is fired when it is not checked.
  • 13. Flow: import/export When the flow translator is of type: - Import, then the data will be pulled into Cenit - Export, then the data will be send outside Cenit In any case an end-point is needed to pull or send the data. An end-point is determined by a connection and a webhook
  • 14. Connections A connection consist in an URL and a set of parameters, headers and template parameters. The connection URL, parameters and headers can be described by using Liquid Templates. The template parameters and its values are available in the Liquid Templates as local variables so URL and its components can be computed dynamically.
  • 15. Connection example: Twilio API The URL to connect with the Twilio API have the following form: https://api.twilio.com/2010-04-01/Accounts/xxxxx where xxxxx is the user account SID, and the following headers should be provided: - Accept-Charset: utf-8 - Accept: application/json - Authorization: Basic yyyyy where yyyyy is the base 64 format of the user account SID and the user Authentication Token
  • 16. Connection example: Twilio API https://api.twilio.com/2010-04-01/Accounts/xxxxx - Accept-Charset: utf-8 - Accept: application/json - Authorization: Basic yyyyy The values of xxxxx and yyyyy can be statically typed on the URL and headers but, they must be updated every time the user credentials change.
  • 17. Connection example: Twilio API A better approach is to use template parameters and Liquid Templates: https://api.twilio.com/2010-04-01/Accounts/{{account_sid}} - Accept-Charset: utf-8 - Accept: application/json - Authorization: Basic {% base64 (account_sid + ':' + auth_token) %} Defining the template parameters account_sid and auth_token Cenit computes dynamically the connection URL and its headers.
  • 18. Webhooks example: Twilio API The Twilio connection is just the base URL for the actions of the Twilio API, and these way is how occurs almost in every API. It is possible the same URL to indicate different actions depending on the HTTP method, for example https://api.twilio.com/2010-04-01/Accounts/xxxxx/Messages.json send messages using the POST method but retrieve messages when using GET. All those actions are defined as Webhooks.
  • 19. Webhooks example: Twilio API So a webhook is basically a path that completes the connection URL, and HTTP method and can define also a set of headers, parameters and template parameters. The webhook path of the Twilio API will be: - Messages.json by GET list the messages. - Messages.json by POST send a message. - Messages/{{id}}.json by GET retrieve a message with a SID.
  • 20. Back to Flow Since the webhook defines the action the flow will submit to the end-point then the webhook is primary over connection. It is possible to submit the same action to several end-points, so the connections are not specified directly but through a connection role.
  • 21. Back to Flow Since the webhook defines the action the flow will submit to the end-point then the webhook is primary over connection. It is possible to submit the same action to several end-points, so the connections are not specified directly but through a connection role.
  • 22. Connection Roles A connection role is a relation between a set of connections and a set of webhooks indicating that every webhook in the set can be applied to every connection also in the set: www.store1.com/api/v1 www.store2.com/api/2015 www.store3.com/2015 Connection Role POST order GET order PUT order
  • 23. Back to Flow, again If the connection role is not defined then Cenit look for any connection from which it is possible to reach the webhook through a connection role. If the connection role is supplied the Cenit only look for the associated connections to the connection role.
  • 24. Back to Flow, again If the connection role is not defined then Cenit look for any connection from which it is possible to reach the webhook through a connection role. If the connection role is supplied then Cenit only look for the associated connections to the connection role.
  • 25. Back to Flow, again If the connection role is not defined then Cenit look for any connection from which it is possible to reach the webhook through a connection role. If the connection role is supplied then Cenit only look for the associated connections to the connection role.
  • 26. Export Flows If the flow translator is of type export it is possible to process the request response with a response translator. Response translators are of type import and may require a response data type if they do not define one. Response translators may create other records which may fire new event that trigger other flow processing…
  • 27. Export Flows If the flow translator is of type export it is possible to process the request response with a response translator. Response translators are of type import and may require a response data type if they do not define one. Response translators may create other records which may fire new event that trigger other flow processing…
  • 28. Export Flows If the flow translator is of type export it is possible to process the request response with a response translator. Response translators are of type import and may require a response data type if they do not define one. Response translators may create other records which may fire other events that trigger other flow processing…