Skyrocketing Web APIs

Daniel Cerecedo
Daniel CerecedoPartner at Byteflair | MBA | MIT Fintech Certified en Byteflair
Skyrocketing Web APIs
By making the right decisions
Daniel Cerecedo
@dcerecedo
Why REST over HTTP?Why REST over HTTP?
@dcerecedoByteflair
Why REST over HTTP?Why REST over HTTP?
@dcerecedoByteflair
The limits of my language mean the limits of my
world.
Everybody speaks HTTP
Developer UXDeveloper UX
@dcerecedoByteflair
HTTP is for browsers
Developer UXDeveloper UX
@dcerecedoByteflair
Developer in mind, not browsers
REST over HTTPREST over HTTP
@dcerecedoByteflair
Components
URIs
Verbs
StatusCode
Body
Headers
REST over HTTPREST over HTTP
@dcerecedoByteflair
Separate resource representation from
contextual data
Representation Body→
Contextualdata Headers→
REST over HTTPREST over HTTP
@dcerecedoByteflair
HTTP status code to inform client about the
result
2xx Ok→
Other Ko→
4xx Clienterror→
5xx Servererror→
REST over HTTPREST over HTTP
@dcerecedoByteflair
Use best matching HTTP Status codes
Add specific application error codes to error
responses
@dcerecedoByteflair
REST over HTTPREST over HTTP
Semantic of an API should be In the URI
...but
Everybody thinks Verbs+URIs fit better on HTTP
@dcerecedoByteflair
REST over HTTPREST over HTTP
HypermediaHypermedia
@dcerecedoByteflair
HypermediaHypermedia
@dcerecedoByteflair
Applications can be modeled as state
machines
@dcerecedoByteflair
HypermediaHypermedia
@dcerecedoByteflair
HypermediaHypermedia
@dcerecedoByteflair
HypermediaHypermedia
Model the problem domain
Identifydomainresources
Identifyresourcestatetransitions
@dcerecedoByteflair
HypermediaHypermedia
Domain resources
Vehicles
Users
Sessions
Resource state transitions
Createresources
Assignownertovehicle
Activatesessionwithdriver&vehicle
Deactivatesession
@dcerecedoByteflair
HypermediaHypermedia
Define resource representation formats
Mime Types
Define roles for each Hypermedia Control
Rel Types
@dcerecedoByteflair
HypermediaHypermedia
GET /
Headers
Link:
<https://api.domain.com/vehicles>; rel=”vehicles”:
<https://api.domain.com/users>; rel=”users”:
<https://api.domain.com/sessions>; rel=”sessions”
Body
...
@dcerecedoByteflair
HypermediaHypermedia
GET /vehicles
Headers
Link:
<https://api.domain.com/vehicles?page=1&size=20>;
rel=”next”
Body
[ {...}, {…}, ...] Control links
@dcerecedoByteflair
HypermediaHypermedia
GET /sessions/1374
Body
{ ….
“vehicle”:”https://api.domain.com/vehicles/1”,
“driver”:”https://api.domain.com/users/1”
}
These are also control links.
Use conventions to get full semantics!!
@dcerecedoByteflair
HypermediaHypermedia
GET /vehicles/1
Body
{ ….
“owner”:”https://api.domain.com/users/1”
}
Relation types specify the role of the link
@dcerecedoByteflair
HypermediaHypermedia
GET /sessions/1374
Body
{ ….
“vehicle”:”https://api.domain.com/vehicles/1”,
“driver”:”https://api.domain.com/persons/1”
}
@dcerecedoByteflair
HypermediaHypermedia
Let the client discover its resource access level
Options
@dcerecedoByteflair
HypermediaHypermedia
Conventions
RelTypes,MediaTypes,Methods,StatusCodes
@dcerecedoByteflair
HypermediaHypermedia
Think as if you had to write a client and
minimize the number of things you
have to know about the API beforehand
@dcerecedoByteflair
HypermediaHypermedia
A client and an API do
not get decopupled
magically
Dynamic viewsDynamic views
@dcerecedoByteflair
Dynamic viewsDynamic views
@dcerecedoByteflair
We need different data access needs
for the same resource depending on
the security context
Dynamic viewsDynamic views
@dcerecedoByteflair
AnyUserresourcecanbefullyviewedbyan
administrator
AloggedinusercanfullyviewhisUserresource
Otheruserscanonlyseehispublicdata
Scenario
Dynamic viewsDynamic views
@dcerecedoByteflair
/users/{id}
/owner/users/{id}
/admin/users/{id}
OneURIperrole
Scenario
Dynamic viewsDynamic views
@dcerecedoByteflair
/users/{id}
/owner/users/{id}
/admin/users/{id}
OneURIperrole
Scenario
Dynamic viewsDynamic views
@dcerecedoByteflair
Partitiontheresource
Givedifferentroleaccesstoeachpartition
Scenario
/users/{id}
/users/{id}/my-private-data
/users/{id}/data-about-me-only-the-admin-knows
Dynamic viewsDynamic views
@dcerecedoByteflair
OneURIperresource
Selectoneviewatruntimedependingonthesecurity
context
Scenario
/users/{id}
Dynamic viewsDynamic views
@dcerecedoByteflair
1.Createamechanismtodefineviews
2.Createamechanismtodefineapplicableviewstoa
resource
3.Createamechanismtodefinewhichviewtoapply
Dynamic viewsDynamic views
@dcerecedoByteflair
1
Dynamic viewsDynamic views
@dcerecedoByteflair
1
Dynamic viewsDynamic views
@dcerecedoByteflair
2
Dynamic viewsDynamic views
@dcerecedoByteflair
3
Updates & ConcurrencyUpdates & Concurrency
@dcerecedoByteflair
@dcerecedoByteflair
Twoclientsattempttoupdatethesameresource
concurrently
Representationisthestateoftheapplication
Iwanttoavoidthesecondrequesttoupdatearesource
fromaninconsistentrepresentation
Updates & ConcurrencyUpdates & Concurrency
Scenario
@dcerecedoByteflair
Compareincomingresourceandexistingresource...
Updates & ConcurrencyUpdates & Concurrency
Scenario
@dcerecedoByteflair
Compareincomingresourceandexistingresource...
Ifunequalreject...
Updates & ConcurrencyUpdates & Concurrency
Scenario
@dcerecedoByteflair
Compareincomingresourceandexistingresource...
Ifunequalreject...
Ifpossibleinformtheuserwhichfieldsviolatedthe
precondition
Updates & Concurrency
Scenario
@dcerecedoByteflair
Ifwehavedynamicviews,thenthesameresourcemay
havedifferentfieldsfordifferentsecuritycontexts
Updates & ConcurrencyUpdates & Concurrency
@dcerecedoByteflair
Whatifwedon'twantallfieldstobeupdatable?
Whatifweneedfinegrainedaccesscontroltofields?
Updates & ConcurrencyUpdates & Concurrency
Scenario
@dcerecedoByteflair
1.Weneedamechanismtoassociatesecurity
expresionstofields
2.Weneedamechanismtoevaluatesecurity
expresionsbeforechangingthevalueofafield
Updates & ConcurrencyUpdates & Concurrency
@dcerecedoByteflair
Updates & ConcurrencyUpdates & Concurrency
1
@dcerecedoByteflair
Updates & ConcurrencyUpdates & Concurrency
2
Async RequestsAsync Requests
@dcerecedoByteflair
Async RequestsAsync Requests
@dcerecedoByteflair
Howdowedealwithtransitionsthatareintrinsically
asynchronous?
Async RequestsAsync Requests
@dcerecedoByteflair
Howdoweidentifyintrinsicallyasynctransitions?
Therearestatetransitionsbeyondyourcontrol
Itdoesnotmakesensetoreturnaresourcebecausewe
don'tknowthestateoftheresourceafterinvokingthe
transition
Async RequestsAsync Requests
@dcerecedoByteflair
Trucksareregularlyreviewedandmarkedforrepairing
Scenario
Ok
Needs
Repair
Repaired
Awaiting
Async RequestsAsync Requests
@dcerecedoByteflair
Trucksareregularlyreviewedandmarkedforrepairing
Scenario
Ok
Needs
Repair
Repaired
Within my organizations control
Awaiting
Async RequestsAsync Requests
@dcerecedoByteflair
Trucksareregularlyreviewedandmarkedforrepairing
Scenario
Ok
Needs
Repair
Repaired
Within my organizations control
Awaiting
PUT/trucks/6/repair
202Accepted
Async RequestsAsync Requests
@dcerecedoByteflair
Trucksareregularlyreviewedandmarkedforrepairing
Scenario
Ok
Needs
Repair
Repaired
Within my organizations control
Awaiting
PUT/trucks/6/repair
202Accepted
Async RequestsAsync Requests
@dcerecedoByteflair
Howdowedealwithtaskintensivestatetransitions?
Async RequestsAsync Requests
@dcerecedoByteflair
Howdowedealwithtaskintensivestatetransitions?
Wemakethemasync
@dcerecedoByteflair
Flexibility & DecouplingFlexibility & Decoupling
@dcerecedoByteflair
Flexibility & DecouplingFlexibility & Decoupling
MediationRouter+MessageBroker
@dcerecedoByteflair
Flexibility & DecouplingFlexibility & Decoupling
Mail Template
From
To
Subject
Template name
Amazon
Mailchimp
Elastic Mail
Scenario
@dcerecedoByteflair
Flexibility & DecouplingFlexibility & Decoupling
Scenario
@dcerecedoByteflair
Flexibility & DecouplingFlexibility & Decoupling
Scenario
@dcerecedoByteflair
Speakinginsilver
i18ni18n
@dcerecedoByteflair
Speakinginsilver
i18ni18n
GET /i18n/es_ES
Body
{
“country” : “ES”,
“lang”: “es”,
“data” : { “key”: “localized message”, ….}
}
SinglePageApp
@dcerecedoByteflair
API SpecificationAPI Specification
@dcerecedoByteflair
Byteflair
SwaggerSwagger
APIAPI SpecificationSpecification
Swagger editor:
http://editor.swagger.io/
En local:
https://github.com/Byteflair/docker-swagger-editor
docker pull byteflair/swagger-editor
docker run -d -p <port>:9000 byteflair/swagger-editor
Byteflair
RAMLRAML
APIAPI SpecificationSpecification
API Designer:
http://api-portal.anypoint.mulesoft.com/raml/api-designer
Imagen Docker:
https://github.com/Byteflair/docker-raml-editor
docker pull byteflair/raml-editor
docker run -d -p <port>:9013 byteflair/raml-editor
@dcerecedoByteflair
Oauth 2 CheatsheetOauth 2 Cheatsheet
@dcerecedoByteflair
Oauth 2 CheatsheetOauth 2 Cheatsheet
Client&User
User
Client
Trusted Untrusted
@dcerecedoByteflair
Oauth 2 CheatsheetOauth 2 Cheatsheet
Client&User
User
Client
Resource Owner
Credentials
Trusted UntrustedMy trusted native app
@dcerecedoByteflair
Oauth 2 CheatsheetOauth 2 Cheatsheet
Client&User
User
Client Client Credentials
Resource Owner
Credentials
Trusted Untrusted
A server app or CLI
@dcerecedoByteflair
Oauth 2 CheatsheetOauth 2 Cheatsheet
Client&User
User
Client
Authorization Code
Client Credentials
Resource Owner
Credentials
Trusted Untrusted
Third party apps
@dcerecedoByteflair
Oauth 2 CheatsheetOauth 2 Cheatsheet
Client&User
User
Client
Authorization Code
Implicit
Client Credentials
Resource Owner
Credentials
Trusted Untrusted
My single page app
@dcerecedoByteflair
Packaging & MonetizingPackaging & Monetizing
@dcerecedoByteflair
HowtoofferdifferentproductsontopofthesameAPI?
PackagingPackaging
@dcerecedoByteflair
HowtoofferdifferentproductsontopofthesameAPI?
BUNDLING subsetsoffunctionality
PackagingPackaging
@dcerecedoByteflair
HowtoofferdifferentproductsontopofthesameAPI?
BUNDLING subsetsoffunctionality
THROTTLING request
PackagingPackaging
@dcerecedoByteflair
HowtoofferdifferentproductsontopofthesameAPI?
BUNDLING subsetsoffunctionality
THROTTLING request
PackagingPackaging
Needs a proxy and means of updating policies
@dcerecedoByteflair
MonetizingMonetizing
@dcerecedoByteflair
ToolsTools
ToolsTools
@dcerecedoByteflair
@dcerecedoByteflair
“Weapons should be adapted to
your personal qualities and be
one you can handle” Miyamoto Mushashi
@dcerecedoByteflair
Don'tbecomean
extremist
?Daniel Cerecedo
@dcerecedo
Thanks Gracias
1 de 86

Recomendados

Vaadin with Java EE 7 por
Vaadin with Java EE 7Vaadin with Java EE 7
Vaadin with Java EE 7Peter Lehto
5.6K vistas151 diapositivas
Authentication with zend framework por
Authentication with zend frameworkAuthentication with zend framework
Authentication with zend frameworkGeorge Mihailov
2.9K vistas38 diapositivas
Implementing security routines with zf2 por
Implementing security routines with zf2Implementing security routines with zf2
Implementing security routines with zf2Er Galvão Abbott
1.2K vistas34 diapositivas
JavaEE with Vaadin - Workshop por
JavaEE with Vaadin - WorkshopJavaEE with Vaadin - Workshop
JavaEE with Vaadin - WorkshopPeter Lehto
1.1K vistas69 diapositivas
LASCON 2017: SAML v. OpenID v. Oauth por
LASCON 2017: SAML v. OpenID v. OauthLASCON 2017: SAML v. OpenID v. Oauth
LASCON 2017: SAML v. OpenID v. OauthMike Schwartz
1.8K vistas17 diapositivas
Peeples authentication authorization_services_with_saml_xacml_with_jboss_eap6 por
Peeples authentication authorization_services_with_saml_xacml_with_jboss_eap6Peeples authentication authorization_services_with_saml_xacml_with_jboss_eap6
Peeples authentication authorization_services_with_saml_xacml_with_jboss_eap6Kenneth Peeples
3.5K vistas44 diapositivas

Más contenido relacionado

La actualidad más candente

CIS14: Authorization: It's What's for Dessert por
CIS14: Authorization: It's What's for DessertCIS14: Authorization: It's What's for Dessert
CIS14: Authorization: It's What's for DessertCloudIDSummit
1.1K vistas48 diapositivas
Mit 2014 introduction to open id connect and o-auth 2 por
Mit 2014   introduction to open id connect and o-auth 2Mit 2014   introduction to open id connect and o-auth 2
Mit 2014 introduction to open id connect and o-auth 2Justin Richer
15.2K vistas202 diapositivas
Bh europe-01-grossman por
Bh europe-01-grossmanBh europe-01-grossman
Bh europe-01-grossmananiba2000
475 vistas40 diapositivas
Stateless authentication with OAuth 2 and JWT - JavaZone 2015 por
Stateless authentication with OAuth 2 and JWT - JavaZone 2015Stateless authentication with OAuth 2 and JWT - JavaZone 2015
Stateless authentication with OAuth 2 and JWT - JavaZone 2015Alvaro Sanchez-Mariscal
28.3K vistas81 diapositivas
OpenID Connect Explained por
OpenID Connect ExplainedOpenID Connect Explained
OpenID Connect ExplainedVladimir Dzhuvinov
11.3K vistas31 diapositivas
Vaadin 8 with Spring Framework por
Vaadin 8 with Spring FrameworkVaadin 8 with Spring Framework
Vaadin 8 with Spring FrameworkPeter Lehto
2.9K vistas77 diapositivas

La actualidad más candente(20)

CIS14: Authorization: It's What's for Dessert por CloudIDSummit
CIS14: Authorization: It's What's for DessertCIS14: Authorization: It's What's for Dessert
CIS14: Authorization: It's What's for Dessert
CloudIDSummit1.1K vistas
Mit 2014 introduction to open id connect and o-auth 2 por Justin Richer
Mit 2014   introduction to open id connect and o-auth 2Mit 2014   introduction to open id connect and o-auth 2
Mit 2014 introduction to open id connect and o-auth 2
Justin Richer15.2K vistas
Bh europe-01-grossman por aniba2000
Bh europe-01-grossmanBh europe-01-grossman
Bh europe-01-grossman
aniba2000475 vistas
Stateless authentication with OAuth 2 and JWT - JavaZone 2015 por Alvaro Sanchez-Mariscal
Stateless authentication with OAuth 2 and JWT - JavaZone 2015Stateless authentication with OAuth 2 and JWT - JavaZone 2015
Stateless authentication with OAuth 2 and JWT - JavaZone 2015
Vaadin 8 with Spring Framework por Peter Lehto
Vaadin 8 with Spring FrameworkVaadin 8 with Spring Framework
Vaadin 8 with Spring Framework
Peter Lehto2.9K vistas
Techlunch - Dependency Injection with Vaadin por Peter Lehto
Techlunch - Dependency Injection with VaadinTechlunch - Dependency Injection with Vaadin
Techlunch - Dependency Injection with Vaadin
Peter Lehto1.2K vistas
CIS14: Working with OAuth and OpenID Connect por CloudIDSummit
CIS14: Working with OAuth and OpenID ConnectCIS14: Working with OAuth and OpenID Connect
CIS14: Working with OAuth and OpenID Connect
CloudIDSummit3.2K vistas
CIS14: OAuth and OpenID Connect in Action por CloudIDSummit
CIS14: OAuth and OpenID Connect in ActionCIS14: OAuth and OpenID Connect in Action
CIS14: OAuth and OpenID Connect in Action
CloudIDSummit615 vistas
Configuring kerberos based sso in weblogic por Harihara sarma
Configuring kerberos based sso in weblogicConfiguring kerberos based sso in weblogic
Configuring kerberos based sso in weblogic
Harihara sarma658 vistas
Implementing MITREid - CIS 2014 Presentation por Justin Richer
Implementing MITREid - CIS 2014 PresentationImplementing MITREid - CIS 2014 Presentation
Implementing MITREid - CIS 2014 Presentation
Justin Richer3.3K vistas
Stateless authentication for microservices - Spring I/O 2015 por Alvaro Sanchez-Mariscal
Stateless authentication for microservices  - Spring I/O 2015Stateless authentication for microservices  - Spring I/O 2015
Stateless authentication for microservices - Spring I/O 2015
Securing your APIs with OAuth, OpenID, and OpenID Connect por Manish Pandit
Securing your APIs with OAuth, OpenID, and OpenID ConnectSecuring your APIs with OAuth, OpenID, and OpenID Connect
Securing your APIs with OAuth, OpenID, and OpenID Connect
Manish Pandit4K vistas
Codemash-2017 por Kevin Cody
Codemash-2017Codemash-2017
Codemash-2017
Kevin Cody232 vistas
Introduction to Vaadin por netomi
Introduction to VaadinIntroduction to Vaadin
Introduction to Vaadin
netomi3.7K vistas

Destacado

Revista Percepciones No. 1 por
Revista Percepciones No. 1Revista Percepciones No. 1
Revista Percepciones No. 1tunika_arte
508 vistas20 diapositivas
Classement des web radios - OJD - octobre 2014 por
Classement des web radios - OJD - octobre 2014Classement des web radios - OJD - octobre 2014
Classement des web radios - OJD - octobre 2014Romain Fonnier
785 vistas6 diapositivas
Excursión cerro del potosí por
Excursión cerro del potosíExcursión cerro del potosí
Excursión cerro del potosíAdriàn Rodriguez
1K vistas30 diapositivas
NAK 453_Livsvitenskapbygget por
NAK 453_LivsvitenskapbyggetNAK 453_Livsvitenskapbygget
NAK 453_LivsvitenskapbyggetRita Willassen
310 vistas27 diapositivas
Email virtual world por
Email virtual worldEmail virtual world
Email virtual worldLeinith Palomeque Beltran
187 vistas1 diapositiva
Russland TV & Online Marketing von Berger & Severyuk por
Russland TV & Online Marketing von Berger & SeveryukRussland TV & Online Marketing von Berger & Severyuk
Russland TV & Online Marketing von Berger & SeveryukDenis Severyuk
3.2K vistas69 diapositivas

Destacado(20)

Revista Percepciones No. 1 por tunika_arte
Revista Percepciones No. 1Revista Percepciones No. 1
Revista Percepciones No. 1
tunika_arte508 vistas
Classement des web radios - OJD - octobre 2014 por Romain Fonnier
Classement des web radios - OJD - octobre 2014Classement des web radios - OJD - octobre 2014
Classement des web radios - OJD - octobre 2014
Romain Fonnier785 vistas
NAK 453_Livsvitenskapbygget por Rita Willassen
NAK 453_LivsvitenskapbyggetNAK 453_Livsvitenskapbygget
NAK 453_Livsvitenskapbygget
Rita Willassen310 vistas
Russland TV & Online Marketing von Berger & Severyuk por Denis Severyuk
Russland TV & Online Marketing von Berger & SeveryukRussland TV & Online Marketing von Berger & Severyuk
Russland TV & Online Marketing von Berger & Severyuk
Denis Severyuk3.2K vistas
Crear blog UM - Colegio de Médicos Prov. de Bs. As. por mquirogaf
Crear blog   UM - Colegio de Médicos Prov. de Bs. As.Crear blog   UM - Colegio de Médicos Prov. de Bs. As.
Crear blog UM - Colegio de Médicos Prov. de Bs. As.
mquirogaf477 vistas
Kevin batista manejo y almacenamiento 5 de agosto por kevin Batista
Kevin batista manejo y almacenamiento 5 de agostoKevin batista manejo y almacenamiento 5 de agosto
Kevin batista manejo y almacenamiento 5 de agosto
kevin Batista422 vistas
MINI KITS: HAZ ALGO CONMIGO por Ana Alvarez
MINI KITS: HAZ ALGO CONMIGOMINI KITS: HAZ ALGO CONMIGO
MINI KITS: HAZ ALGO CONMIGO
Ana Alvarez299 vistas
Nuevas tendencias de tanga por celideth
Nuevas tendencias de tangaNuevas tendencias de tanga
Nuevas tendencias de tanga
celideth969 vistas
Ahmed Zaky cv por AHMED ZAKY
Ahmed Zaky cvAhmed Zaky cv
Ahmed Zaky cv
AHMED ZAKY493 vistas
The Death of Content Marketing - 2015 por Insivia
The Death of Content Marketing - 2015The Death of Content Marketing - 2015
The Death of Content Marketing - 2015
Insivia5.4K vistas
Guias de profundizacion iii periodo nohora berrera por cole2013
Guias de profundizacion iii periodo nohora berreraGuias de profundizacion iii periodo nohora berrera
Guias de profundizacion iii periodo nohora berrera
cole20131.2K vistas
Treball final de carrera. pujol, xavi. estudi d'accessibilitat al parc natura... por Xavi-P
Treball final de carrera. pujol, xavi. estudi d'accessibilitat al parc natura...Treball final de carrera. pujol, xavi. estudi d'accessibilitat al parc natura...
Treball final de carrera. pujol, xavi. estudi d'accessibilitat al parc natura...
Xavi-P739 vistas
Eat right. Eat fruit por Explorandom
Eat right. Eat fruitEat right. Eat fruit
Eat right. Eat fruit
Explorandom1.2K vistas

Similar a Skyrocketing Web APIs

Replay Solutions CFD por
Replay Solutions CFDReplay Solutions CFD
Replay Solutions CFDkilroy440
451 vistas34 diapositivas
Benefit of CodeIgniter php framework por
Benefit of CodeIgniter php frameworkBenefit of CodeIgniter php framework
Benefit of CodeIgniter php frameworkBo-Yi Wu
1K vistas37 diapositivas
Bh Win 03 Rileybollefer por
Bh Win 03 RileybolleferBh Win 03 Rileybollefer
Bh Win 03 RileybolleferTimothy Bollefer
853 vistas71 diapositivas
Hacking Client Side Insecurities por
Hacking Client Side InsecuritiesHacking Client Side Insecurities
Hacking Client Side Insecuritiesamiable_indian
2.5K vistas40 diapositivas
HPE Data Protector Administrator's Guide por
HPE Data Protector Administrator's GuideHPE Data Protector Administrator's Guide
HPE Data Protector Administrator's GuideAndrey Karpov
6.2K vistas507 diapositivas
MongoDB.local Atlanta: Introduction to Serverless MongoDB por
MongoDB.local Atlanta: Introduction to Serverless MongoDBMongoDB.local Atlanta: Introduction to Serverless MongoDB
MongoDB.local Atlanta: Introduction to Serverless MongoDBMongoDB
276 vistas33 diapositivas

Similar a Skyrocketing Web APIs(20)

Replay Solutions CFD por kilroy440
Replay Solutions CFDReplay Solutions CFD
Replay Solutions CFD
kilroy440451 vistas
Benefit of CodeIgniter php framework por Bo-Yi Wu
Benefit of CodeIgniter php frameworkBenefit of CodeIgniter php framework
Benefit of CodeIgniter php framework
Bo-Yi Wu1K vistas
Hacking Client Side Insecurities por amiable_indian
Hacking Client Side InsecuritiesHacking Client Side Insecurities
Hacking Client Side Insecurities
amiable_indian2.5K vistas
HPE Data Protector Administrator's Guide por Andrey Karpov
HPE Data Protector Administrator's GuideHPE Data Protector Administrator's Guide
HPE Data Protector Administrator's Guide
Andrey Karpov6.2K vistas
MongoDB.local Atlanta: Introduction to Serverless MongoDB por MongoDB
MongoDB.local Atlanta: Introduction to Serverless MongoDBMongoDB.local Atlanta: Introduction to Serverless MongoDB
MongoDB.local Atlanta: Introduction to Serverless MongoDB
MongoDB276 vistas
Microservices security - jpmc tech fest 2018 por MOnCloud
Microservices security - jpmc tech fest 2018Microservices security - jpmc tech fest 2018
Microservices security - jpmc tech fest 2018
MOnCloud195 vistas
Techdays Helsinki - Creating the distributed apps of the future using dapr - ... por Geert van der Cruijsen
Techdays Helsinki - Creating the distributed apps of the future using dapr - ...Techdays Helsinki - Creating the distributed apps of the future using dapr - ...
Techdays Helsinki - Creating the distributed apps of the future using dapr - ...
Best practices in using Salesforce Metadata API por Sanchit Dua
Best practices in using Salesforce Metadata APIBest practices in using Salesforce Metadata API
Best practices in using Salesforce Metadata API
Sanchit Dua811 vistas
Best practices in using Salesforce Metadata API por Sanchit Dua
Best practices in using Salesforce Metadata APIBest practices in using Salesforce Metadata API
Best practices in using Salesforce Metadata API
Sanchit Dua6.8K vistas
PeopleSoft: HACK THE Planet^W university por Dmitry Iudin
PeopleSoft: HACK THE  Planet^W universityPeopleSoft: HACK THE  Planet^W university
PeopleSoft: HACK THE Planet^W university
Dmitry Iudin350 vistas
SQL Server 2008 Security Overview por ukdpe
SQL Server 2008 Security OverviewSQL Server 2008 Security Overview
SQL Server 2008 Security Overview
ukdpe3.2K vistas
ColdFusion 11 Overview - CFSummit 2013 por Rupesh Kumar
ColdFusion 11 Overview - CFSummit 2013ColdFusion 11 Overview - CFSummit 2013
ColdFusion 11 Overview - CFSummit 2013
Rupesh Kumar484 vistas
AGADOS function & feature Chapter-02 biz logic define por Yongkyoo Park
AGADOS function & feature Chapter-02 biz logic defineAGADOS function & feature Chapter-02 biz logic define
AGADOS function & feature Chapter-02 biz logic define
Yongkyoo Park267 vistas
Sp 29 two_factor_auth_guide por Hai Nguyen
Sp 29 two_factor_auth_guideSp 29 two_factor_auth_guide
Sp 29 two_factor_auth_guide
Hai Nguyen703 vistas
Asp.Net MVC Framework Design Pattern por maddinapudi
Asp.Net MVC Framework Design PatternAsp.Net MVC Framework Design Pattern
Asp.Net MVC Framework Design Pattern
maddinapudi3.1K vistas
Decomposing the Monolith using modern-day .NET and a touch of microservices por Dennis Doomen
Decomposing the Monolith using modern-day .NET and a touch of microservicesDecomposing the Monolith using modern-day .NET and a touch of microservices
Decomposing the Monolith using modern-day .NET and a touch of microservices
Dennis Doomen365 vistas
Developing applications with a microservice architecture (svcc) por Chris Richardson
Developing applications with a microservice architecture (svcc)Developing applications with a microservice architecture (svcc)
Developing applications with a microservice architecture (svcc)
Chris Richardson8.2K vistas
Modelibra Software Family por dzenanr
Modelibra Software FamilyModelibra Software Family
Modelibra Software Family
dzenanr392 vistas

Más de Daniel Cerecedo

From Legacy to the Cloud and Beyond por
From Legacy to the Cloud and BeyondFrom Legacy to the Cloud and Beyond
From Legacy to the Cloud and BeyondDaniel Cerecedo
114 vistas42 diapositivas
Drone Continuous Integration por
Drone Continuous IntegrationDrone Continuous Integration
Drone Continuous IntegrationDaniel Cerecedo
914 vistas59 diapositivas
Introducción a Story Mapping & más por
Introducción a Story Mapping & másIntroducción a Story Mapping & más
Introducción a Story Mapping & másDaniel Cerecedo
736 vistas85 diapositivas
API Centric Patterns por
API Centric PatternsAPI Centric Patterns
API Centric PatternsDaniel Cerecedo
1.2K vistas43 diapositivas
Todo sobre mis APIs por
Todo sobre mis APIsTodo sobre mis APIs
Todo sobre mis APIsDaniel Cerecedo
2.2K vistas84 diapositivas
IT para Product Managers por
IT para Product ManagersIT para Product Managers
IT para Product ManagersDaniel Cerecedo
597 vistas145 diapositivas

Más de Daniel Cerecedo(8)

Último

How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... por
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...ShapeBlue
166 vistas28 diapositivas
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates por
Keynote Talk: Open Source is Not Dead - Charles Schulz - VatesKeynote Talk: Open Source is Not Dead - Charles Schulz - Vates
Keynote Talk: Open Source is Not Dead - Charles Schulz - VatesShapeBlue
252 vistas15 diapositivas
Generative AI: Shifting the AI Landscape por
Generative AI: Shifting the AI LandscapeGenerative AI: Shifting the AI Landscape
Generative AI: Shifting the AI LandscapeDeakin University
53 vistas55 diapositivas
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue por
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueShapeBlue
222 vistas7 diapositivas
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... por
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...ShapeBlue
180 vistas18 diapositivas
DRBD Deep Dive - Philipp Reisner - LINBIT por
DRBD Deep Dive - Philipp Reisner - LINBITDRBD Deep Dive - Philipp Reisner - LINBIT
DRBD Deep Dive - Philipp Reisner - LINBITShapeBlue
180 vistas21 diapositivas

Último(20)

How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... por ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue166 vistas
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates por ShapeBlue
Keynote Talk: Open Source is Not Dead - Charles Schulz - VatesKeynote Talk: Open Source is Not Dead - Charles Schulz - Vates
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates
ShapeBlue252 vistas
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue por ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
ShapeBlue222 vistas
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... por ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue180 vistas
DRBD Deep Dive - Philipp Reisner - LINBIT por ShapeBlue
DRBD Deep Dive - Philipp Reisner - LINBITDRBD Deep Dive - Philipp Reisner - LINBIT
DRBD Deep Dive - Philipp Reisner - LINBIT
ShapeBlue180 vistas
Business Analyst Series 2023 - Week 4 Session 8 por DianaGray10
Business Analyst Series 2023 -  Week 4 Session 8Business Analyst Series 2023 -  Week 4 Session 8
Business Analyst Series 2023 - Week 4 Session 8
DianaGray10123 vistas
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue por ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
ShapeBlue138 vistas
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue por ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
ShapeBlue147 vistas
Future of AR - Facebook Presentation por Rob McCarty
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentation
Rob McCarty64 vistas
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue por ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueMigrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
ShapeBlue218 vistas
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... por James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson160 vistas
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue por ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
ShapeBlue203 vistas
The Power of Heat Decarbonisation Plans in the Built Environment por IES VE
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built Environment
IES VE79 vistas
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading... por The Digital Insurer
Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or... por ShapeBlue
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
ShapeBlue198 vistas
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... por Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker54 vistas
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... por ShapeBlue
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
ShapeBlue173 vistas
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... por TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc170 vistas

Skyrocketing Web APIs