SlideShare a Scribd company logo
1 of 14
Nacef LABIDIConnect your app to your backend
Connect your mobile app to your
backend
Presented by Nacef LABIDI
March 2014
Who I am ?
• System Level Developer @ STMicroelectronics
• Co-founder and Technical Manager @ Oceanys
• Project Manager @ Evatys
• Technical Consultant @ Hewlett-Packard
• IT Manager @ US Peace Corps
• Global Helpdesk Manager @ Vistaprint
Who I really am ? ;)
• Computer engineer, geek and music addict.
• Open Source enthusiast, supporter and contributor.
• Android apps developer (when I find some time)
• Python fan and supporter.
• Speak many programming languages.
Audience
• Beginners in Android development
• People wanting to build mobile apps around dynamic
content
• Building multi-platform mobile apps
Storing your data inside vs. outside of your
app
Pros
• Decoupling between the app and the data
• Keeping the logic on the server side
• Makes your apps lighter
• Makes your logic consistent and reusable
• Evolution of your service relies more on the data than
the app itself.
• Publish your data to multiple medias : Website, all kind
of mobile devices, share your data with affiliates
Storing your data inside vs. outside of your
app
Cons
• Need to be connected to access the data
• This can be improved by caching some of the data
locally
• Delays in treatment depending on the volume of data
and the quality of the connection
• May expose your data to some security risks
• Again this can be addressed
How would I proceed ?
If you don’t have a backend, start by building one
• This will help you define the structure of the data that
you want to expose in your app
• Designing the data will also help you design the layout
of your app
• Build a webservice API that will be used to access the
data
• Secure your webservice
Building your backend
Choose the right tools : modern frameworks
• Define your data structures
• Use migrations to evolve your data structures without
messing with your data
• Use RESTful capabilities of your framework to publish
your data to your app
• Choose the exchange format that suits you most
(XML, JSON…)
• Use security capabilities to protect your data
Secure your backend
Different security methods :
HTTP Basic Authentication
Login and password sent with the HTTP request
ApiKey Authentication
Passing an ApiKey generated on the server side in each
HTTP request
OAuth Authentication
Through a third party authentication service (Google,
Facebook, Yahoo, OpenID …)
Create your custom authentication system
Public/Private RSA keys
…
My personal choices
Python language
• http://www.python.org
Django framework https://www.djangoproject.com
• Provides Model classes
• Supports many DB backends (Relational & NoSQL)
• Migrations: through South module
http://south.aeracode.org
• RESTful API: through Tastypie module
http://tastypieapi.org
Build your app
Use Apache HTTP Client classes
Use Google Gson to map API responses to your
local objects
• https://code.google.com/p/google-gson
Use AsyncTask to keep your app responsive while
retrieving your data from the server
Goodies : You should try RoboGuice to have a nicely
architected app
• https://github.com/roboguice/roboguice
Retrospective
Tunibus : An android app allowing users to find their
way through the Tunis public transportation (Bus,
Metro, Train …)
Neo4j Graph database representing stations and
edges representing transportation lines connecting the
stations. http://www.neo4j.org
RESTful webservice that returns the possible paths
between two points
Android app that connects through the API to the
Graph DB
Crowdsourcing web app to enhance the data quality
Retrospective
RESTful
API
Thank you !
Questions ?

More Related Content

What's hot

What's hot (20)

O365Con19 - Automate All The Things - Chris Goosen
O365Con19 - Automate All The Things - Chris GoosenO365Con19 - Automate All The Things - Chris Goosen
O365Con19 - Automate All The Things - Chris Goosen
 
What is onedrive for business
What is onedrive for businessWhat is onedrive for business
What is onedrive for business
 
Azure Machine Learning
Azure Machine LearningAzure Machine Learning
Azure Machine Learning
 
Webinar: Building Customer-Targeted Search with Fusion
Webinar: Building Customer-Targeted Search with FusionWebinar: Building Customer-Targeted Search with Fusion
Webinar: Building Customer-Targeted Search with Fusion
 
Elasticsearch - Scalability and Multitenancy
Elasticsearch - Scalability and MultitenancyElasticsearch - Scalability and Multitenancy
Elasticsearch - Scalability and Multitenancy
 
[Fitzmaurice] File Sharing and Collaboration with OneDrive, SharePoint and Teams
[Fitzmaurice] File Sharing and Collaboration with OneDrive, SharePoint and Teams[Fitzmaurice] File Sharing and Collaboration with OneDrive, SharePoint and Teams
[Fitzmaurice] File Sharing and Collaboration with OneDrive, SharePoint and Teams
 
Introduction à Application Insights
Introduction à Application InsightsIntroduction à Application Insights
Introduction à Application Insights
 
Encryption in the enterprise
Encryption in the enterpriseEncryption in the enterprise
Encryption in the enterprise
 
CIS13: APIs, Identity, and Securing the Enterprise
CIS13: APIs, Identity, and Securing the EnterpriseCIS13: APIs, Identity, and Securing the Enterprise
CIS13: APIs, Identity, and Securing the Enterprise
 
SemTech 2012 Talk semantify office
SemTech 2012 Talk  semantify officeSemTech 2012 Talk  semantify office
SemTech 2012 Talk semantify office
 
The Internet of Things - PolarSeven
The Internet of Things - PolarSevenThe Internet of Things - PolarSeven
The Internet of Things - PolarSeven
 
SQL Server 2016 What's New For Developers
SQL Server 2016  What's New For DevelopersSQL Server 2016  What's New For Developers
SQL Server 2016 What's New For Developers
 
SPEVO13 - Dev212 - Document Assembly Deep Dive Part 1
SPEVO13 - Dev212 - Document Assembly Deep Dive Part 1SPEVO13 - Dev212 - Document Assembly Deep Dive Part 1
SPEVO13 - Dev212 - Document Assembly Deep Dive Part 1
 
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
 
SenchaCon 2016: Oracle Forms Modernisation - Owen Pagan
SenchaCon 2016: Oracle Forms Modernisation - Owen PaganSenchaCon 2016: Oracle Forms Modernisation - Owen Pagan
SenchaCon 2016: Oracle Forms Modernisation - Owen Pagan
 
Anypoint platform for api
Anypoint platform for apiAnypoint platform for api
Anypoint platform for api
 
Webinar: Fusion 3.1 - What's New
Webinar: Fusion 3.1 - What's NewWebinar: Fusion 3.1 - What's New
Webinar: Fusion 3.1 - What's New
 
Workshop 04 android-development
Workshop 04 android-developmentWorkshop 04 android-development
Workshop 04 android-development
 
Intro to Piwik project - 2014
Intro to Piwik project - 2014Intro to Piwik project - 2014
Intro to Piwik project - 2014
 
ECS2019 - Managing Content Types in the Modern World
ECS2019 - Managing Content Types in the Modern WorldECS2019 - Managing Content Types in the Modern World
ECS2019 - Managing Content Types in the Modern World
 

Similar to Droidcon Tunisia 2014 connect your mobile app to your backend

VanyaSehgal_Resume
VanyaSehgal_ResumeVanyaSehgal_Resume
VanyaSehgal_Resume
VANYA SEHGAL
 
Digital toolbox researchanddevelopment_slides
Digital toolbox researchanddevelopment_slidesDigital toolbox researchanddevelopment_slides
Digital toolbox researchanddevelopment_slides
moanasherrill
 
Digital toolbox researchanddevelopment_slides
Digital toolbox researchanddevelopment_slidesDigital toolbox researchanddevelopment_slides
Digital toolbox researchanddevelopment_slides
Cindy Douglas
 
Digital toolbox researchanddevelopment_slides
Digital toolbox researchanddevelopment_slidesDigital toolbox researchanddevelopment_slides
Digital toolbox researchanddevelopment_slides
Ellen Pittleman
 

Similar to Droidcon Tunisia 2014 connect your mobile app to your backend (20)

Hacking and Securing iOS Apps : Part 1
Hacking and Securing iOS Apps : Part 1Hacking and Securing iOS Apps : Part 1
Hacking and Securing iOS Apps : Part 1
 
Top 10 DevOps tools for software development
 Top 10 DevOps tools for software development  Top 10 DevOps tools for software development
Top 10 DevOps tools for software development
 
Global Open Source Development 2011-2014 Review and 2015 Forecast
Global Open Source Development 2011-2014 Review and 2015 ForecastGlobal Open Source Development 2011-2014 Review and 2015 Forecast
Global Open Source Development 2011-2014 Review and 2015 Forecast
 
Portal and Intranets
Portal and Intranets Portal and Intranets
Portal and Intranets
 
Feed Herny developer training : crossplatform and HTML5
Feed Herny developer training : crossplatform and  HTML5Feed Herny developer training : crossplatform and  HTML5
Feed Herny developer training : crossplatform and HTML5
 
Resume_16-03-2016
Resume_16-03-2016Resume_16-03-2016
Resume_16-03-2016
 
Open Source DataViz with Apache Superset
Open Source DataViz with Apache SupersetOpen Source DataViz with Apache Superset
Open Source DataViz with Apache Superset
 
An Introduction to AWS Mobile Services - DevDay Los Angeles 2017
An Introduction to AWS Mobile Services - DevDay Los Angeles 2017An Introduction to AWS Mobile Services - DevDay Los Angeles 2017
An Introduction to AWS Mobile Services - DevDay Los Angeles 2017
 
VanyaSehgal_Resume
VanyaSehgal_ResumeVanyaSehgal_Resume
VanyaSehgal_Resume
 
Pat Farrell, Migrating Legacy Documentation to XML and DITA
Pat Farrell, Migrating Legacy Documentation to XML and DITAPat Farrell, Migrating Legacy Documentation to XML and DITA
Pat Farrell, Migrating Legacy Documentation to XML and DITA
 
The Atlassian Tool Suite for Collaborative Science
The Atlassian Tool Suite for Collaborative ScienceThe Atlassian Tool Suite for Collaborative Science
The Atlassian Tool Suite for Collaborative Science
 
Backstage at CNCF Madison.pptx
Backstage at CNCF Madison.pptxBackstage at CNCF Madison.pptx
Backstage at CNCF Madison.pptx
 
DotNet 2019 | Hugo Biarge - Autenticación en aplicaciones web y nativas
DotNet 2019 | Hugo Biarge - Autenticación en aplicaciones web y nativasDotNet 2019 | Hugo Biarge - Autenticación en aplicaciones web y nativas
DotNet 2019 | Hugo Biarge - Autenticación en aplicaciones web y nativas
 
aip_developer_overview_icar_2014
aip_developer_overview_icar_2014aip_developer_overview_icar_2014
aip_developer_overview_icar_2014
 
Digital toolbox researchanddevelopment_slides
Digital toolbox researchanddevelopment_slidesDigital toolbox researchanddevelopment_slides
Digital toolbox researchanddevelopment_slides
 
Digital toolbox researchanddevelopment_slides
Digital toolbox researchanddevelopment_slidesDigital toolbox researchanddevelopment_slides
Digital toolbox researchanddevelopment_slides
 
Digital toolbox researchanddevelopment_slides
Digital toolbox researchanddevelopment_slidesDigital toolbox researchanddevelopment_slides
Digital toolbox researchanddevelopment_slides
 
Developer’s Independence Day: Introducing the SharePoint App Model
Developer’s Independence Day:Introducing the SharePoint App ModelDeveloper’s Independence Day:Introducing the SharePoint App Model
Developer’s Independence Day: Introducing the SharePoint App Model
 
M meijer api management - tech-days 2015
M meijer   api management - tech-days 2015M meijer   api management - tech-days 2015
M meijer api management - tech-days 2015
 
Viswanth_chadalawada_ft_resume
Viswanth_chadalawada_ft_resumeViswanth_chadalawada_ft_resume
Viswanth_chadalawada_ft_resume
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 

Droidcon Tunisia 2014 connect your mobile app to your backend

  • 1. Nacef LABIDIConnect your app to your backend Connect your mobile app to your backend Presented by Nacef LABIDI March 2014
  • 2. Who I am ? • System Level Developer @ STMicroelectronics • Co-founder and Technical Manager @ Oceanys • Project Manager @ Evatys • Technical Consultant @ Hewlett-Packard • IT Manager @ US Peace Corps • Global Helpdesk Manager @ Vistaprint
  • 3. Who I really am ? ;) • Computer engineer, geek and music addict. • Open Source enthusiast, supporter and contributor. • Android apps developer (when I find some time) • Python fan and supporter. • Speak many programming languages.
  • 4. Audience • Beginners in Android development • People wanting to build mobile apps around dynamic content • Building multi-platform mobile apps
  • 5. Storing your data inside vs. outside of your app Pros • Decoupling between the app and the data • Keeping the logic on the server side • Makes your apps lighter • Makes your logic consistent and reusable • Evolution of your service relies more on the data than the app itself. • Publish your data to multiple medias : Website, all kind of mobile devices, share your data with affiliates
  • 6. Storing your data inside vs. outside of your app Cons • Need to be connected to access the data • This can be improved by caching some of the data locally • Delays in treatment depending on the volume of data and the quality of the connection • May expose your data to some security risks • Again this can be addressed
  • 7. How would I proceed ? If you don’t have a backend, start by building one • This will help you define the structure of the data that you want to expose in your app • Designing the data will also help you design the layout of your app • Build a webservice API that will be used to access the data • Secure your webservice
  • 8. Building your backend Choose the right tools : modern frameworks • Define your data structures • Use migrations to evolve your data structures without messing with your data • Use RESTful capabilities of your framework to publish your data to your app • Choose the exchange format that suits you most (XML, JSON…) • Use security capabilities to protect your data
  • 9. Secure your backend Different security methods : HTTP Basic Authentication Login and password sent with the HTTP request ApiKey Authentication Passing an ApiKey generated on the server side in each HTTP request OAuth Authentication Through a third party authentication service (Google, Facebook, Yahoo, OpenID …) Create your custom authentication system Public/Private RSA keys …
  • 10. My personal choices Python language • http://www.python.org Django framework https://www.djangoproject.com • Provides Model classes • Supports many DB backends (Relational & NoSQL) • Migrations: through South module http://south.aeracode.org • RESTful API: through Tastypie module http://tastypieapi.org
  • 11. Build your app Use Apache HTTP Client classes Use Google Gson to map API responses to your local objects • https://code.google.com/p/google-gson Use AsyncTask to keep your app responsive while retrieving your data from the server Goodies : You should try RoboGuice to have a nicely architected app • https://github.com/roboguice/roboguice
  • 12. Retrospective Tunibus : An android app allowing users to find their way through the Tunis public transportation (Bus, Metro, Train …) Neo4j Graph database representing stations and edges representing transportation lines connecting the stations. http://www.neo4j.org RESTful webservice that returns the possible paths between two points Android app that connects through the API to the Graph DB Crowdsourcing web app to enhance the data quality