52
REST IN BRAZIL SERVICES AND ISSUES TO BE FOUGHT Guilherme de Azevedo Silveira Tuesday, May 14, 13

Wsrest 2013

  • Upload
    caelum

  • View
    1.208

  • Download
    0

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Wsrest 2013

REST IN BRAZILSERVICES AND ISSUES TO BE FOUGHTGuilherme de Azevedo Silveira

Tuesday, May 14, 13

Page 2: Wsrest 2013

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

Page 3: Wsrest 2013

GUILHERME SILVEIRA

• Caelum CTO

• Software Development Education

• http://www.caelum.com.br

• http://www.casadocodigo.com.br

[email protected]

Tuesday, May 14, 13

Page 4: Wsrest 2013

GUILHERME SILVEIRA

• Applied Math (Discrete Dynamic Systems)

• REST (in practice)

•고려사이버대학교 컴퓨터정보통신학과 (Cyber Korea University)

Tuesday, May 14, 13

Page 5: Wsrest 2013

AGENDA

• brazilian projects

• industry

• industry issues

• adoption issues

• educational issues

Tuesday, May 14, 13

Page 6: Wsrest 2013

ALEXANDRIA• engineering.abril.com.br

• Abril Midia

• graphic

• distributor

• education

• CMS

• Luis Cipriani

Tuesday, May 14, 13

Page 7: Wsrest 2013

ALEXANDRIA: CONTENT

• 3 languages types

• 7 databases types

• 9 frameworks

• 207 machines

• 12.5 million pageview/month

Tuesday, May 14, 13

Page 8: Wsrest 2013

ALEXANDRIA: APPROACH

• Layered System

• Stateless

• Cache

• Code-on-demand

• ...

Tuesday, May 14, 13

Page 9: Wsrest 2013

ALEXANDRIA: CONCLUSIONS

• Long term needs

• Documentation need++

• Focus on protocol improvements later

Tuesday, May 14, 13

Page 10: Wsrest 2013

ALEXANDRIA

• REST: Advanced Research Topics and Practical Applications, Springer

Tuesday, May 14, 13

Page 11: Wsrest 2013

CAELUM

• live learning

• enrollments, payments

• alumni

• job postings

Tuesday, May 14, 13

Page 12: Wsrest 2013

trainingjava + vraptor

one systemalumni.caelum.com.br

RoR

ondetrabalhar.comruby

mysqlmysql

solr

Tuesday, May 14, 13

Page 13: Wsrest 2013

CAELUM ONLINE

• online: learning environment

• training

• exercises

• videos

• explanations

• experience exchange

• paymentsTuesday, May 14, 13

Page 14: Wsrest 2013

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

Page 15: Wsrest 2013

CAELUM ONLINE

• > 18 systems

• 4 language types

• 5 frameworks

• 5 database types

• < 20 developers

Tuesday, May 14, 13

Page 16: Wsrest 2013

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

Page 17: Wsrest 2013

WE STUDY

• advantages

• disadvantages

Tuesday, May 14, 13

Page 18: Wsrest 2013

WHAT ABOUT OTHERS?

• people

• companies

• projects

• schools

Tuesday, May 14, 13

Page 19: Wsrest 2013

DEVELOPERS

• know

• GET, POST

• html

• js

Tuesday, May 14, 13

Page 20: Wsrest 2013

DEVELOPERS• know

• GET, POST

• html

• js

• no idea

• http

• hypermedia

Tuesday, May 14, 13

Page 21: Wsrest 2013

COMPANIES

• know

• GET, POST

• html

• js

Tuesday, May 14, 13

Page 22: Wsrest 2013

COMPANIES• know

• GET, POST

• html

• js

• no idea

• http

• hypermedia

Tuesday, May 14, 13

Page 23: Wsrest 2013

SCHOOLS

• teach

• GET, POST

• html

• js

Tuesday, May 14, 13

Page 24: Wsrest 2013

SCHOOLS• know

• GET, POST

• html

• js

• no idea

• http

• hypermedia

Tuesday, May 14, 13

Page 25: Wsrest 2013

companieslooking ahead

academia

the rest of the industry

Tuesday, May 14, 13

Page 26: Wsrest 2013

GAP

ourstudy

everyone’spractice

Tuesday, May 14, 13

Page 27: Wsrest 2013

I FEEL LOST

as industry

Tuesday, May 14, 13

Page 28: Wsrest 2013

as a client

Tuesday, May 14, 13

Page 29: Wsrest 2013

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

Page 30: Wsrest 2013

as a client, i know my providers

Tuesday, May 14, 13

Page 31: Wsrest 2013

# OF ACTIONS SUPPORTED?

• web intents scales on providers

• what about # of actions?

• “Distributed Affordance: an Open-world Assumption for Hypermedia”

Tuesday, May 14, 13

Page 32: Wsrest 2013

as a company

Tuesday, May 14, 13

Page 33: Wsrest 2013

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

Page 34: Wsrest 2013

AS A NEW SERVICE

• design?

• json?

• rdf?

• “Model Your Application Domain, Not Your JSON Structures”

Tuesday, May 14, 13

Page 35: Wsrest 2013

as a hammer

Tuesday, May 14, 13

Page 36: Wsrest 2013

we see everything as nails

Tuesday, May 14, 13

Page 37: Wsrest 2013

as a learning environment

Tuesday, May 14, 13

Page 38: Wsrest 2013

we see the problem as an human issue

Tuesday, May 14, 13

Page 39: Wsrest 2013

we see the problem asan human issue

Tuesday, May 14, 13

Page 40: Wsrest 2013

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

Page 41: Wsrest 2013

we see the problem as an human issue

• developers

• solve problems with and without TDD

• analyze the solutions

Tuesday, May 14, 13

Page 42: Wsrest 2013

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

Page 43: Wsrest 2013

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

Page 44: Wsrest 2013

we see the problem as an human issue

• developers

• solve a problem in different languages

Tuesday, May 14, 13

Page 45: Wsrest 2013

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

Page 46: Wsrest 2013

as a learning environment

Tuesday, May 14, 13

Page 47: Wsrest 2013

we see the problem as an educational issue

Tuesday, May 14, 13

Page 48: Wsrest 2013

we see the problem asan educational issue

Tuesday, May 14, 13

Page 49: Wsrest 2013

SERVICE PRODUCTION CHAIN

school

graduation

industry

academia

we see the problem as an educational issue

Tuesday, May 14, 13

Page 50: Wsrest 2013

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

Page 51: Wsrest 2013

question:how can we make others think about

REST?

Tuesday, May 14, 13

Page 52: Wsrest 2013

how can we make others think about REST?

Guilherme [email protected]

THANK YOU

Tuesday, May 14, 13