SlideShare a Scribd company logo
1 of 52
Download to read offline
REST IN BRAZIL
SERVICES AND ISSUESTO BE FOUGHT
Guilherme de Azevedo Silveira
Tuesday, May 14, 13
BRAZIL
• huge
• huge custom software development market
• huge software integration issues
• huge cobol, vb, delphi, java, c# legacy systems
• software development and educational revolution
Tuesday, May 14, 13
GUILHERME SILVEIRA
• Caelum CTO
• Software Development Education
• http://www.caelum.com.br
• http://www.casadocodigo.com.br
• guilherme.silveira@caelum.com.br
Tuesday, May 14, 13
GUILHERME SILVEIRA
• Applied Math (Discrete Dynamic Systems)
• REST (in practice)
• 고려사이버대학교 컴퓨터정보통신학과 (Cyber Korea University)
Tuesday, May 14, 13
AGENDA
• brazilian projects
• industry
• industry issues
• adoption issues
• educational issues
Tuesday, May 14, 13
ALEXANDRIA
• engineering.abril.com.br
• Abril Midia
• graphic
• distributor
• education
• CMS
• Luis Cipriani
Tuesday, May 14, 13
ALEXANDRIA: CONTENT
• 3 languages types
• 7 databases types
• 9 frameworks
• 207 machines
• 12.5 million pageview/month
Tuesday, May 14, 13
ALEXANDRIA:APPROACH
• Layered System
• Stateless
• Cache
• Code-on-demand
• ...
Tuesday, May 14, 13
ALEXANDRIA: CONCLUSIONS
• Long term needs
• Documentation need++
• Focus on protocol improvements later
Tuesday, May 14, 13
ALEXANDRIA
• REST:Advanced ResearchTopics and Practical
Applications, Springer
Tuesday, May 14, 13
CAELUM
• live learning
• enrollments, payments
• alumni
• job postings
Tuesday, May 14, 13
training
java + vraptor
one system
alumni.caelum.com.br
RoR
ondetrabalhar.com
ruby
mysql
mysql
solr
Tuesday, May 14, 13
CAELUM ONLINE
• online: learning environment
• training
• exercises
• videos
• explanations
• experience exchange
• payments
Tuesday, May 14, 13
training
java + vraptor
one system
alumni.caelum.com.br
RoR
ondetrabalhar.com
ruby
gnarus
scala + vraptor
casa do código
java + RoR
payments
java
metrics
java + octave
interestie
sinatra + sequel
sugest
java
promo
RoR
analyser 1
sinatra
analyser 2
java
exercises
RoR
badges
ruby + rails mountable engine
RoR + 6 projects
RoR
+ 1 ‘pages’
jsaws tickets
RoR
books
sinatra + sequel
mysql
mysql
mysql
mysql
mysql
redis
redis
solr
github
postgresql postgresql
postgresql
postgresql
postgresql
postgresql
Tuesday, May 14, 13
CAELUM ONLINE
• > 18 systems
• 4 language types
• 5 frameworks
• 5 database types
• < 20 developers
Tuesday, May 14, 13
training
java + vraptor
one system
alumni.caelum.com.br
RoR
ondetrabalhar.com
ruby
gnarus
java + vraptor
casa do código
java + RoR
payments
java
metrics
java + octave
interestie
sinatra + sequel
sugest
java
promo
RoR
analyser 1
sinatra
analyser 2
java
exercises
RoR
badges
ruby + rails mountable engine
RoR + 6 projects
RoR
+ 1 ‘pages’
jsaws tickets
RoR
books
sinatra + sequel
mysql
mysql
mysql
mysql
mysql
redis
redis
solr
github
postgresql postgresql
postgresql
postgresql
postgresql
postgresql
Tuesday, May 14, 13
WE STUDY
• advantages
• disadvantages
Tuesday, May 14, 13
WHAT ABOUT OTHERS?
• people
• companies
• projects
• schools
Tuesday, May 14, 13
DEVELOPERS
• know
• GET, POST
• html
• js
Tuesday, May 14, 13
DEVELOPERS
• know
• GET, POST
• html
• js
• no idea
• http
• hypermedia
Tuesday, May 14, 13
COMPANIES
• know
• GET, POST
• html
• js
Tuesday, May 14, 13
COMPANIES
• know
• GET, POST
• html
• js
• no idea
• http
• hypermedia
Tuesday, May 14, 13
SCHOOLS
• teach
• GET, POST
• html
• js
Tuesday, May 14, 13
SCHOOLS
• know
• GET, POST
• html
• js
• no idea
• http
• hypermedia
Tuesday, May 14, 13
companies
looking ahead
academia
the rest of the industry
Tuesday, May 14, 13
GAP
our
study
everyone’s
practice
Tuesday, May 14, 13
I FEEL LOST
as industry
Tuesday, May 14, 13
as a client
Tuesday, May 14, 13
AS A CLIENT, HOW DO I?
• service discovery
• in an android environment
• google intents; web intents
• on the web?
• web intents?
• richer? standards? good practices?
• “A Framework for Self-Descriptive RESTful
Services”
Tuesday, May 14, 13
as a client, i know my
providers
Tuesday, May 14, 13
# OF ACTIONS SUPPORTED?
• web intents scales on providers
• what about # of actions?
• “Distributed Affordance: an Open-world
Assumption for Hypermedia”
Tuesday, May 14, 13
as a company
Tuesday, May 14, 13
AN EXISTING SERVICE
• migration costs x no costs
• how do I publish my service?
• where do I publish my service?
• “A Concept for Generating Simplified RESTful
Interfaces”
Tuesday, May 14, 13
AS A NEW SERVICE
• design?
• json?
• rdf?
• “ModelYour Application Domain, NotYour JSON
Structures”
Tuesday, May 14, 13
as a hammer
Tuesday, May 14, 13
we see everything as
nails
Tuesday, May 14, 13
as a learning
environment
Tuesday, May 14, 13
we see the problem as
an human issue
Tuesday, May 14, 13
we see the problem as
an human issue
Tuesday, May 14, 13
we see the problem as an
human issue
•TDD
•test first
•+ other software engineering practices
•Mauricio Aniche’s research
•http://www.aniche.com.br/publications
Tuesday, May 14, 13
we see the problem as an
human issue
•developers
•solve problems with and withoutTDD
•analyze the solutions
Tuesday, May 14, 13
we see the problem as an
human issue
•“No difference betweenTDD and noTDD.”
•“Experience and wisdom makes the
difference.”
Tuesday, May 14, 13
we see the problem as an
human issue
•Lutz Prechelt
•An empirical comparison of C, C++, Java, Perl,
Python, Rexx, andTcl
•http://page.mi.fu-berlin.de/prechelt/Biblio/
jccpprt_computer2000.pdf
Tuesday, May 14, 13
we see the problem as an
human issue
•developers
•solve a problem in different languages
Tuesday, May 14, 13
we see the problem as an
human issue
•“the differences between languages tend to be
smaller than the typical differences due to
different programmers within the same
language”
Tuesday, May 14, 13
as a learning
environment
Tuesday, May 14, 13
we see the problem as
an educational issue
Tuesday, May 14, 13
we see the problem as
an educational issue
Tuesday, May 14, 13
SERVICE PRODUCTION CHAIN
school
graduation
industry
academia
we see the problem as an
educational issue
Tuesday, May 14, 13
academia & industry
•try to bring every company and developer
closer to research ?
•if not researching, trying in practice and
analyzing its results?
Tuesday, May 14, 13
question:
how can we make
others think about
REST?
Tuesday, May 14, 13
how can we make others think about REST?
Guilherme Silveira
guilherme.silveira@caelum.com.br
THANKYOU
Tuesday, May 14, 13

More Related Content

Similar to Rest in Brazil Services and Issues to be Fought

Wsrest13 gilherme keynote
Wsrest13 gilherme keynoteWsrest13 gilherme keynote
Wsrest13 gilherme keynoteruyalarcon
 
Azure Machine Learning
Azure Machine LearningAzure Machine Learning
Azure Machine LearningDavide Mauri
 
Enterprise Drupal
Enterprise DrupalEnterprise Drupal
Enterprise Drupalthesnufkin
 
Recommender Trends 2014
Recommender Trends 2014Recommender Trends 2014
Recommender Trends 2014Torben Brodt
 
PyData: Past, Present Future (PyData SV 2014 Keynote)
PyData: Past, Present Future (PyData SV 2014 Keynote)PyData: Past, Present Future (PyData SV 2014 Keynote)
PyData: Past, Present Future (PyData SV 2014 Keynote)Peter Wang
 
Our Jobs are Changing. Can We Keep Up?
Our Jobs are Changing. Can We Keep Up?Our Jobs are Changing. Can We Keep Up?
Our Jobs are Changing. Can We Keep Up?Mandi Walls
 
How to crack Big Data and Data Science roles
How to crack Big Data and Data Science rolesHow to crack Big Data and Data Science roles
How to crack Big Data and Data Science rolesUpXAcademy
 
PyData Texas 2015 Keynote
PyData Texas 2015 KeynotePyData Texas 2015 Keynote
PyData Texas 2015 KeynotePeter Wang
 
dataviz on d3.js + elasticsearch
dataviz on d3.js + elasticsearchdataviz on d3.js + elasticsearch
dataviz on d3.js + elasticsearchMathieu Elie
 
Kelly O'Briant - DataOps in the Cloud: How To Supercharge Data Science with a...
Kelly O'Briant - DataOps in the Cloud: How To Supercharge Data Science with a...Kelly O'Briant - DataOps in the Cloud: How To Supercharge Data Science with a...
Kelly O'Briant - DataOps in the Cloud: How To Supercharge Data Science with a...Rehgan Avon
 
Responsive Design & the Business Analyst
Responsive Design & the Business AnalystResponsive Design & the Business Analyst
Responsive Design & the Business AnalystTed Hardy, MBA, CBAP
 
Kaggle Competitions, New Friends, New Skills and New Opportunities
Kaggle Competitions, New Friends, New Skills and New OpportunitiesKaggle Competitions, New Friends, New Skills and New Opportunities
Kaggle Competitions, New Friends, New Skills and New OpportunitiesJo-fai Chow
 
Agile analytics applications on hadoop
Agile analytics applications on hadoopAgile analytics applications on hadoop
Agile analytics applications on hadoopRussell Jurney
 
What you did last summer?
What you did last summer?What you did last summer?
What you did last summer?DoThinger
 
Drupal - Changing the Web by Connecting Open Minds - DrupalCamp North 2015
Drupal - Changing the Web by Connecting Open Minds - DrupalCamp North 2015Drupal - Changing the Web by Connecting Open Minds - DrupalCamp North 2015
Drupal - Changing the Web by Connecting Open Minds - DrupalCamp North 2015dasjo
 
Contribution in the Drupal community
Contribution in the Drupal communityContribution in the Drupal community
Contribution in the Drupal communityKálmán Hosszu
 
Responsive Design and jQuery Mobile
Responsive Design and jQuery MobileResponsive Design and jQuery Mobile
Responsive Design and jQuery MobileTroy Miles
 
Preservation and institutional repositories for the digital arts and humanities
Preservation and institutional repositories for the digital arts and humanitiesPreservation and institutional repositories for the digital arts and humanities
Preservation and institutional repositories for the digital arts and humanitiesDorothea Salo
 

Similar to Rest in Brazil Services and Issues to be Fought (20)

Wsrest13 gilherme keynote
Wsrest13 gilherme keynoteWsrest13 gilherme keynote
Wsrest13 gilherme keynote
 
Azure Machine Learning
Azure Machine LearningAzure Machine Learning
Azure Machine Learning
 
Enterprise Drupal
Enterprise DrupalEnterprise Drupal
Enterprise Drupal
 
Recommender Trends 2014
Recommender Trends 2014Recommender Trends 2014
Recommender Trends 2014
 
PyData: Past, Present Future (PyData SV 2014 Keynote)
PyData: Past, Present Future (PyData SV 2014 Keynote)PyData: Past, Present Future (PyData SV 2014 Keynote)
PyData: Past, Present Future (PyData SV 2014 Keynote)
 
Our Jobs are Changing. Can We Keep Up?
Our Jobs are Changing. Can We Keep Up?Our Jobs are Changing. Can We Keep Up?
Our Jobs are Changing. Can We Keep Up?
 
Aten ntc-stories
Aten ntc-storiesAten ntc-stories
Aten ntc-stories
 
How to crack Big Data and Data Science roles
How to crack Big Data and Data Science rolesHow to crack Big Data and Data Science roles
How to crack Big Data and Data Science roles
 
PyData Texas 2015 Keynote
PyData Texas 2015 KeynotePyData Texas 2015 Keynote
PyData Texas 2015 Keynote
 
dataviz on d3.js + elasticsearch
dataviz on d3.js + elasticsearchdataviz on d3.js + elasticsearch
dataviz on d3.js + elasticsearch
 
Kelly O'Briant - DataOps in the Cloud: How To Supercharge Data Science with a...
Kelly O'Briant - DataOps in the Cloud: How To Supercharge Data Science with a...Kelly O'Briant - DataOps in the Cloud: How To Supercharge Data Science with a...
Kelly O'Briant - DataOps in the Cloud: How To Supercharge Data Science with a...
 
Responsive Design & the Business Analyst
Responsive Design & the Business AnalystResponsive Design & the Business Analyst
Responsive Design & the Business Analyst
 
Kaggle Competitions, New Friends, New Skills and New Opportunities
Kaggle Competitions, New Friends, New Skills and New OpportunitiesKaggle Competitions, New Friends, New Skills and New Opportunities
Kaggle Competitions, New Friends, New Skills and New Opportunities
 
Sencha Touch in Action
Sencha Touch in Action Sencha Touch in Action
Sencha Touch in Action
 
Agile analytics applications on hadoop
Agile analytics applications on hadoopAgile analytics applications on hadoop
Agile analytics applications on hadoop
 
What you did last summer?
What you did last summer?What you did last summer?
What you did last summer?
 
Drupal - Changing the Web by Connecting Open Minds - DrupalCamp North 2015
Drupal - Changing the Web by Connecting Open Minds - DrupalCamp North 2015Drupal - Changing the Web by Connecting Open Minds - DrupalCamp North 2015
Drupal - Changing the Web by Connecting Open Minds - DrupalCamp North 2015
 
Contribution in the Drupal community
Contribution in the Drupal communityContribution in the Drupal community
Contribution in the Drupal community
 
Responsive Design and jQuery Mobile
Responsive Design and jQuery MobileResponsive Design and jQuery Mobile
Responsive Design and jQuery Mobile
 
Preservation and institutional repositories for the digital arts and humanities
Preservation and institutional repositories for the digital arts and humanitiesPreservation and institutional repositories for the digital arts and humanities
Preservation and institutional repositories for the digital arts and humanities
 

More from Caelum

Desafios de Performance Web - BrazilJS
Desafios de Performance Web - BrazilJSDesafios de Performance Web - BrazilJS
Desafios de Performance Web - BrazilJSCaelum
 
Performance na web: o modelo RAIL e outras novidades
Performance na web: o modelo RAIL e outras novidadesPerformance na web: o modelo RAIL e outras novidades
Performance na web: o modelo RAIL e outras novidadesCaelum
 
Progressive Web Apps: o melhor da Web appficada
Progressive Web Apps: o melhor da Web appficadaProgressive Web Apps: o melhor da Web appficada
Progressive Web Apps: o melhor da Web appficadaCaelum
 
Tudo que você precisa saber sobre picture e srcset
Tudo que você precisa saber sobre picture e srcsetTudo que você precisa saber sobre picture e srcset
Tudo que você precisa saber sobre picture e srcsetCaelum
 
Como o HTTP/2 vai mudar sua vida
Como o HTTP/2 vai mudar sua vidaComo o HTTP/2 vai mudar sua vida
Como o HTTP/2 vai mudar sua vidaCaelum
 
Métricas e a automatização do controle de qualidade
Métricas e a automatização do controle de qualidadeMétricas e a automatização do controle de qualidade
Métricas e a automatização do controle de qualidadeCaelum
 
HTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio Lopes
HTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio LopesHTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio Lopes
HTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio LopesCaelum
 
Offline Web com Service Workers - Sérgio Lopes
Offline Web com Service Workers - Sérgio LopesOffline Web com Service Workers - Sérgio Lopes
Offline Web com Service Workers - Sérgio LopesCaelum
 
Design Responsivo - MobCamp 2014
Design Responsivo - MobCamp 2014Design Responsivo - MobCamp 2014
Design Responsivo - MobCamp 2014Caelum
 
Além do responsive design: a mudança de paradigma do design adaptativo e os m...
Além do responsive design: a mudança de paradigma do design adaptativo e os m...Além do responsive design: a mudança de paradigma do design adaptativo e os m...
Além do responsive design: a mudança de paradigma do design adaptativo e os m...Caelum
 
Por trás dos frameworks e além do reflection
Por trás dos frameworks e além do reflectionPor trás dos frameworks e além do reflection
Por trás dos frameworks e além do reflectionCaelum
 
Otimizações de Performance Web: Desafios do Mundo Mobile
Otimizações de Performance Web: Desafios do Mundo MobileOtimizações de Performance Web: Desafios do Mundo Mobile
Otimizações de Performance Web: Desafios do Mundo MobileCaelum
 
Introducao a inteligencia artificial na educacao
Introducao a inteligencia artificial na educacaoIntroducao a inteligencia artificial na educacao
Introducao a inteligencia artificial na educacaoCaelum
 
Os Caminhos de uma Estratégia Mobile
Os Caminhos de uma Estratégia MobileOs Caminhos de uma Estratégia Mobile
Os Caminhos de uma Estratégia MobileCaelum
 
[FrontInBH 2012] Por uma web mais rápida: técnicas de otimizações de sites - ...
[FrontInBH 2012] Por uma web mais rápida: técnicas de otimizações de sites - ...[FrontInBH 2012] Por uma web mais rápida: técnicas de otimizações de sites - ...
[FrontInBH 2012] Por uma web mais rápida: técnicas de otimizações de sites - ...Caelum
 
Plataforma java: detalhes da JVM
Plataforma java: detalhes da JVMPlataforma java: detalhes da JVM
Plataforma java: detalhes da JVMCaelum
 
CDI e as ideias pro futuro do VRaptor
CDI e as ideias pro futuro do VRaptorCDI e as ideias pro futuro do VRaptor
CDI e as ideias pro futuro do VRaptorCaelum
 
Qualidade de código - a qualidade que faz a diferença
Qualidade de código - a qualidade que faz a diferençaQualidade de código - a qualidade que faz a diferença
Qualidade de código - a qualidade que faz a diferençaCaelum
 
Design de código: qualidade que faz a diferença, qcon 2011
Design de código: qualidade que faz a diferença, qcon 2011Design de código: qualidade que faz a diferença, qcon 2011
Design de código: qualidade que faz a diferença, qcon 2011Caelum
 
[QCon 2011] Por uma web mais rápida: técnicas de otimização de Sites
[QCon 2011] Por uma web mais rápida: técnicas de otimização de Sites[QCon 2011] Por uma web mais rápida: técnicas de otimização de Sites
[QCon 2011] Por uma web mais rápida: técnicas de otimização de SitesCaelum
 

More from Caelum (20)

Desafios de Performance Web - BrazilJS
Desafios de Performance Web - BrazilJSDesafios de Performance Web - BrazilJS
Desafios de Performance Web - BrazilJS
 
Performance na web: o modelo RAIL e outras novidades
Performance na web: o modelo RAIL e outras novidadesPerformance na web: o modelo RAIL e outras novidades
Performance na web: o modelo RAIL e outras novidades
 
Progressive Web Apps: o melhor da Web appficada
Progressive Web Apps: o melhor da Web appficadaProgressive Web Apps: o melhor da Web appficada
Progressive Web Apps: o melhor da Web appficada
 
Tudo que você precisa saber sobre picture e srcset
Tudo que você precisa saber sobre picture e srcsetTudo que você precisa saber sobre picture e srcset
Tudo que você precisa saber sobre picture e srcset
 
Como o HTTP/2 vai mudar sua vida
Como o HTTP/2 vai mudar sua vidaComo o HTTP/2 vai mudar sua vida
Como o HTTP/2 vai mudar sua vida
 
Métricas e a automatização do controle de qualidade
Métricas e a automatização do controle de qualidadeMétricas e a automatização do controle de qualidade
Métricas e a automatização do controle de qualidade
 
HTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio Lopes
HTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio LopesHTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio Lopes
HTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio Lopes
 
Offline Web com Service Workers - Sérgio Lopes
Offline Web com Service Workers - Sérgio LopesOffline Web com Service Workers - Sérgio Lopes
Offline Web com Service Workers - Sérgio Lopes
 
Design Responsivo - MobCamp 2014
Design Responsivo - MobCamp 2014Design Responsivo - MobCamp 2014
Design Responsivo - MobCamp 2014
 
Além do responsive design: a mudança de paradigma do design adaptativo e os m...
Além do responsive design: a mudança de paradigma do design adaptativo e os m...Além do responsive design: a mudança de paradigma do design adaptativo e os m...
Além do responsive design: a mudança de paradigma do design adaptativo e os m...
 
Por trás dos frameworks e além do reflection
Por trás dos frameworks e além do reflectionPor trás dos frameworks e além do reflection
Por trás dos frameworks e além do reflection
 
Otimizações de Performance Web: Desafios do Mundo Mobile
Otimizações de Performance Web: Desafios do Mundo MobileOtimizações de Performance Web: Desafios do Mundo Mobile
Otimizações de Performance Web: Desafios do Mundo Mobile
 
Introducao a inteligencia artificial na educacao
Introducao a inteligencia artificial na educacaoIntroducao a inteligencia artificial na educacao
Introducao a inteligencia artificial na educacao
 
Os Caminhos de uma Estratégia Mobile
Os Caminhos de uma Estratégia MobileOs Caminhos de uma Estratégia Mobile
Os Caminhos de uma Estratégia Mobile
 
[FrontInBH 2012] Por uma web mais rápida: técnicas de otimizações de sites - ...
[FrontInBH 2012] Por uma web mais rápida: técnicas de otimizações de sites - ...[FrontInBH 2012] Por uma web mais rápida: técnicas de otimizações de sites - ...
[FrontInBH 2012] Por uma web mais rápida: técnicas de otimizações de sites - ...
 
Plataforma java: detalhes da JVM
Plataforma java: detalhes da JVMPlataforma java: detalhes da JVM
Plataforma java: detalhes da JVM
 
CDI e as ideias pro futuro do VRaptor
CDI e as ideias pro futuro do VRaptorCDI e as ideias pro futuro do VRaptor
CDI e as ideias pro futuro do VRaptor
 
Qualidade de código - a qualidade que faz a diferença
Qualidade de código - a qualidade que faz a diferençaQualidade de código - a qualidade que faz a diferença
Qualidade de código - a qualidade que faz a diferença
 
Design de código: qualidade que faz a diferença, qcon 2011
Design de código: qualidade que faz a diferença, qcon 2011Design de código: qualidade que faz a diferença, qcon 2011
Design de código: qualidade que faz a diferença, qcon 2011
 
[QCon 2011] Por uma web mais rápida: técnicas de otimização de Sites
[QCon 2011] Por uma web mais rápida: técnicas de otimização de Sites[QCon 2011] Por uma web mais rápida: técnicas de otimização de Sites
[QCon 2011] Por uma web mais rápida: técnicas de otimização de Sites
 

Rest in Brazil Services and Issues to be Fought

  • 1. REST IN BRAZIL SERVICES AND ISSUESTO BE FOUGHT Guilherme de Azevedo Silveira Tuesday, May 14, 13
  • 2. BRAZIL • huge • huge custom software development market • huge software integration issues • huge cobol, vb, delphi, java, c# legacy systems • software development and educational revolution Tuesday, May 14, 13
  • 3. GUILHERME SILVEIRA • Caelum CTO • Software Development Education • http://www.caelum.com.br • http://www.casadocodigo.com.br • guilherme.silveira@caelum.com.br Tuesday, May 14, 13
  • 4. GUILHERME SILVEIRA • Applied Math (Discrete Dynamic Systems) • REST (in practice) • 고려사이버대학교 컴퓨터정보통신학과 (Cyber Korea University) Tuesday, May 14, 13
  • 5. AGENDA • brazilian projects • industry • industry issues • adoption issues • educational issues Tuesday, May 14, 13
  • 6. ALEXANDRIA • engineering.abril.com.br • Abril Midia • graphic • distributor • education • CMS • Luis Cipriani Tuesday, May 14, 13
  • 7. ALEXANDRIA: CONTENT • 3 languages types • 7 databases types • 9 frameworks • 207 machines • 12.5 million pageview/month Tuesday, May 14, 13
  • 8. ALEXANDRIA:APPROACH • Layered System • Stateless • Cache • Code-on-demand • ... Tuesday, May 14, 13
  • 9. ALEXANDRIA: CONCLUSIONS • Long term needs • Documentation need++ • Focus on protocol improvements later Tuesday, May 14, 13
  • 10. ALEXANDRIA • REST:Advanced ResearchTopics and Practical Applications, Springer Tuesday, May 14, 13
  • 11. CAELUM • live learning • enrollments, payments • alumni • job postings Tuesday, May 14, 13
  • 12. training java + vraptor one system alumni.caelum.com.br RoR ondetrabalhar.com ruby mysql mysql solr Tuesday, May 14, 13
  • 13. CAELUM ONLINE • online: learning environment • training • exercises • videos • explanations • experience exchange • payments Tuesday, May 14, 13
  • 14. training java + vraptor one system alumni.caelum.com.br RoR ondetrabalhar.com ruby gnarus scala + vraptor casa do código java + RoR payments java metrics java + octave interestie sinatra + sequel sugest java promo RoR analyser 1 sinatra analyser 2 java exercises RoR badges ruby + rails mountable engine RoR + 6 projects RoR + 1 ‘pages’ jsaws tickets RoR books sinatra + sequel mysql mysql mysql mysql mysql redis redis solr github postgresql postgresql postgresql postgresql postgresql postgresql Tuesday, May 14, 13
  • 15. CAELUM ONLINE • > 18 systems • 4 language types • 5 frameworks • 5 database types • < 20 developers Tuesday, May 14, 13
  • 16. training java + vraptor one system alumni.caelum.com.br RoR ondetrabalhar.com ruby gnarus java + vraptor casa do código java + RoR payments java metrics java + octave interestie sinatra + sequel sugest java promo RoR analyser 1 sinatra analyser 2 java exercises RoR badges ruby + rails mountable engine RoR + 6 projects RoR + 1 ‘pages’ jsaws tickets RoR books sinatra + sequel mysql mysql mysql mysql mysql redis redis solr github postgresql postgresql postgresql postgresql postgresql postgresql Tuesday, May 14, 13
  • 17. WE STUDY • advantages • disadvantages Tuesday, May 14, 13
  • 18. WHAT ABOUT OTHERS? • people • companies • projects • schools Tuesday, May 14, 13
  • 19. DEVELOPERS • know • GET, POST • html • js Tuesday, May 14, 13
  • 20. DEVELOPERS • know • GET, POST • html • js • no idea • http • hypermedia Tuesday, May 14, 13
  • 21. COMPANIES • know • GET, POST • html • js Tuesday, May 14, 13
  • 22. COMPANIES • know • GET, POST • html • js • no idea • http • hypermedia Tuesday, May 14, 13
  • 23. SCHOOLS • teach • GET, POST • html • js Tuesday, May 14, 13
  • 24. SCHOOLS • know • GET, POST • html • js • no idea • http • hypermedia Tuesday, May 14, 13
  • 25. companies looking ahead academia the rest of the industry Tuesday, May 14, 13
  • 27. I FEEL LOST as industry Tuesday, May 14, 13
  • 28. as a client Tuesday, May 14, 13
  • 29. AS A CLIENT, HOW DO I? • service discovery • in an android environment • google intents; web intents • on the web? • web intents? • richer? standards? good practices? • “A Framework for Self-Descriptive RESTful Services” Tuesday, May 14, 13
  • 30. as a client, i know my providers Tuesday, May 14, 13
  • 31. # OF ACTIONS SUPPORTED? • web intents scales on providers • what about # of actions? • “Distributed Affordance: an Open-world Assumption for Hypermedia” Tuesday, May 14, 13
  • 32. as a company Tuesday, May 14, 13
  • 33. AN EXISTING SERVICE • migration costs x no costs • how do I publish my service? • where do I publish my service? • “A Concept for Generating Simplified RESTful Interfaces” Tuesday, May 14, 13
  • 34. AS A NEW SERVICE • design? • json? • rdf? • “ModelYour Application Domain, NotYour JSON Structures” Tuesday, May 14, 13
  • 35. as a hammer Tuesday, May 14, 13
  • 36. we see everything as nails Tuesday, May 14, 13
  • 38. we see the problem as an human issue Tuesday, May 14, 13
  • 39. we see the problem as an human issue Tuesday, May 14, 13
  • 40. we see the problem as an human issue •TDD •test first •+ other software engineering practices •Mauricio Aniche’s research •http://www.aniche.com.br/publications Tuesday, May 14, 13
  • 41. we see the problem as an human issue •developers •solve problems with and withoutTDD •analyze the solutions Tuesday, May 14, 13
  • 42. we see the problem as an human issue •“No difference betweenTDD and noTDD.” •“Experience and wisdom makes the difference.” Tuesday, May 14, 13
  • 43. we see the problem as an human issue •Lutz Prechelt •An empirical comparison of C, C++, Java, Perl, Python, Rexx, andTcl •http://page.mi.fu-berlin.de/prechelt/Biblio/ jccpprt_computer2000.pdf Tuesday, May 14, 13
  • 44. we see the problem as an human issue •developers •solve a problem in different languages Tuesday, May 14, 13
  • 45. we see the problem as an human issue •“the differences between languages tend to be smaller than the typical differences due to different programmers within the same language” Tuesday, May 14, 13
  • 47. we see the problem as an educational issue Tuesday, May 14, 13
  • 48. we see the problem as an educational issue Tuesday, May 14, 13
  • 49. SERVICE PRODUCTION CHAIN school graduation industry academia we see the problem as an educational issue Tuesday, May 14, 13
  • 50. academia & industry •try to bring every company and developer closer to research ? •if not researching, trying in practice and analyzing its results? Tuesday, May 14, 13
  • 51. question: how can we make others think about REST? Tuesday, May 14, 13
  • 52. how can we make others think about REST? Guilherme Silveira guilherme.silveira@caelum.com.br THANKYOU Tuesday, May 14, 13