SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
Lesson 6:
Accessing	
  REST	
  and	
  Backend	
  as	
  a	
  
Service	
  (BaaS)	
  Cloud	
  Services	
  
Jim	
  McKeeth	
  
Lead	
  Developer	
  Evangelist	
  –	
  Embarcadero	
  
jim.mckeeth@embarcadero.com	
  
http://delphi.org/	
  
Mobile	
  App	
  Development	
  
▪  Lesson	
  1	
  –	
  Hello	
  World!	
  My	
  First	
  Multi-­‐Device	
  App	
  
▪  Lesson	
  2	
  –	
  Turning	
  up	
  the	
  Style	
  and	
  Data!	
  
▪  Lesson	
  3	
  –	
  Accessing	
  Local	
  Storage	
  and	
  Databases	
  
▪  Lesson	
  4	
  –	
  Building	
  Multi-­‐tier,	
  Multi-­‐device	
  Apps	
  using	
  DataSnap	
  REST/JSON	
  
▪  Lesson	
  5	
  –	
  Connecting	
  Mobile	
  and	
  Desktop	
  using	
  App	
  Tethering	
  
▪  Lesson	
  6	
  –	
  Accessing	
  REST	
  and	
  BaaS	
  Cloud	
  Services	
  
Replay	
  links	
  and	
  lesson	
  slides	
  will	
  appear	
  on	
  David’s	
  blog	
  
http://blogs.embarcadero.com/davidi/	
  
Lesson	
  6	
  Agenda	
  
▪  REST	
  Client	
  Library	
  
▪  REST	
  Debugger	
  
▪  Backend	
  as	
  a	
  Service	
  (BaaS)	
  
▪  Samples	
  and	
  Snippets	
  
▪  Continue	
  development	
  of	
  the	
  mobile	
  business	
  app	
  
▪  Review,	
  Homework	
  and	
  Next	
  Time	
  
▪  Q&A	
  
REST	
  Client	
  Library	
  
▪  Framework	
  for	
  accessing	
  REST-­‐based	
  web	
  services	
  
▪  The	
  framework	
  focuses	
  on	
  JSON	
  as	
  the	
  representation	
  format.	
  XML	
  is	
  not	
  
explicitly	
  supported.	
  
▪  The	
  framework	
  includes	
  components	
  and	
  is	
  built	
  around	
  3	
  main	
  components:	
  
–  The	
  client	
  -­‐	
  TRESTClient	
  
–  The	
  request	
  -­‐	
  TRESTRequest	
  
–  The	
  response	
  –	
  TRESTResponse	
  
▪  Most	
  REST	
  services	
  require	
  authentication.	
  Components	
  are	
  provided	
  for	
  
–  Simple	
  authentication	
  –	
  TSimpleAuthenticator	
  
–  HTTP	
  basic	
  authentication	
  –	
  THTTPBasicAuthenticator	
  
–  OAuth1	
  and	
  OAuth2	
  authentication	
  –	
  TOAuth1Authenticator	
  and	
  TOAuth2Authenticator	
  
REST	
  Client	
  Library	
  Components	
  
▪  TRESTClient	
  -­‐	
  manages	
  the	
  HTTP	
  connection	
  to	
  the	
  service,	
  deals	
  with	
  HTTP	
  
headers	
  and	
  proxy	
  servers,	
  and	
  receives	
  the	
  response	
  data.	
  
▪  TRESTRequest	
  -­‐	
  holds	
  all	
  parameters	
  and	
  settings	
  that	
  form	
  the	
  actual	
  HTTP	
  
request	
  to	
  a	
  Web	
  service.	
  When	
  connected	
  to	
  a	
  client-­‐component,	
  it	
  can	
  be	
  
executed	
  (even	
  at	
  design	
  time).	
  
▪  TRESTResponse	
  -­‐	
  holds	
  all	
  the	
  returned	
  data	
  from	
  a	
  Web	
  service.	
  The	
  returned	
  
data	
  includes	
  the	
  HTTP	
  status	
  code,	
  error	
  messages	
  (if	
  any	
  exist),	
  and	
  the	
  returned	
  
JSON	
  data.	
  
▪  TRESTResponseDataSetAdapter	
  –	
  takes	
  the	
  returned	
  JSON	
  data	
  and	
  converts	
  it	
  
to	
  a	
  form	
  a	
  DataSet	
  can	
  use	
  –	
  for	
  example	
  TDataSet	
  and	
  TFDMemTable.	
  
▪  Authenticator(s)	
  -­‐	
  most	
  services	
  require	
  an	
  authentication	
  before	
  they	
  can	
  be	
  used.	
  
The	
  authenticator	
  components	
  are	
  used	
  to	
  apply	
  the	
  specific	
  authentication	
  
methods	
  that	
  are	
  required	
  by	
  the	
  REST	
  service.	
  An	
  authenticator	
  is	
  attached	
  to	
  the	
  
client	
  and	
  is	
  automatically	
  executed	
  on	
  each	
  executed	
  request.	
  You	
  can	
  create	
  
custom	
  authenticators	
  using	
  the	
  TCustomAuthenticator	
  class.	
  
REST	
  Debugger	
  
▪  Included	
  on	
  the	
  Tools	
  Menu	
  
▪  Use	
  it	
  to	
  making	
  queries	
  to	
  test	
  and	
  
debug	
  REST	
  queries	
  before	
  applying	
  them	
  
to	
  your	
  own	
  REST	
  applications.	
  
▪  The	
  interface	
  has	
  four	
  pages	
  that	
  contain	
  
the	
  main	
  request	
  information,	
  
the	
  resource	
  and	
  the	
  parameters	
  request,	
  
the	
  authentication	
  methods,	
  and	
  the	
  
option	
  to	
  use	
  proxy	
  to	
  connect	
  to	
  the	
  
server.	
  
Cloud	
  Service	
  (BaaS)	
  Integration	
  
▪  Use	
  push	
  notifications	
  to	
  engage	
  your	
  users	
  
▪  Access	
  data	
  and	
  object	
  storage	
  in	
  the	
  cloud	
  
▪  Provide	
  user	
  authentication	
  
▪  Supports	
  popular	
  BaaS	
  providers	
  with	
  a	
  
common	
  API	
  component	
  set	
  
–  Parse	
  
–  Kinvey	
  
–  Additional	
  providers	
  to	
  appear	
  in	
  the	
  future	
  	
  
▪  App42	
  has	
  a	
  provider	
  now	
  
https://github.com/shephertz/App42-­‐AppMethod-­‐API	
  	
  
BaaS	
  =	
  Backend	
  as	
  a	
  Service	
  
▪  Most	
  mobile	
  apps	
  need	
  server	
  storage	
  for	
  data,	
  images,	
  files,	
  etc	
  
–  Build	
  yourself	
  (with	
  DataSnap)	
  
–  Buy	
  a	
  scalable	
  cloud	
  solution	
  (with	
  Cloud	
  or	
  BaaS	
  services)	
  
▪  BaaS	
  =	
  cloud	
  solution	
  with	
  mobile	
  users	
  management	
  
–  Services	
  also	
  provide	
  analytics,	
  push	
  notifications	
  (cross	
  platform	
  and	
  more)	
  
▪  REST	
  BAAS	
  framework	
  offers	
  you	
  a	
  variety	
  of	
  actions:	
  
–  Create,	
  retrieve,	
  update	
  and	
  delete	
  objects	
  
–  Sign	
  up,	
  login,	
  retrieve,	
  update	
  and	
  delete	
  users	
  
–  Upload,	
  download	
  and	
  delete	
  files	
  or	
  streams	
  
–  Query	
  objects	
  and	
  users	
  
–  Send	
  push	
  notifications	
  
–  Register	
  for	
  and	
  receive	
  push	
  notifications	
  on	
  a	
  device	
  
Backend-­‐as-­‐a-­‐Service	
  Client	
  Components	
  
▪  Based	
  on	
  REST	
  Client	
  architecture	
  that	
  
was	
  introduced	
  in	
  XE5	
  
▪  BaaS	
  clients	
  for	
  Kinvey	
  and	
  Parse	
  
–  Native	
  providers	
  to	
  use	
  services	
  directly	
  
–  Providers	
  integration	
  with	
  framework	
  for	
  
common	
  services	
  
–  Framework	
  works	
  with	
  these	
  providers,	
  
open	
  for	
  future	
  extensions	
  
▪  Providers	
  to	
  connect	
  to	
  Parse	
  and	
  Kinvey	
  
service	
  
–  TParseProvider	
  
–  TKinveyProvider	
  
–  TCustomProvider	
  –	
  to	
  implement	
  your	
  own	
  
integration	
  
	
  
▪  Push	
  Notifications	
  
–  TPushEvents	
  –	
  to	
  register	
  your	
  device/app	
  
to	
  receive	
  notifications	
  
–  TBackendPush	
  –	
  allows	
  an	
  app	
  (desktop	
  or	
  
mobile)	
  to	
  push	
  a	
  notification	
  to	
  the	
  
provider	
  service	
  that	
  passes	
  it	
  along	
  to	
  
registered	
  devices	
  
▪  Storage	
  
–  TBackendStorage	
  
–  TBackendQuery	
  
–  TBackendFiles	
  
▪  User	
  Management	
  
–  TBackendUsers	
  
	
  
Backend-­‐as-­‐a-­‐Service	
  Model	
  
▪  Supports	
  abstract	
  features,	
  provider	
  independent	
  
–  Create,	
  retrieve,	
  update	
  and	
  delete	
  (JSON)	
  objects	
  
–  Signup,	
  login,	
  retrieve,	
  update	
  and	
  delete	
  users	
  
–  Upload,	
  download	
  and	
  delete	
  files	
  or	
  streams	
  
–  Query	
  objects	
  and	
  users	
  
–  Send	
  push	
  notifications	
  
–  Register	
  for	
  and	
  receive	
  push	
  notifications	
  on	
  a	
  device	
  
Push	
  Notifications	
  Scenarios	
  
▪  Send	
  reminders	
  to	
  mobile	
  apps	
  even	
  when	
  not	
  active	
  
–  App	
  to	
  app	
  notifications	
  (via	
  push	
  server)	
  
–  Server	
  to	
  app	
  notifications	
  (triggered	
  by	
  server	
  events)	
  
–  Client	
  notifications	
  (for	
  example	
  VCL)	
  to	
  companion	
  app	
  
è
REST	
  and	
  BaaS	
  Samples	
  
▪  REST	
  and	
  BaaS	
  mobile	
  samples	
  
–  REST	
  –	
  SurfSpotFinder	
  
–  BaaS	
  ToDo	
  List	
  
–  C++	
  
▪  C:UsersPublicDocumentsEmbarcaderoStudio14.0SamplesCPPMobile	
  Samples
Cloud	
  
▪  http://sourceforge.net/p/appmethod/code/HEAD/tree/branches/Appmethod_114W/
CPP/Mobile%20Samples/Cloud/	
  
–  Object	
  Pascal	
  
▪  C:UsersPublicDocumentsEmbarcaderoStudio14.0SamplesObject	
  PascalMobile	
  
SamplesCloud	
  
▪  http://sourceforge.net/p/appmethod/code/HEAD/tree/branches/Appmethod_114W/
Object%20Pascal/Mobile%20Samples/Cloud/	
  
▪  Always	
  be	
  sure	
  to	
  update	
  your	
  local	
  samples	
  from	
  Sourceforge!	
  
REST	
  and	
  BaaS	
  Demos	
  
Next	
  Steps	
  for	
  our	
  Business	
  Mobile	
  App	
  
▪  Use	
  the	
  REST	
  Client	
  Library	
  components	
  to	
  use	
  a	
  REST	
  service	
  (parts	
  lookup)	
  
for	
  the	
  Parts	
  table	
  
▪  Use	
  BaaS	
  to	
  push	
  notifications	
  to	
  the	
  Marine	
  Adventures	
  mobile	
  app	
  to	
  tell	
  
employees	
  that	
  an	
  order	
  has	
  shipped,	
  part	
  is	
  backordered	
  and	
  inventory	
  is	
  
getting	
  low.	
  
Lesson	
  6	
  Review	
  
▪  Quickly	
  use	
  REST	
  Services	
  using	
  REST/JSON	
  and	
  the	
  REST	
  client	
  library	
  
components	
  
▪  Extend	
  your	
  mobile	
  and	
  desktop	
  applications	
  into	
  the	
  Cloud	
  using	
  Backend	
  as	
  a	
  
Service	
  
Resources	
  (1	
  of	
  4)	
  
▪  REST	
  Client	
  Library	
  -­‐	
  Docwiki	
  
–  http://docwiki.appmethod.com/appmethod/1.14/topics/en/REST_Client_Library	
  
–  http://docwiki.embarcadero.com/RADStudio/XE6/en/REST_Debugger	
  
–  http://docwiki.embarcadero.com/RADStudio/XE6/en/Using_the_REST_Debugger	
  
–  http://docwiki.appmethod.com/appmethod/1.14/codeexamples/en/RESTDemo_Sample	
  
▪  Tutorial	
  
–  http://docwiki.appmethod.com/appmethod/1.14/topics/en/
Tutorial:_Using_the_REST_Client_Library_to_Access_REST-­‐based_Web_Services	
  
	
  
Note:	
  http://docwiki.appmethod.com/appmethod/1.14/topics/en/...	
  =	
  http://docwiki.embarcadero.com/RADStudio/XE6/en/...	
  
Resources	
  (2	
  of	
  4)	
  
▪  BaaS	
  –	
  DocWiki	
  
–  http://docwiki.appmethod.com/appmethod/1.14/libraries/en/REST.Backend	
  
–  http://docwiki.appmethod.com/appmethod/1.14/libraries/en/
REST.Backend.ServiceComponents	
  
–  http://docwiki.appmethod.com/appmethod/1.14/topics/en/Creating_the_Application	
  
▪  Tutorials	
  
–  http://docwiki.appmethod.com/appmethod/1.14/topics/en/
Mobile_Tutorial:_Using_Remote_Notifications_(iOS_and_Android)	
  
Note:	
  http://docwiki.appmethod.com/appmethod/1.14/topics/en/...	
  =	
  http://docwiki.embarcadero.com/RADStudio/XE6/en/...	
  
Resources	
  (3	
  of	
  4)	
  
▪  Videos	
  on	
  Demand	
  
–  David	
  I	
  “BaaS	
  webinar”	
  replay	
  
▪  http://www.embarcadero.com/landing-­‐pages/rad-­‐in-­‐action-­‐baas	
  
–  Sarina	
  Dupont	
  “Managing	
  User	
  Accounts	
  and	
  Storage	
  with	
  BaaS”	
  skill	
  sprint	
  replay	
  
▪  https://www.youtube.com/watch?v=Ct13YWSRP04	
  
–  David	
  I	
  “BackendPush	
  skill	
  sprint”	
  replay	
  
▪  https://www.youtube.com/watch?v=N2_KA3LEWYw	
  
–  Jim	
  McKeeth	
  “Integrate	
  Cloud	
  Services	
  with	
  the	
  REST/JSON	
  Client	
  skill	
  sprint”	
  replay	
  
▪  https://www.youtube.com/watch?v=sp-­‐EDTKy2BU	
  
–  Stephen	
  Ball	
  on	
  Object	
  Persistence	
  
▪  http://blogs.embarcadero.com/stephenball/2014/04/23/remote-­‐object-­‐persistence-­‐with-­‐parse-­‐and-­‐kinvey/	
  	
  
▪  http://blogs.embarcadero.com/stephenball/2014/06/05/apptethering-­‐leaderboard-­‐passing-­‐objects-­‐remotely-­‐
and-­‐using-­‐resources/	
  	
  
Resources	
  (4	
  of	
  4)	
  
▪  Sites	
  
–  Oauth	
  Community	
  Site	
  -­‐	
  http://oauth.net/	
  
–  Parse.com	
  -­‐	
  https://parse.com/	
  
–  Kinvey.com	
  -­‐	
  http://www.kinvey.com/	
  	
  
▪  Blogs	
  
–  http://blogs.embarcadero.com/	
  
–  David	
  I	
  blog	
  –	
  “Finding	
  your	
  Tethered	
  Apps”	
  	
  
▪  http://blogs.embarcadero.com/davidi/2014/04/28/43708	
  
–  Sarina	
  Dupont	
  blog	
  –	
  Series	
  of	
  10	
  BaaS	
  tutorials	
  
▪  http://blogs.embarcadero.com/sarinadupont/2014/06/09/baas-­‐tutorials-­‐to-­‐help-­‐you-­‐get-­‐started-­‐quickly/	
  
▪  Or	
  http://embt.co/baastutorials	
  	
  
–  Stephen	
  Ball	
  on	
  Object	
  Persistence	
  
▪  http://blogs.embarcadero.com/stephenball/2014/04/23/remote-­‐object-­‐persistence-­‐with-­‐parse-­‐and-­‐kinvey/	
  	
  
▪  http://blogs.embarcadero.com/stephenball/2014/06/05/apptethering-­‐leaderboard-­‐passing-­‐objects-­‐remotely-­‐
and-­‐using-­‐resources/	
  	
  
Homework	
  &	
  More	
  to	
  Explore	
  
▪  Read	
  the	
  DocWiki	
  articles	
  and	
  blog	
  posts	
  for	
  REST	
  Client	
  Library	
  and	
  BaaS	
  
▪  Watch	
  the	
  videos	
  
▪  Go	
  through	
  the	
  Mobile	
  Snippets	
  and	
  Samples	
  for	
  additional	
  demos	
  
▪  Try	
  some	
  of	
  the	
  Mobile	
  Tutorials	
  
–  Download	
  the	
  PDF	
  ebook	
  at	
  
http://docs.embarcadero.com/products/rad_studio/radstudioXE6/
Mobile_Tutorials_en.pdf	
  
–  The	
  individual	
  mobile	
  tutorials	
  are	
  listed	
  at	
  
http://docwiki.appmethod.com/appmethod/1.14/topics/en/
Mobile_Tutorials:_Mobile_Application_Development_(iOS_and_Android)	
  
▪  Enhance	
  the	
  Marine	
  Adventure	
  mobile	
  app	
  
Note:	
  http://docwiki.appmethod.com/appmethod/1.14/topics/en/...	
  =	
  http://docwiki.embarcadero.com/RADStudio/XE6/en/...	
  
Q&A	
  
Thank	
  You	
  J	
  
jim.mckeeth@embarcadero.com	
  
http://delphi.org/	
  

Más contenido relacionado

La actualidad más candente

Alfresco As SharePoint Alternative - Architecture Overview
Alfresco As SharePoint Alternative - Architecture OverviewAlfresco As SharePoint Alternative - Architecture Overview
Alfresco As SharePoint Alternative - Architecture OverviewAlfresco Software
 
2009 - Microsoft IIS Vs. Apache - Who Serves More - A Study
2009 - Microsoft IIS Vs. Apache - Who Serves More - A Study2009 - Microsoft IIS Vs. Apache - Who Serves More - A Study
2009 - Microsoft IIS Vs. Apache - Who Serves More - A StudyVijay Prasad Gupta
 
LinkedIn - A highly scalable Architecture on Java!
LinkedIn - A highly scalable Architecture on Java!LinkedIn - A highly scalable Architecture on Java!
LinkedIn - A highly scalable Architecture on Java!manivannan57
 
Useful Rails Plugins
Useful Rails PluginsUseful Rails Plugins
Useful Rails Pluginsnavjeet
 
Application server
Application serverApplication server
Application servernava rathna
 
Creating Flexible Data Services For Enterprise Soa With Wso2 Data Services
Creating Flexible Data Services For Enterprise Soa With Wso2 Data ServicesCreating Flexible Data Services For Enterprise Soa With Wso2 Data Services
Creating Flexible Data Services For Enterprise Soa With Wso2 Data Servicessumedha.r
 
Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1...
 Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1... Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1...
Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1...WebStackAcademy
 
Developing a provider hosted share point app
Developing a provider hosted share point appDeveloping a provider hosted share point app
Developing a provider hosted share point appTalbott Crowell
 
Web Server Hardware and Software
Web Server Hardware and SoftwareWeb Server Hardware and Software
Web Server Hardware and Softwarewebhostingguy
 
Web Server And Database Server
Web Server And Database ServerWeb Server And Database Server
Web Server And Database ServerMahbubur Rahman
 
APACHE WEB SERVER FOR LINUX
APACHE WEB SERVER FOR LINUXAPACHE WEB SERVER FOR LINUX
APACHE WEB SERVER FOR LINUXwebhostingguy
 
Web Server-Side Programming Techniques
Web Server-Side Programming TechniquesWeb Server-Side Programming Techniques
Web Server-Side Programming Techniquesguest8899ec02
 
The World Needs an Alternative to SharePoint
The World Needs an Alternative to SharePointThe World Needs an Alternative to SharePoint
The World Needs an Alternative to SharePointAlfresco Software
 
Web Server - Internet Applications
Web Server - Internet ApplicationsWeb Server - Internet Applications
Web Server - Internet Applicationssandra sukarieh
 
Silverlight Development & The Model-View-ViewModel Pattern
Silverlight Development & The Model-View-ViewModel PatternSilverlight Development & The Model-View-ViewModel Pattern
Silverlight Development & The Model-View-ViewModel PatternDerek Novavi
 

La actualidad más candente (20)

Web Servers (ppt)
Web Servers (ppt)Web Servers (ppt)
Web Servers (ppt)
 
Alfresco As SharePoint Alternative - Architecture Overview
Alfresco As SharePoint Alternative - Architecture OverviewAlfresco As SharePoint Alternative - Architecture Overview
Alfresco As SharePoint Alternative - Architecture Overview
 
gofortution
gofortutiongofortution
gofortution
 
2009 - Microsoft IIS Vs. Apache - Who Serves More - A Study
2009 - Microsoft IIS Vs. Apache - Who Serves More - A Study2009 - Microsoft IIS Vs. Apache - Who Serves More - A Study
2009 - Microsoft IIS Vs. Apache - Who Serves More - A Study
 
LinkedIn - A highly scalable Architecture on Java!
LinkedIn - A highly scalable Architecture on Java!LinkedIn - A highly scalable Architecture on Java!
LinkedIn - A highly scalable Architecture on Java!
 
Useful Rails Plugins
Useful Rails PluginsUseful Rails Plugins
Useful Rails Plugins
 
Application server
Application serverApplication server
Application server
 
Creating Flexible Data Services For Enterprise Soa With Wso2 Data Services
Creating Flexible Data Services For Enterprise Soa With Wso2 Data ServicesCreating Flexible Data Services For Enterprise Soa With Wso2 Data Services
Creating Flexible Data Services For Enterprise Soa With Wso2 Data Services
 
Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1...
 Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1... Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1...
Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1...
 
SharePoint Topology
SharePoint Topology SharePoint Topology
SharePoint Topology
 
Developing a provider hosted share point app
Developing a provider hosted share point appDeveloping a provider hosted share point app
Developing a provider hosted share point app
 
Web Server Hardware and Software
Web Server Hardware and SoftwareWeb Server Hardware and Software
Web Server Hardware and Software
 
Web Server And Database Server
Web Server And Database ServerWeb Server And Database Server
Web Server And Database Server
 
Benefits of Hypermedia API
Benefits of Hypermedia APIBenefits of Hypermedia API
Benefits of Hypermedia API
 
Alfresco Architecture
Alfresco ArchitectureAlfresco Architecture
Alfresco Architecture
 
APACHE WEB SERVER FOR LINUX
APACHE WEB SERVER FOR LINUXAPACHE WEB SERVER FOR LINUX
APACHE WEB SERVER FOR LINUX
 
Web Server-Side Programming Techniques
Web Server-Side Programming TechniquesWeb Server-Side Programming Techniques
Web Server-Side Programming Techniques
 
The World Needs an Alternative to SharePoint
The World Needs an Alternative to SharePointThe World Needs an Alternative to SharePoint
The World Needs an Alternative to SharePoint
 
Web Server - Internet Applications
Web Server - Internet ApplicationsWeb Server - Internet Applications
Web Server - Internet Applications
 
Silverlight Development & The Model-View-ViewModel Pattern
Silverlight Development & The Model-View-ViewModel PatternSilverlight Development & The Model-View-ViewModel Pattern
Silverlight Development & The Model-View-ViewModel Pattern
 

Destacado

RETAIN FOR BLACKBERRY AUDIT AND ARCHIVING SERVICE (BAAS)
RETAIN FOR BLACKBERRY AUDIT AND ARCHIVING SERVICE (BAAS)RETAIN FOR BLACKBERRY AUDIT AND ARCHIVING SERVICE (BAAS)
RETAIN FOR BLACKBERRY AUDIT AND ARCHIVING SERVICE (BAAS)GWAVA
 
Backend as a Service Comparison
Backend as a Service ComparisonBackend as a Service Comparison
Backend as a Service ComparisonSerhiy Snizhny
 
BaaS Comparison - iOS.mn
BaaS Comparison - iOS.mnBaaS Comparison - iOS.mn
BaaS Comparison - iOS.mnpyro2927
 
mobile Backend-as-a-Service (Baas) explained infographic
mobile Backend-as-a-Service (Baas) explained infographicmobile Backend-as-a-Service (Baas) explained infographic
mobile Backend-as-a-Service (Baas) explained infographicHyker Security
 
Deep Dive: Strategic Importance of BaaS
Deep Dive: Strategic Importance of BaaSDeep Dive: Strategic Importance of BaaS
Deep Dive: Strategic Importance of BaaSApigee | Google Cloud
 
MBaaS (Mobile Backend As a Service)
MBaaS (Mobile Backend As a Service)MBaaS (Mobile Backend As a Service)
MBaaS (Mobile Backend As a Service)Imam Raza
 
Edge API BaaS Deep-Dive: Streamline app development
Edge API BaaS Deep-Dive: Streamline app developmentEdge API BaaS Deep-Dive: Streamline app development
Edge API BaaS Deep-Dive: Streamline app developmentApigee | Google Cloud
 
Backend as a Service - Mobile's new Middleware
Backend as a Service - Mobile's new MiddlewareBackend as a Service - Mobile's new Middleware
Backend as a Service - Mobile's new MiddlewareRahul Krishnan P
 
Mobile Backend as a Service via Cloud Foundry
Mobile Backend as a Service via Cloud FoundryMobile Backend as a Service via Cloud Foundry
Mobile Backend as a Service via Cloud Foundry天青 王
 
Klein mannetje heeft geen huis
Klein mannetje heeft geen huisKlein mannetje heeft geen huis
Klein mannetje heeft geen huisgroep12pius10
 
Embarcadero's Connected Development
Embarcadero's Connected DevelopmentEmbarcadero's Connected Development
Embarcadero's Connected DevelopmentJim McKeeth
 
Материалы выступления В. Демина
Материалы выступления В. Демина Материалы выступления В. Демина
Материалы выступления В. Демина AcademiaSpb
 
Παρουσίαση Μεταπτυχιακής Εργασίας BPR
Παρουσίαση Μεταπτυχιακής Εργασίας BPR Παρουσίαση Μεταπτυχιακής Εργασίας BPR
Παρουσίαση Μεταπτυχιακής Εργασίας BPR Spyros Gkanatsios
 
Web conferencing
Web conferencingWeb conferencing
Web conferencingmazyooonah
 

Destacado (20)

RETAIN FOR BLACKBERRY AUDIT AND ARCHIVING SERVICE (BAAS)
RETAIN FOR BLACKBERRY AUDIT AND ARCHIVING SERVICE (BAAS)RETAIN FOR BLACKBERRY AUDIT AND ARCHIVING SERVICE (BAAS)
RETAIN FOR BLACKBERRY AUDIT AND ARCHIVING SERVICE (BAAS)
 
Backend as a Service Comparison
Backend as a Service ComparisonBackend as a Service Comparison
Backend as a Service Comparison
 
BaaS Comparison - iOS.mn
BaaS Comparison - iOS.mnBaaS Comparison - iOS.mn
BaaS Comparison - iOS.mn
 
The Rise of BaaS
The Rise of BaaSThe Rise of BaaS
The Rise of BaaS
 
mobile Backend-as-a-Service (Baas) explained infographic
mobile Backend-as-a-Service (Baas) explained infographicmobile Backend-as-a-Service (Baas) explained infographic
mobile Backend-as-a-Service (Baas) explained infographic
 
Deep Dive: Strategic Importance of BaaS
Deep Dive: Strategic Importance of BaaSDeep Dive: Strategic Importance of BaaS
Deep Dive: Strategic Importance of BaaS
 
MBaaS (Mobile Backend As a Service)
MBaaS (Mobile Backend As a Service)MBaaS (Mobile Backend As a Service)
MBaaS (Mobile Backend As a Service)
 
Edge API BaaS Deep-Dive: Streamline app development
Edge API BaaS Deep-Dive: Streamline app developmentEdge API BaaS Deep-Dive: Streamline app development
Edge API BaaS Deep-Dive: Streamline app development
 
Mobile Backend as a Service(MBaaS)
Mobile Backend as a Service(MBaaS)Mobile Backend as a Service(MBaaS)
Mobile Backend as a Service(MBaaS)
 
Backend as a Service - Mobile's new Middleware
Backend as a Service - Mobile's new MiddlewareBackend as a Service - Mobile's new Middleware
Backend as a Service - Mobile's new Middleware
 
Mobile Backend as a Service via Cloud Foundry
Mobile Backend as a Service via Cloud FoundryMobile Backend as a Service via Cloud Foundry
Mobile Backend as a Service via Cloud Foundry
 
concrete5.7のご紹介
concrete5.7のご紹介concrete5.7のご紹介
concrete5.7のご紹介
 
Presentacion tic 2
Presentacion tic 2Presentacion tic 2
Presentacion tic 2
 
Klein mannetje heeft geen huis
Klein mannetje heeft geen huisKlein mannetje heeft geen huis
Klein mannetje heeft geen huis
 
Quality limited
Quality limitedQuality limited
Quality limited
 
Embarcadero's Connected Development
Embarcadero's Connected DevelopmentEmbarcadero's Connected Development
Embarcadero's Connected Development
 
Материалы выступления В. Демина
Материалы выступления В. Демина Материалы выступления В. Демина
Материалы выступления В. Демина
 
Uu no 59_1958
Uu no 59_1958Uu no 59_1958
Uu no 59_1958
 
Παρουσίαση Μεταπτυχιακής Εργασίας BPR
Παρουσίαση Μεταπτυχιακής Εργασίας BPR Παρουσίαση Μεταπτυχιακής Εργασίας BPR
Παρουσίαση Μεταπτυχιακής Εργασίας BPR
 
Web conferencing
Web conferencingWeb conferencing
Web conferencing
 

Similar a Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summer School - 2014 - Lesson 6

Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overviewcornelia davis
 
Stefaan Ponnet, Fusebox
Stefaan Ponnet, FuseboxStefaan Ponnet, Fusebox
Stefaan Ponnet, Fuseboxnascomgenk
 
Building a SaaS using WSO2 Stratos
Building a SaaS using WSO2 StratosBuilding a SaaS using WSO2 Stratos
Building a SaaS using WSO2 StratosWSO2
 
The future of web development write once, run everywhere with angular js an...
The future of web development   write once, run everywhere with angular js an...The future of web development   write once, run everywhere with angular js an...
The future of web development write once, run everywhere with angular js an...Mark Leusink
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...Mark Roden
 
Monitoring Application Attack Surface and Integrating Security into DevOps Pi...
Monitoring Application Attack Surface and Integrating Security into DevOps Pi...Monitoring Application Attack Surface and Integrating Security into DevOps Pi...
Monitoring Application Attack Surface and Integrating Security into DevOps Pi...Denim Group
 
RAHUL_Updated( (2)
RAHUL_Updated( (2)RAHUL_Updated( (2)
RAHUL_Updated( (2)Rahul Singh
 
Opal: Simple Web Services Wrappers for Scientific Applications
Opal: Simple Web Services Wrappers for Scientific ApplicationsOpal: Simple Web Services Wrappers for Scientific Applications
Opal: Simple Web Services Wrappers for Scientific ApplicationsSriram Krishnan
 
Hands-On Lab: Improve large network visibility and operational efficiency wit...
Hands-On Lab: Improve large network visibility and operational efficiency wit...Hands-On Lab: Improve large network visibility and operational efficiency wit...
Hands-On Lab: Improve large network visibility and operational efficiency wit...CA Technologies
 
MongoDB.local Berlin: App development in a Serverless World
MongoDB.local Berlin: App development in a Serverless WorldMongoDB.local Berlin: App development in a Serverless World
MongoDB.local Berlin: App development in a Serverless WorldMongoDB
 
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...Amazon Web Services
 
Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...
Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...
Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...Lucas Jellema
 
Azure Web App services
Azure Web App servicesAzure Web App services
Azure Web App servicesAlexey Bokov
 
Enabling .NET Apps with Monitoring and Management Using Steeltoe
Enabling .NET Apps with Monitoring and Management Using SteeltoeEnabling .NET Apps with Monitoring and Management Using Steeltoe
Enabling .NET Apps with Monitoring and Management Using SteeltoeVMware Tanzu
 
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App EngineJava Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App EngineIMC Institute
 
Meteor Meet-up San Diego December 2014
Meteor Meet-up San Diego December 2014Meteor Meet-up San Diego December 2014
Meteor Meet-up San Diego December 2014Lou Sacco
 

Similar a Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summer School - 2014 - Lesson 6 (20)

Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overview
 
Stefaan Ponnet, Fusebox
Stefaan Ponnet, FuseboxStefaan Ponnet, Fusebox
Stefaan Ponnet, Fusebox
 
Fs And Self Service
Fs And Self ServiceFs And Self Service
Fs And Self Service
 
Building a SaaS using WSO2 Stratos
Building a SaaS using WSO2 StratosBuilding a SaaS using WSO2 Stratos
Building a SaaS using WSO2 Stratos
 
The future of web development write once, run everywhere with angular js an...
The future of web development   write once, run everywhere with angular js an...The future of web development   write once, run everywhere with angular js an...
The future of web development write once, run everywhere with angular js an...
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...
 
Monitoring Application Attack Surface and Integrating Security into DevOps Pi...
Monitoring Application Attack Surface and Integrating Security into DevOps Pi...Monitoring Application Attack Surface and Integrating Security into DevOps Pi...
Monitoring Application Attack Surface and Integrating Security into DevOps Pi...
 
RAHUL_Updated( (2)
RAHUL_Updated( (2)RAHUL_Updated( (2)
RAHUL_Updated( (2)
 
Opal: Simple Web Services Wrappers for Scientific Applications
Opal: Simple Web Services Wrappers for Scientific ApplicationsOpal: Simple Web Services Wrappers for Scientific Applications
Opal: Simple Web Services Wrappers for Scientific Applications
 
Hands-On Lab: Improve large network visibility and operational efficiency wit...
Hands-On Lab: Improve large network visibility and operational efficiency wit...Hands-On Lab: Improve large network visibility and operational efficiency wit...
Hands-On Lab: Improve large network visibility and operational efficiency wit...
 
MongoDB.local Berlin: App development in a Serverless World
MongoDB.local Berlin: App development in a Serverless WorldMongoDB.local Berlin: App development in a Serverless World
MongoDB.local Berlin: App development in a Serverless World
 
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
 
Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...
Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...
Castle in the clouds - Building the Connexys SaaS application with Fusion Mid...
 
SharePoint 2013 - What's New
SharePoint 2013 - What's NewSharePoint 2013 - What's New
SharePoint 2013 - What's New
 
Azure Web App services
Azure Web App servicesAzure Web App services
Azure Web App services
 
Enabling .NET Apps with Monitoring and Management Using Steeltoe
Enabling .NET Apps with Monitoring and Management Using SteeltoeEnabling .NET Apps with Monitoring and Management Using Steeltoe
Enabling .NET Apps with Monitoring and Management Using Steeltoe
 
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App EngineJava Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
 
L19 Application Architecture
L19 Application ArchitectureL19 Application Architecture
L19 Application Architecture
 
Meteor Meet-up San Diego December 2014
Meteor Meet-up San Diego December 2014Meteor Meet-up San Diego December 2014
Meteor Meet-up San Diego December 2014
 

Más de Jim McKeeth

Smart Contracts - The Blockchain Beyond Bitcoin
Smart Contracts - The Blockchain Beyond BitcoinSmart Contracts - The Blockchain Beyond Bitcoin
Smart Contracts - The Blockchain Beyond BitcoinJim McKeeth
 
Rapid Prototyping Mobile IoT Projects with Arduino and Open Hardware
Rapid Prototyping Mobile IoT Projects with Arduino and Open HardwareRapid Prototyping Mobile IoT Projects with Arduino and Open Hardware
Rapid Prototyping Mobile IoT Projects with Arduino and Open HardwareJim McKeeth
 
Day 3 of C++ Boot Camp - C++11 Language Deep Dive
Day 3 of C++ Boot Camp - C++11 Language Deep DiveDay 3 of C++ Boot Camp - C++11 Language Deep Dive
Day 3 of C++ Boot Camp - C++11 Language Deep DiveJim McKeeth
 
Day 5 of C++ Boot Camp - Stepping Up to Mobile
Day 5 of C++ Boot Camp - Stepping Up to MobileDay 5 of C++ Boot Camp - Stepping Up to Mobile
Day 5 of C++ Boot Camp - Stepping Up to MobileJim McKeeth
 
Android Services Skill Sprint
Android Services Skill SprintAndroid Services Skill Sprint
Android Services Skill SprintJim McKeeth
 
Creating Android Services with Delphi and RAD Studio 10 Seattle
Creating Android Services with Delphi and RAD Studio 10 SeattleCreating Android Services with Delphi and RAD Studio 10 Seattle
Creating Android Services with Delphi and RAD Studio 10 SeattleJim McKeeth
 
Building a Thought Controlled Drone
Building a Thought Controlled DroneBuilding a Thought Controlled Drone
Building a Thought Controlled DroneJim McKeeth
 
Deep Dive into Futures and the Parallel Programming Library
Deep Dive into Futures and the Parallel Programming LibraryDeep Dive into Futures and the Parallel Programming Library
Deep Dive into Futures and the Parallel Programming LibraryJim McKeeth
 
The Internet of Things and You - A Developers Guide to IoT
The Internet of Things and You - A Developers Guide to IoTThe Internet of Things and You - A Developers Guide to IoT
The Internet of Things and You - A Developers Guide to IoTJim McKeeth
 
Android voice skill sprint
Android voice skill sprintAndroid voice skill sprint
Android voice skill sprintJim McKeeth
 
Exploring the Brain Computer Interface
Exploring the Brain Computer InterfaceExploring the Brain Computer Interface
Exploring the Brain Computer InterfaceJim McKeeth
 
Introduction to Android Development with Java
Introduction to Android Development with JavaIntroduction to Android Development with Java
Introduction to Android Development with JavaJim McKeeth
 
Hacking iBooks and ePub3 with JavaScript!
Hacking iBooks and ePub3 with JavaScript!Hacking iBooks and ePub3 with JavaScript!
Hacking iBooks and ePub3 with JavaScript!Jim McKeeth
 
Inventing merit badge
Inventing merit badgeInventing merit badge
Inventing merit badgeJim McKeeth
 

Más de Jim McKeeth (14)

Smart Contracts - The Blockchain Beyond Bitcoin
Smart Contracts - The Blockchain Beyond BitcoinSmart Contracts - The Blockchain Beyond Bitcoin
Smart Contracts - The Blockchain Beyond Bitcoin
 
Rapid Prototyping Mobile IoT Projects with Arduino and Open Hardware
Rapid Prototyping Mobile IoT Projects with Arduino and Open HardwareRapid Prototyping Mobile IoT Projects with Arduino and Open Hardware
Rapid Prototyping Mobile IoT Projects with Arduino and Open Hardware
 
Day 3 of C++ Boot Camp - C++11 Language Deep Dive
Day 3 of C++ Boot Camp - C++11 Language Deep DiveDay 3 of C++ Boot Camp - C++11 Language Deep Dive
Day 3 of C++ Boot Camp - C++11 Language Deep Dive
 
Day 5 of C++ Boot Camp - Stepping Up to Mobile
Day 5 of C++ Boot Camp - Stepping Up to MobileDay 5 of C++ Boot Camp - Stepping Up to Mobile
Day 5 of C++ Boot Camp - Stepping Up to Mobile
 
Android Services Skill Sprint
Android Services Skill SprintAndroid Services Skill Sprint
Android Services Skill Sprint
 
Creating Android Services with Delphi and RAD Studio 10 Seattle
Creating Android Services with Delphi and RAD Studio 10 SeattleCreating Android Services with Delphi and RAD Studio 10 Seattle
Creating Android Services with Delphi and RAD Studio 10 Seattle
 
Building a Thought Controlled Drone
Building a Thought Controlled DroneBuilding a Thought Controlled Drone
Building a Thought Controlled Drone
 
Deep Dive into Futures and the Parallel Programming Library
Deep Dive into Futures and the Parallel Programming LibraryDeep Dive into Futures and the Parallel Programming Library
Deep Dive into Futures and the Parallel Programming Library
 
The Internet of Things and You - A Developers Guide to IoT
The Internet of Things and You - A Developers Guide to IoTThe Internet of Things and You - A Developers Guide to IoT
The Internet of Things and You - A Developers Guide to IoT
 
Android voice skill sprint
Android voice skill sprintAndroid voice skill sprint
Android voice skill sprint
 
Exploring the Brain Computer Interface
Exploring the Brain Computer InterfaceExploring the Brain Computer Interface
Exploring the Brain Computer Interface
 
Introduction to Android Development with Java
Introduction to Android Development with JavaIntroduction to Android Development with Java
Introduction to Android Development with Java
 
Hacking iBooks and ePub3 with JavaScript!
Hacking iBooks and ePub3 with JavaScript!Hacking iBooks and ePub3 with JavaScript!
Hacking iBooks and ePub3 with JavaScript!
 
Inventing merit badge
Inventing merit badgeInventing merit badge
Inventing merit badge
 

Último

eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfmaor17
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfPros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfkalichargn70th171
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesVictoriaMetrics
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
Understanding Plagiarism: Causes, Consequences and Prevention.pptx
Understanding Plagiarism: Causes, Consequences and Prevention.pptxUnderstanding Plagiarism: Causes, Consequences and Prevention.pptx
Understanding Plagiarism: Causes, Consequences and Prevention.pptxSasikiranMarri
 
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdfSteve Caron
 
Mastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptxMastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptxAS Design & AST.
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdfAndrey Devyatkin
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 

Último (20)

eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdf
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfPros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
Understanding Plagiarism: Causes, Consequences and Prevention.pptx
Understanding Plagiarism: Causes, Consequences and Prevention.pptxUnderstanding Plagiarism: Causes, Consequences and Prevention.pptx
Understanding Plagiarism: Causes, Consequences and Prevention.pptx
 
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
 
Mastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptxMastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptx
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 

Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summer School - 2014 - Lesson 6

  • 1. Lesson 6: Accessing  REST  and  Backend  as  a   Service  (BaaS)  Cloud  Services   Jim  McKeeth   Lead  Developer  Evangelist  –  Embarcadero   jim.mckeeth@embarcadero.com   http://delphi.org/  
  • 2. Mobile  App  Development   ▪  Lesson  1  –  Hello  World!  My  First  Multi-­‐Device  App   ▪  Lesson  2  –  Turning  up  the  Style  and  Data!   ▪  Lesson  3  –  Accessing  Local  Storage  and  Databases   ▪  Lesson  4  –  Building  Multi-­‐tier,  Multi-­‐device  Apps  using  DataSnap  REST/JSON   ▪  Lesson  5  –  Connecting  Mobile  and  Desktop  using  App  Tethering   ▪  Lesson  6  –  Accessing  REST  and  BaaS  Cloud  Services   Replay  links  and  lesson  slides  will  appear  on  David’s  blog   http://blogs.embarcadero.com/davidi/  
  • 3. Lesson  6  Agenda   ▪  REST  Client  Library   ▪  REST  Debugger   ▪  Backend  as  a  Service  (BaaS)   ▪  Samples  and  Snippets   ▪  Continue  development  of  the  mobile  business  app   ▪  Review,  Homework  and  Next  Time   ▪  Q&A  
  • 4. REST  Client  Library   ▪  Framework  for  accessing  REST-­‐based  web  services   ▪  The  framework  focuses  on  JSON  as  the  representation  format.  XML  is  not   explicitly  supported.   ▪  The  framework  includes  components  and  is  built  around  3  main  components:   –  The  client  -­‐  TRESTClient   –  The  request  -­‐  TRESTRequest   –  The  response  –  TRESTResponse   ▪  Most  REST  services  require  authentication.  Components  are  provided  for   –  Simple  authentication  –  TSimpleAuthenticator   –  HTTP  basic  authentication  –  THTTPBasicAuthenticator   –  OAuth1  and  OAuth2  authentication  –  TOAuth1Authenticator  and  TOAuth2Authenticator  
  • 5. REST  Client  Library  Components   ▪  TRESTClient  -­‐  manages  the  HTTP  connection  to  the  service,  deals  with  HTTP   headers  and  proxy  servers,  and  receives  the  response  data.   ▪  TRESTRequest  -­‐  holds  all  parameters  and  settings  that  form  the  actual  HTTP   request  to  a  Web  service.  When  connected  to  a  client-­‐component,  it  can  be   executed  (even  at  design  time).   ▪  TRESTResponse  -­‐  holds  all  the  returned  data  from  a  Web  service.  The  returned   data  includes  the  HTTP  status  code,  error  messages  (if  any  exist),  and  the  returned   JSON  data.   ▪  TRESTResponseDataSetAdapter  –  takes  the  returned  JSON  data  and  converts  it   to  a  form  a  DataSet  can  use  –  for  example  TDataSet  and  TFDMemTable.   ▪  Authenticator(s)  -­‐  most  services  require  an  authentication  before  they  can  be  used.   The  authenticator  components  are  used  to  apply  the  specific  authentication   methods  that  are  required  by  the  REST  service.  An  authenticator  is  attached  to  the   client  and  is  automatically  executed  on  each  executed  request.  You  can  create   custom  authenticators  using  the  TCustomAuthenticator  class.  
  • 6. REST  Debugger   ▪  Included  on  the  Tools  Menu   ▪  Use  it  to  making  queries  to  test  and   debug  REST  queries  before  applying  them   to  your  own  REST  applications.   ▪  The  interface  has  four  pages  that  contain   the  main  request  information,   the  resource  and  the  parameters  request,   the  authentication  methods,  and  the   option  to  use  proxy  to  connect  to  the   server.  
  • 7. Cloud  Service  (BaaS)  Integration   ▪  Use  push  notifications  to  engage  your  users   ▪  Access  data  and  object  storage  in  the  cloud   ▪  Provide  user  authentication   ▪  Supports  popular  BaaS  providers  with  a   common  API  component  set   –  Parse   –  Kinvey   –  Additional  providers  to  appear  in  the  future     ▪  App42  has  a  provider  now   https://github.com/shephertz/App42-­‐AppMethod-­‐API    
  • 8. BaaS  =  Backend  as  a  Service   ▪  Most  mobile  apps  need  server  storage  for  data,  images,  files,  etc   –  Build  yourself  (with  DataSnap)   –  Buy  a  scalable  cloud  solution  (with  Cloud  or  BaaS  services)   ▪  BaaS  =  cloud  solution  with  mobile  users  management   –  Services  also  provide  analytics,  push  notifications  (cross  platform  and  more)   ▪  REST  BAAS  framework  offers  you  a  variety  of  actions:   –  Create,  retrieve,  update  and  delete  objects   –  Sign  up,  login,  retrieve,  update  and  delete  users   –  Upload,  download  and  delete  files  or  streams   –  Query  objects  and  users   –  Send  push  notifications   –  Register  for  and  receive  push  notifications  on  a  device  
  • 9. Backend-­‐as-­‐a-­‐Service  Client  Components   ▪  Based  on  REST  Client  architecture  that   was  introduced  in  XE5   ▪  BaaS  clients  for  Kinvey  and  Parse   –  Native  providers  to  use  services  directly   –  Providers  integration  with  framework  for   common  services   –  Framework  works  with  these  providers,   open  for  future  extensions   ▪  Providers  to  connect  to  Parse  and  Kinvey   service   –  TParseProvider   –  TKinveyProvider   –  TCustomProvider  –  to  implement  your  own   integration     ▪  Push  Notifications   –  TPushEvents  –  to  register  your  device/app   to  receive  notifications   –  TBackendPush  –  allows  an  app  (desktop  or   mobile)  to  push  a  notification  to  the   provider  service  that  passes  it  along  to   registered  devices   ▪  Storage   –  TBackendStorage   –  TBackendQuery   –  TBackendFiles   ▪  User  Management   –  TBackendUsers    
  • 10. Backend-­‐as-­‐a-­‐Service  Model   ▪  Supports  abstract  features,  provider  independent   –  Create,  retrieve,  update  and  delete  (JSON)  objects   –  Signup,  login,  retrieve,  update  and  delete  users   –  Upload,  download  and  delete  files  or  streams   –  Query  objects  and  users   –  Send  push  notifications   –  Register  for  and  receive  push  notifications  on  a  device  
  • 11. Push  Notifications  Scenarios   ▪  Send  reminders  to  mobile  apps  even  when  not  active   –  App  to  app  notifications  (via  push  server)   –  Server  to  app  notifications  (triggered  by  server  events)   –  Client  notifications  (for  example  VCL)  to  companion  app   è
  • 12. REST  and  BaaS  Samples   ▪  REST  and  BaaS  mobile  samples   –  REST  –  SurfSpotFinder   –  BaaS  ToDo  List   –  C++   ▪  C:UsersPublicDocumentsEmbarcaderoStudio14.0SamplesCPPMobile  Samples Cloud   ▪  http://sourceforge.net/p/appmethod/code/HEAD/tree/branches/Appmethod_114W/ CPP/Mobile%20Samples/Cloud/   –  Object  Pascal   ▪  C:UsersPublicDocumentsEmbarcaderoStudio14.0SamplesObject  PascalMobile   SamplesCloud   ▪  http://sourceforge.net/p/appmethod/code/HEAD/tree/branches/Appmethod_114W/ Object%20Pascal/Mobile%20Samples/Cloud/   ▪  Always  be  sure  to  update  your  local  samples  from  Sourceforge!  
  • 13. REST  and  BaaS  Demos  
  • 14. Next  Steps  for  our  Business  Mobile  App   ▪  Use  the  REST  Client  Library  components  to  use  a  REST  service  (parts  lookup)   for  the  Parts  table   ▪  Use  BaaS  to  push  notifications  to  the  Marine  Adventures  mobile  app  to  tell   employees  that  an  order  has  shipped,  part  is  backordered  and  inventory  is   getting  low.  
  • 15. Lesson  6  Review   ▪  Quickly  use  REST  Services  using  REST/JSON  and  the  REST  client  library   components   ▪  Extend  your  mobile  and  desktop  applications  into  the  Cloud  using  Backend  as  a   Service  
  • 16. Resources  (1  of  4)   ▪  REST  Client  Library  -­‐  Docwiki   –  http://docwiki.appmethod.com/appmethod/1.14/topics/en/REST_Client_Library   –  http://docwiki.embarcadero.com/RADStudio/XE6/en/REST_Debugger   –  http://docwiki.embarcadero.com/RADStudio/XE6/en/Using_the_REST_Debugger   –  http://docwiki.appmethod.com/appmethod/1.14/codeexamples/en/RESTDemo_Sample   ▪  Tutorial   –  http://docwiki.appmethod.com/appmethod/1.14/topics/en/ Tutorial:_Using_the_REST_Client_Library_to_Access_REST-­‐based_Web_Services     Note:  http://docwiki.appmethod.com/appmethod/1.14/topics/en/...  =  http://docwiki.embarcadero.com/RADStudio/XE6/en/...  
  • 17. Resources  (2  of  4)   ▪  BaaS  –  DocWiki   –  http://docwiki.appmethod.com/appmethod/1.14/libraries/en/REST.Backend   –  http://docwiki.appmethod.com/appmethod/1.14/libraries/en/ REST.Backend.ServiceComponents   –  http://docwiki.appmethod.com/appmethod/1.14/topics/en/Creating_the_Application   ▪  Tutorials   –  http://docwiki.appmethod.com/appmethod/1.14/topics/en/ Mobile_Tutorial:_Using_Remote_Notifications_(iOS_and_Android)   Note:  http://docwiki.appmethod.com/appmethod/1.14/topics/en/...  =  http://docwiki.embarcadero.com/RADStudio/XE6/en/...  
  • 18. Resources  (3  of  4)   ▪  Videos  on  Demand   –  David  I  “BaaS  webinar”  replay   ▪  http://www.embarcadero.com/landing-­‐pages/rad-­‐in-­‐action-­‐baas   –  Sarina  Dupont  “Managing  User  Accounts  and  Storage  with  BaaS”  skill  sprint  replay   ▪  https://www.youtube.com/watch?v=Ct13YWSRP04   –  David  I  “BackendPush  skill  sprint”  replay   ▪  https://www.youtube.com/watch?v=N2_KA3LEWYw   –  Jim  McKeeth  “Integrate  Cloud  Services  with  the  REST/JSON  Client  skill  sprint”  replay   ▪  https://www.youtube.com/watch?v=sp-­‐EDTKy2BU   –  Stephen  Ball  on  Object  Persistence   ▪  http://blogs.embarcadero.com/stephenball/2014/04/23/remote-­‐object-­‐persistence-­‐with-­‐parse-­‐and-­‐kinvey/     ▪  http://blogs.embarcadero.com/stephenball/2014/06/05/apptethering-­‐leaderboard-­‐passing-­‐objects-­‐remotely-­‐ and-­‐using-­‐resources/    
  • 19. Resources  (4  of  4)   ▪  Sites   –  Oauth  Community  Site  -­‐  http://oauth.net/   –  Parse.com  -­‐  https://parse.com/   –  Kinvey.com  -­‐  http://www.kinvey.com/     ▪  Blogs   –  http://blogs.embarcadero.com/   –  David  I  blog  –  “Finding  your  Tethered  Apps”     ▪  http://blogs.embarcadero.com/davidi/2014/04/28/43708   –  Sarina  Dupont  blog  –  Series  of  10  BaaS  tutorials   ▪  http://blogs.embarcadero.com/sarinadupont/2014/06/09/baas-­‐tutorials-­‐to-­‐help-­‐you-­‐get-­‐started-­‐quickly/   ▪  Or  http://embt.co/baastutorials     –  Stephen  Ball  on  Object  Persistence   ▪  http://blogs.embarcadero.com/stephenball/2014/04/23/remote-­‐object-­‐persistence-­‐with-­‐parse-­‐and-­‐kinvey/     ▪  http://blogs.embarcadero.com/stephenball/2014/06/05/apptethering-­‐leaderboard-­‐passing-­‐objects-­‐remotely-­‐ and-­‐using-­‐resources/    
  • 20. Homework  &  More  to  Explore   ▪  Read  the  DocWiki  articles  and  blog  posts  for  REST  Client  Library  and  BaaS   ▪  Watch  the  videos   ▪  Go  through  the  Mobile  Snippets  and  Samples  for  additional  demos   ▪  Try  some  of  the  Mobile  Tutorials   –  Download  the  PDF  ebook  at   http://docs.embarcadero.com/products/rad_studio/radstudioXE6/ Mobile_Tutorials_en.pdf   –  The  individual  mobile  tutorials  are  listed  at   http://docwiki.appmethod.com/appmethod/1.14/topics/en/ Mobile_Tutorials:_Mobile_Application_Development_(iOS_and_Android)   ▪  Enhance  the  Marine  Adventure  mobile  app   Note:  http://docwiki.appmethod.com/appmethod/1.14/topics/en/...  =  http://docwiki.embarcadero.com/RADStudio/XE6/en/...  
  • 22. Thank  You  J   jim.mckeeth@embarcadero.com   http://delphi.org/