Experiência com TorqueBox\nMotivações\nMostrar um pouco como funciona\n
non experient\nveio a pedido do vinny e rinaldi pra ensinar jsf pra voces\nexperiencia real de ter que juntar os dois mundos\n
\n
Surgiu em 1995 e causa medo até hoje\nMérito da Burocracia\nmito/medo de que Java é dificil\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
+5 anos de experiência pra decorar acrônimos\n
\n
\n
WAS, glassfish, jboss. Necessidade de subir app java no mundo corp\n
Enterprise the good parts. Apesar de todo buzzword existente no Java\nOs caras conseguiram juntar experiencia pra fazer coisas legais\nApresentar cada um\n
\n
Mesmo assim, começaram a surgir várias linguagens em cima da vm\nAfinal, java nao resolve todos os problemas do mundo\nScala surgiu do descontentamento com java por exemplo\n
Sintaxe mais clara, limpa. Expressiva\nProdutividade com rails\nBom, todo mundo aqui sabe que ruby é legal certo?\n
Os problemas são os mesmos, resolvemos com nomes diferentes\nProblemas já resolvidos: escalabilidade, mensageria, clustering, schedule...\nPorque não tirar proveito do java e do ruby?\n
\n
\n
Criado em 2008\nPatrocinado pela RedHat\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
O que é preciso fazer no servidor? NADA, ele nao exige redeploy\n
\n
Inspirado no DelayedJobs\n
O que é preciso fazer no servidor? NADA, ele nao exige redeploy\n
Inspirado no DelayedJobs\n
\n
\n
\n
O que é preciso fazer no servidor? NADA, ele nao exige redeploy\n
Scala Clojure Python JVM Ruby JavaScript GroovySaturday, July 23, 2011
Ruby Mais expressiva que JavaSaturday, July 23, 2011
DRYSaturday, July 23, 2011
JRuby Java + RubySaturday, July 23, 2011
“You get true multithreading that can use all your computer’s cores from one process, plus a virtual machine that’s been tuned for a decade and a half.” Using JRuby - Bringing Ruby to JavaSaturday, July 23, 2011
TorqueBox “The power of JBoss with the expressiveness of Ruby” Jim Crossley - MagicRuby ConferenceSaturday, July 23, 2011
TorqueBoxSaturday, July 23, 2011
Instalação TorqueBox do zeroSaturday, July 23, 2011
➜ jruby -S gem install torquebox torquebox-capistrano-supportSaturday, July 23, 2011
Mensageria Java Messaging Service + HornetQSaturday, July 23, 2011
Tasks class EmailerTask < TorqueBox::Messaging::Task def send_welcome(payload) to = "#{payload[:name]} <#{payload[:address]}>" # send welcome email to the user end endSaturday, July 23, 2011
Tasks class UserController < ApplicationController def register user = User.new(params[:user]) EmailerTask.async(:send_welcome, :address => user.email, :name => user.name) end endSaturday, July 23, 2011
Processors include TorqueBox::Messaging class PrintHandler < MessageProcessor def on_message(body) puts "Processing #{body} of #{message}" end def configure(opts) @color = opts[color] end endSaturday, July 23, 2011
Queues include TorqueBox req = Messaging::Queue.new /queues/questions res = Messaging::Queue.new /queues/answers Thread.new do req.publish "What time is it?" puts res.receive( :timeout => 1000 ) end puts req.receive res.publish Time.nowSaturday, July 23, 2011
ServiçosSaturday, July 23, 2011
class BazingaService def initialize @queue = Messaging::Queue.new(“bazinga”) end def start @queue.publish “Testing” end def stop # O que fazer quando o serviço receber um stop end endSaturday, July 23, 2011
CDI - Simplificado Injeção de dependênciasSaturday, July 23, 2011
Java package com.gurusp; public class Bazinga { //gets e sets public void say(String message) { // Execução do método } } Deploy do jar na aplicação app/ models/ views/ controllers/ lib/bazinga.jarSaturday, July 23, 2011
Ruby class BazingaController < ApplicationController include TorqueBox::Injectors def create bazinga = inject(com.gurusp.Bazinga ) bazinga.say “Ruby is for Java” end endSaturday, July 23, 2011
Caching class BeersController < ApplicationController caches_action :most_popular, :expires_in => 30.seconds def most_popular @popular_beers = Beer.most_popular(:limit => 25) end endSaturday, July 23, 2011
Saturday, July 23, 2011
Clustering ➜ $JBOSS_HOME/bin/run.sh -c allSaturday, July 23, 2011
Cache distribuído!Saturday, July 23, 2011
BackStageSaturday, July 23, 2011
Comunidade irc.freenode.net #torquebox http://torquebox.org http://github.com/torquebox twitter: @torqueboxSaturday, July 23, 2011
Obrigado! @abstractj Creative Commons BY-SA 3.0Saturday, July 23, 2011
Let LinkedIn power your SlideShare experience
+
Let LinkedIn power your SlideShare experience
Customize SlideShare content based on your interests
We will import your LinkedIn profile and you will be visible on SlideShare.
Keep up to date when your LinkedIn contacts post on SlideShare