Upload
caelum
View
1.208
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
REST IN BRAZILSERVICES AND ISSUES TO BE FOUGHTGuilherme 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
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 Research Topics and Practical Applications, Springer
Tuesday, May 14, 13
CAELUM
• live learning
• enrollments, payments
• alumni
• job postings
Tuesday, May 14, 13
trainingjava + vraptor
one systemalumni.caelum.com.br
RoR
ondetrabalhar.comruby
mysqlmysql
solr
Tuesday, May 14, 13
CAELUM ONLINE
• online: learning environment
• training
• exercises
• videos
• explanations
• experience exchange
• paymentsTuesday, May 14, 13
trainingjava + vraptor
one systemalumni.caelum.com.br
RoR
ondetrabalhar.comruby
gnarusscala + vraptor
casa do códigojava + RoR
paymentsjava
metricsjava + octave
interestiesinatra + sequel
sugestjava
promoRoR
analyser 1sinatra
analyser 2java
exercisesRoR
badgesruby + rails mountable engine
RoR + 6 projectsRoR
+ 1 ‘pages’jsaws tickets
RoR
bookssinatra + sequel
mysqlmysql
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
trainingjava + vraptor
one systemalumni.caelum.com.br
RoR
ondetrabalhar.comruby
gnarusjava + vraptor
casa do códigojava + RoR
paymentsjava
metricsjava + octave
interestiesinatra + sequel
sugestjava
promoRoR
analyser 1sinatra
analyser 2java
exercisesRoR
badgesruby + rails mountable engine
RoR + 6 projectsRoR
+ 1 ‘pages’jsaws tickets
RoR
bookssinatra + sequel
mysqlmysql
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
companieslooking ahead
academia
the rest of the industry
Tuesday, May 14, 13
GAP
ourstudy
everyone’spractice
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?
• “Model Your Application Domain, Not Your 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 asan 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 without TDD
• analyze the solutions
Tuesday, May 14, 13
we see the problem as an human issue
• “No difference between TDD and no TDD.”
• “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, and Tcl
• 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 asan 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