Wsrest13 gilherme keynote

222 views

Published on

The Fourth International Workshop on RESTful Design, WS-REST 2013
REST in Brazil - Industry Keynote
On learning REST, and its impact on the design of massive applications in Brazil

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
222
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Wsrest13 gilherme keynote

  1. 1. REST in BrazilServices and Issues to be foughtGuilherme de Azevedo Silveira
  2. 2. Brazil• huge• huge custom software development market• huge software integration issues• huge cobol, vb, delphi, java, c# legacy systems• software development and educationalrevolution
  3. 3. Guilherme Silveira• Caelum CTO• Software Development Education• http://www.caelum.com.br• http://www.casadocodigo.com.br• guilherme.silveira@caelum.com.br
  4. 4. Guilherme Silveira• Applied Math (Discrete Dynamic Systems)• REST (in practice)• 고려사이버대학교 컴퓨터정보통신학과 (Cyber KoreaUniversity)
  5. 5. AGENDA• brazilian projects• industry• industry issues• adoption issues• educational issues
  6. 6. Alexandria• engineering.abril.com.br• Abril Midia• graphic• distributor• education• CMS• Luis Cipriani
  7. 7. Alexandria: content• 3 languages types• 7 databases types• 9 frameworks• 207 machines• 12.5 million pageview/month
  8. 8. Alexandria: approach• Layered System• Stateless• Cache• Code-on-demand• ...
  9. 9. Alexandria: conclusions• Long term needs• Documentation need++• Focus on protocol improvements later
  10. 10. Alexandria• REST: Advanced Research Topics andPractical Applications, Springer
  11. 11. Caelum• live learning• enrollments, payments• alumni• job postings
  12. 12. trainingjava + vraptorone systemalumni.caelum.com.brRoRondetrabalhar.comrubymysqlmysqlsolr
  13. 13. Caelum Online• online: learning environment• training• exercises• videos• explanations• experience exchange• payments
  14. 14. trainingjava + vraptorone systemalumni.caelum.com.brRoRondetrabalhar.comrubygnarusscala + vraptorcasa docódigojava + RoRpaymentsjavametricsjava + octaveinterestiesinatra + sequelsugestjavapromoRoRanalyser 1sinatraanalyser 2javaexercisesRoRbadgesruby + railsmountableengineRoR + 6 projectsRoR+ 1 „pages‟jsaws ticketsRoRbookssinatra + sequelmysqlmysqlmysqlmysqlmysqlredisredissolrgithubpostgresql postgresqlpostgresqlpostgresqlpostgresqlpostgresql
  15. 15. Caelum Online• > 18 systems• 4 language types• 5 frameworks• 5 database types• < 20 developers
  16. 16. trainingjava + vraptorone systemalumni.caelum.com.brRoRondetrabalhar.comrubygnarusjava + vraptorcasa docódigojava + RoRpaymentsjavametricsjava + octaveinterestiesinatra + sequelsugestjavapromoRoRanalyser 1sinatraanalyser 2javaexercisesRoRbadgesruby + railsmountableengineRoR + 6 projectsRoR+ 1 „pages‟jsaws ticketsRoRbookssinatra + sequelmysqlmysqlmysqlmysqlmysqlredisredissolrgithubpostgresql postgresqlpostgresqlpostgresqlpostgresqlpostgresql
  17. 17. we study• advantages• disadvantages
  18. 18. what about others?• people• companies• projects• schools
  19. 19. developers• know• GET, POST• html• js
  20. 20. developers• know• GET, POST• html• js• no idea• http• hypermedia• code on demand
  21. 21. companies• know• GET, POST• html• js
  22. 22. companies• know• GET, POST• html• js• no idea• http• hypermedia• code on demand
  23. 23. schools• teach• GET, POST• html• js
  24. 24. schools• know• GET, POST• html• js• no idea• http• hypermedia• code on demand
  25. 25. companieslooking aheadacademiathe rest of the industry
  26. 26. gapourstudyeveryone‟spractice
  27. 27. i feel lostas industry
  28. 28. as a client
  29. 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 RESTfulServices”
  30. 30. as a client, i know myproviders
  31. 31. # of actions supported?• web intents scales on providers• what about # of actions?• “Distributed Affordance: an Open-worldAssumption for Hypermedia”
  32. 32. as a company
  33. 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 SimplifiedRESTful Interfaces”
  34. 34. as a new service• design?• json?• rdf?• “Model Your Application Domain, Not YourJSON Structures”
  35. 35. as a hammer
  36. 36. we see everything asnails
  37. 37. as a learningenvironment
  38. 38. we see the problemas an human issue
  39. 39. we see the problem asan human issue
  40. 40. we see the problem as anhuman issue• TDD• test first• + other software engineering practices• Mauricio Aniche‟s research• http://www.aniche.com.br/publications
  41. 41. we see the problem as anhuman issue• developers• solve problems with and without TDD• analyze the solutions
  42. 42. we see the problem as anhuman issue• “No difference between TDD and noTDD.”• “Experience and wisdom makes thedifference.”
  43. 43. we see the problem as anhuman 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
  44. 44. we see the problem as anhuman issue• developers• solve a problem in different languages
  45. 45. we see the problem as anhuman issue• “the differences between languages tendto be smaller than the typical differencesdue to different programmers within thesame language”
  46. 46. as a learningenvironment
  47. 47. we see the problemas an educationalissue
  48. 48. we see the problem asan educational issue
  49. 49. service production chainschoolgraduationindustryacademiawe see the problem as aneducational issue
  50. 50. academia & industry• try to bring every company anddeveloper closer to research ?• if not researching, trying in practice andanalyzing its results?
  51. 51. question:how can we makeothers think aboutREST?
  52. 52. how can we make others think about REST?Guilherme Silveiraguilherme.silveira@caelum.com.brTHANK YOU

×