SlideShare uma empresa Scribd logo
Rails as a Service
Mini-curso pros dahora de uébi
Quem sou eu?
• Developer por escolha
• Frequentador de bares “finos”
• Apaixonado por programar (em um caso
recente com ruby)
• Skatista aposentado
Por que eu estou aqui?
O que vamos ver?
• Um pouco sobre modelo REST
• Como o rails pode nos ajudar
• Pegando nosso cinto de utilidades :O
• Um verdade incoveniente
• Criando uma interface sem pensar no
backend :O (2)
O que é REST?
• A Transferência de Estado
Representativo (Representational State
Transfer) ou somente (REST) é uma técnica
de engenharia de software para sistemas
hipermídia distribuídos como a
World Wide Web. O termo se originou no ano
de 2000, em uma tese de doutorado1 (PHD)
sobre a web escrita por Roy Fielding, um dos
principais autores da especificaç ão do
protocolo HTTP que é utilizado por sites da
internet.
Mais didático por favor
• Basicamente, você representa
completamente (ou quase) a imagem do
seu website.Você representa ele em
DADOS.
O que são serviços
RESTFULL?
• Serviços RESTFULL são serviços que
expõe dados a um endpoint seguindo os
padrões do REST.
E o Rails, foi idealizado
a partir dessa
arquitetura
O que é SOAP?
• SOAP (Simple Object Access
Protocol, em português
Protocolo Simples de Acesso
a Objetos) é um protocolo para
troca de informaç ões estruturadas
em uma plataforma
descentralizada e distribuída.
Por que não?
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.2-b04</version>
</dependency>
<dependency>
<groupId>org.jboss.spec.javax.interceptor</groupId>
<artifactId>jboss-interceptors-api_1.2_spec</artifactId>
<version>1.0.0.Alpha3</version>
</dependency>
<dependency>
<groupId>javax.enterprise</groupId>
<artifactId>cdi-api</artifactId>
<version>1.1-20130403</version>
</dependency>
<dependency>
<groupId>org.jboss.weld</groupId>
<artifactId>weld-core</artifactId>
<version>2.0.0.CR2</version>
</dependency>
<dependency>
<groupId>org.jboss.as</groupId>
<artifactId>jboss-as-arquillian-container-managed</artifactId>
<version>${jbossas.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.container</groupId>
<artifactId>arquillian-weld-se-embedded-1.1</artifactId>
<version>1.0.0.CR6</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-webdav</artifactId>
<version>1.0-beta-2</version>
</extension>
</extensions>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.0.1</version>
<executions>
<execution>
<id>enforce-java</id>
<goals>
<goal>enforce</goal>
</goals>
</execution>
</executions>
<configuration>
<rules>
<requireJavaVersion>
<!-- require JDK 1.6 to run the build -->
<version>[1.6,)</version>
</requireJavaVersion>
</rules>
</configuration>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>2.5</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifestEntries>
<Implementation-Title>${project.artifactId}</Implementation-Title>
<Implementation-Version>${project.version}</Implementation-Version>
<Implementation-Vendor>${project.parent.groupId}</Implementation-Vendor>
<Implementation-Vendor-Id>${project.parent.groupId}</Implementation-Vendor-Id>
<Implementation-URL>http://validator.hibernate.org</Implementation-URL>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.9.1</version>
<configuration>
<configLocation>src/main/build-config/checkstyle.xml</configLocation>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
<violationSeverity>error</violationSeverity>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<!-- These classe s are imported from oth er sources and are not re -formatted-->
<excludes>**/ConcurrentReferenceHashMap.java,**/TypeHelper*.java</excludes>
</configuration>
<executions>
<execution>
<id>check-style</id>
<phase>verify</phase>
<goals>
<goal>checkstyle</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Run mvn animal-sniffer:ch eck to check th at o nly Java 1.6 APIs are use d -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>animal-sniffer-maven-plugin</artifactId>
<version>1.9</version>
<configuration>
<signature>
<groupId>org.codehaus.mojo.signature</groupId>
<artifactId>java16</artifactId>
<version>1.0</version>
</signature>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12</version>
<configuration>
<forkMode>once</forkMode>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
<includes>
<include>**/*Test.java</include>
</includes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.12</version>
<executions>
<execution>
<id>generate-test-report</id>
<phase>test</phase>
<goals>
<goal>report-only</goal>
</goals>
</execution>
</executions>
<configuration>
<outputDirectory>${project.build.directory}/surefire-reports</outputDirectory>
<outputName>test-report</outputName>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.12</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.4</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.3.1</version>
</plugin>
<plugin>
Nosso cinto de
utilidade
• Rails 3.2.*
• Ruby 1.9.*
• ST 2
Objetivo
• Temos um cadastro de usuários
• Queremos listar os usuários
• Queremos listar seus tweets
Hands-On
Recursos Interessantes
• railscast.com
• Service-Oriented Design with Ruby and
Rails
• Google
• Lista de Discussões
• Hora do almoço
Obrigado
• pedro-souza.com
• @pedronicholas
• github/pnicholas

Mais conteúdo relacionado

PPT
Ruby on rails
PPTX
Webservices em PHP e a liberdade da Web
DOCX
Progressive education society national seminar
PPT
01 The History of Music Videos
PPT
backup iphone sms to computer
PDF
Pop Quiz 2010
PPS
Beautiful truth
PDF
Eskuliburua
Ruby on rails
Webservices em PHP e a liberdade da Web
Progressive education society national seminar
01 The History of Music Videos
backup iphone sms to computer
Pop Quiz 2010
Beautiful truth
Eskuliburua

Destaque (8)

PDF
Counter strike 1.6 Server Kurma
PDF
Creatifi fi presentation_fiware_meetup_creatifi_open_calls
PDF
UVU Design as Business Tool
PPT
02. Conventions of a Thriller
PPT
01. Team Awesome Sauce
PPT
Mobilize Firefox OS - SETIC 2013
PPT
Motor penggerak
PDF
BRANDPOINT TANZANIA COMPANY PROFILE
Counter strike 1.6 Server Kurma
Creatifi fi presentation_fiware_meetup_creatifi_open_calls
UVU Design as Business Tool
02. Conventions of a Thriller
01. Team Awesome Sauce
Mobilize Firefox OS - SETIC 2013
Motor penggerak
BRANDPOINT TANZANIA COMPANY PROFILE
Anúncio

Semelhante a Rails asservice (20)

PPTX
Desbravando o REST com Python
PPTX
Web Services
PDF
Soa Woa Rest
PPTX
Web services com restful
KEY
Do Rest Ao Restfull - Rio Jug
PDF
O que é esse tal de rest? [PyBR2016]
PDF
04 - Felipe Oliveira - Think Decoupled! (SOA)
PDF
REST Web Services com Java
PDF
Rest Teoria E Pratica
PPT
Psdc - 2014/01
PDF
Trabalho final psdc
PDF
Rest Java One
PDF
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
PPT
Rest Teoria E Pratica
PPTX
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
PPTX
Palestra Sobre REST
PDF
Rest web services com Java
PDF
REST vs GraphQL - A batalha das APIs.pdf
PDF
REST vs GraphQL - A batalha das APIs.pdf
PDF
TDC2016SP - Mobile and APIs - Como a Mágica Acontece
Desbravando o REST com Python
Web Services
Soa Woa Rest
Web services com restful
Do Rest Ao Restfull - Rio Jug
O que é esse tal de rest? [PyBR2016]
04 - Felipe Oliveira - Think Decoupled! (SOA)
REST Web Services com Java
Rest Teoria E Pratica
Psdc - 2014/01
Trabalho final psdc
Rest Java One
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
Rest Teoria E Pratica
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Palestra Sobre REST
Rest web services com Java
REST vs GraphQL - A batalha das APIs.pdf
REST vs GraphQL - A batalha das APIs.pdf
TDC2016SP - Mobile and APIs - Como a Mágica Acontece
Anúncio

Rails asservice