SlideShare ist ein Scribd-Unternehmen logo
1 von 52
REST in Brazil
Services and Issues to be fought
Guilherme de Azevedo Silveira
Brazil
• huge
• huge custom software development market
• huge software integration issues
• huge cobol, vb, delphi, java, c# legacy systems
• software development and educational
revolution
Guilherme Silveira
• Caelum CTO
• Software Development Education
• http://www.caelum.com.br
• http://www.casadocodigo.com.br
• guilherme.silveira@caelum.com.br
Guilherme Silveira
• Applied Math (Discrete Dynamic Systems)
• REST (in practice)
• 고려사이버대학교 컴퓨터정보통신학과 (Cyber Korea
University)
AGENDA
• brazilian projects
• industry
• industry issues
• adoption issues
• educational issues
Alexandria
• engineering.abril.com.br
• Abril Midia
• graphic
• distributor
• education
• CMS
• Luis Cipriani
Alexandria: content
• 3 languages types
• 7 databases types
• 9 frameworks
• 207 machines
• 12.5 million pageview/month
Alexandria: approach
• Layered System
• Stateless
• Cache
• Code-on-demand
• ...
Alexandria: conclusions
• Long term needs
• Documentation need++
• Focus on protocol improvements later
Alexandria
• REST: Advanced Research Topics and
Practical Applications, Springer
Caelum
• live learning
• enrollments, payments
• alumni
• job postings
training
java + vraptor
one system
alumni.caelum.com.b
r
RoR
ondetrabalhar.com
ruby
mysql
mysql
solr
Caelum Online
• online: learning environment
• training
• exercises
• videos
• explanations
• experience exchange
• payments
training
java + vraptor
one system
alumni.caelum.com.b
r
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
Caelum Online
• > 18 systems
• 4 language types
• 5 frameworks
• 5 database types
• < 20 developers
training
java + vraptor
one system
alumni.caelum.com.b
r
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
we study
• advantages
• disadvantages
what about others?
• people
• companies
• projects
• schools
developers
• know
• GET, POST
• html
• js
developers• know
• GET, POST
• html
• js
• no idea
• http
• hypermedia
• code on demand
companies
• know
• GET, POST
• html
• js
companies• know
• GET, POST
• html
• js
• no idea
• http
• hypermedia
• code on demand
schools
• teach
• GET, POST
• html
• js
schools• know
• GET, POST
• html
• js
• no idea
• http
• hypermedia
• code on demand
companies
looking ahead
academia
the rest of the industry
gap
our
study
everyone‟s
practice
i feel lost
as industry
as a client
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”
as a client, i know my
providers
# of actions supported?
• web intents scales on providers
• what about # of actions?
• “Distributed Affordance: an Open-world
Assumption for Hypermedia”
as a company
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”
as a new service
• design?
• json?
• rdf?
• “Model Your Application Domain, Not Your
JSON Structures”
as a hammer
we see everything as
nails
as a learning
environment
we see the problem
as an human issue
we see the problem as
an human issue
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
we see the problem as an
human issue
• developers
• solve problems with and without TDD
• analyze the solutions
we see the problem as an
human issue
• “No difference between TDD and no
TDD.”
• “Experience and wisdom makes the
difference.”
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_computer
2000.pdf
we see the problem as an
human issue
• developers
• solve a problem in different languages
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”
as a learning
environment
we see the problem
as an educational
issue
we see the problem as
an educational issue
service production chain
school
graduation
industry
academia
we see the problem as an
educational issue
academia & industry
• try to bring every company and
developer closer to research ?
• if not researching, trying in practice and
analyzing its results?
question:
how can we make
others think about
REST?
how can we make others think about REST?
Guilherme Silveira
guilherme.silveira@caelum.com.br
THANK YOU

Weitere ähnliche Inhalte

Andere mochten auch

Xtremekeratincare.com
Xtremekeratincare.comXtremekeratincare.com
Xtremekeratincare.com
xtremekeratin
 
Cspd san fran2011
Cspd san fran2011Cspd san fran2011
Cspd san fran2011
tbg-designs
 
IT復興円卓会議資料
IT復興円卓会議資料IT復興円卓会議資料
IT復興円卓会議資料
Ishii Miho
 
Jackson m ci583_the artist teacher identity in the classroom
Jackson m ci583_the artist teacher identity in the classroomJackson m ci583_the artist teacher identity in the classroom
Jackson m ci583_the artist teacher identity in the classroom
mkjackson
 
Roman inventions (group 9)
Roman inventions (group 9)Roman inventions (group 9)
Roman inventions (group 9)
kochh13
 

Andere mochten auch (19)

Xtremekeratincare.com
Xtremekeratincare.comXtremekeratincare.com
Xtremekeratincare.com
 
Sustainable Compliance For PCI DSS Standard
Sustainable Compliance For PCI DSS StandardSustainable Compliance For PCI DSS Standard
Sustainable Compliance For PCI DSS Standard
 
Fulfilling the Hypermedia Constraint via HTTP OPTIONS, The HTTP Vocabulary In...
Fulfilling the Hypermedia Constraint via HTTP OPTIONS, The HTTP Vocabulary In...Fulfilling the Hypermedia Constraint via HTTP OPTIONS, The HTTP Vocabulary In...
Fulfilling the Hypermedia Constraint via HTTP OPTIONS, The HTTP Vocabulary In...
 
Life Support
Life SupportLife Support
Life Support
 
Presentación ingles evet2edu
Presentación ingles evet2eduPresentación ingles evet2edu
Presentación ingles evet2edu
 
Propuesta grupal
Propuesta grupal Propuesta grupal
Propuesta grupal
 
Meetup intro presentation
Meetup intro presentationMeetup intro presentation
Meetup intro presentation
 
English class 4
English class 4English class 4
English class 4
 
The Red Sea Crossing
The Red Sea CrossingThe Red Sea Crossing
The Red Sea Crossing
 
Cspd san fran2011
Cspd san fran2011Cspd san fran2011
Cspd san fran2011
 
XML Technologies for RESTful Services Development
XML Technologies for RESTful Services DevelopmentXML Technologies for RESTful Services Development
XML Technologies for RESTful Services Development
 
IT復興円卓会議資料
IT復興円卓会議資料IT復興円卓会議資料
IT復興円卓会議資料
 
RestFS: Resources and Services are Filesystems, Too
RestFS: Resources and Services are Filesystems, TooRestFS: Resources and Services are Filesystems, Too
RestFS: Resources and Services are Filesystems, Too
 
REST and Linked Data: a match made for domain driven development?
REST and Linked Data: a match made for domain driven development?REST and Linked Data: a match made for domain driven development?
REST and Linked Data: a match made for domain driven development?
 
Teaching Old Services New Tricks: Adding HATEOAS Support as an Afterthought
Teaching Old Services New Tricks: Adding HATEOAS Support as an AfterthoughtTeaching Old Services New Tricks: Adding HATEOAS Support as an Afterthought
Teaching Old Services New Tricks: Adding HATEOAS Support as an Afterthought
 
Trabajo de excel
Trabajo de excelTrabajo de excel
Trabajo de excel
 
Jackson m ci583_the artist teacher identity in the classroom
Jackson m ci583_the artist teacher identity in the classroomJackson m ci583_the artist teacher identity in the classroom
Jackson m ci583_the artist teacher identity in the classroom
 
A Framework for Self-descriptive RESTful Services
A Framework for Self-descriptive RESTful ServicesA Framework for Self-descriptive RESTful Services
A Framework for Self-descriptive RESTful Services
 
Roman inventions (group 9)
Roman inventions (group 9)Roman inventions (group 9)
Roman inventions (group 9)
 

Ähnlich wie Wsrest13 gilherme keynote

Wsrest 2013
Wsrest 2013Wsrest 2013
Wsrest 2013
Caelum
 
Dev ops lessons learned - Michael Collins
Dev ops lessons learned  - Michael CollinsDev ops lessons learned  - Michael Collins
Dev ops lessons learned - Michael Collins
Devopsdays
 
Feature driven agile oriented web applications
Feature driven agile oriented web applicationsFeature driven agile oriented web applications
Feature driven agile oriented web applications
Ram G Athreya
 

Ähnlich wie Wsrest13 gilherme keynote (20)

Wsrest 2013
Wsrest 2013Wsrest 2013
Wsrest 2013
 
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...
 
PyData Texas 2015 Keynote
PyData Texas 2015 KeynotePyData Texas 2015 Keynote
PyData Texas 2015 Keynote
 
Dev ops lessons learned - Michael Collins
Dev ops lessons learned  - Michael CollinsDev ops lessons learned  - Michael Collins
Dev ops lessons learned - Michael Collins
 
Oscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo groupOscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo group
 
Open Source Lessons from the TODO Group
Open Source Lessons from the TODO GroupOpen Source Lessons from the TODO Group
Open Source Lessons from the TODO Group
 
Prototyping like it is 2022
Prototyping like it is 2022 Prototyping like it is 2022
Prototyping like it is 2022
 
Greenfield Java 2013
Greenfield Java 2013Greenfield Java 2013
Greenfield Java 2013
 
2023-My AI Experience - Colm Dunphy.pdf
2023-My AI Experience - Colm Dunphy.pdf2023-My AI Experience - Colm Dunphy.pdf
2023-My AI Experience - Colm Dunphy.pdf
 
Building a Startup in .NET
Building a Startup in .NETBuilding a Startup in .NET
Building a Startup in .NET
 
JSON all the way
JSON all the wayJSON all the way
JSON all the way
 
How to get started in Open Source!
How to get started in Open Source!How to get started in Open Source!
How to get started in Open Source!
 
Mark Tortoricci - Talent42 2015
Mark Tortoricci - Talent42 2015Mark Tortoricci - Talent42 2015
Mark Tortoricci - Talent42 2015
 
Feature driven agile oriented web applications
Feature driven agile oriented web applicationsFeature driven agile oriented web applications
Feature driven agile oriented web applications
 
Azure Machine Learning
Azure Machine LearningAzure Machine Learning
Azure Machine Learning
 
A guide to hiring a great developer to build your first app (redacted version)
A guide to hiring a great developer to build your first app (redacted version)A guide to hiring a great developer to build your first app (redacted version)
A guide to hiring a great developer to build your first app (redacted version)
 
Craft of coding
Craft of codingCraft of coding
Craft of coding
 
api-driven-development.pdf
api-driven-development.pdfapi-driven-development.pdf
api-driven-development.pdf
 
How Open Source / Open Technology Could Help On Your Project
How Open Source / Open Technology Could Help On Your ProjectHow Open Source / Open Technology Could Help On Your Project
How Open Source / Open Technology Could Help On Your Project
 
PHP + Business = Money!
PHP + Business = Money!PHP + Business = Money!
PHP + Business = Money!
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Kürzlich hochgeladen (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

Wsrest13 gilherme keynote