just java 2013 - java ee + jruby on rails

18

Click here to load reader

Upload: rodrigo-urubatan

Post on 25-May-2015

270 views

Category:

Technology


3 download

DESCRIPTION

Palestra que apresentei no Just Java sobre por que, como, quais as vantagens e quais os problemas de se usar JRuby on Rails em um ambiente Java EE integrando com recursos do servidor.

TRANSCRIPT

Page 1: Just java 2013  - Java EE + Jruby on Rails

Java EE + JRuby + Rails Interfaces rapidas para aplicações Java EE

http://sobrecodigo.com [email protected]

Page 2: Just java 2013  - Java EE + Jruby on Rails

Por que Java EE?

http://sobrecodigo.com [email protected]

Page 3: Just java 2013  - Java EE + Jruby on Rails

Meu ambiente na empresa •  Servidores de aplicação Java EE

o  comprados e com contrato com o fornecedor

•  Muita gente que conhece e gosta de Java •  Muitos projetos já prontos em Java

o  E eu preciso interagir com estes projetos

•  Dificil justificar fazer um projeto todo em outra tecnologia o  Exceto se for uma tecnologia do fornecedor já

contratado que não me agradaria muito :D

http://sobrecodigo.com [email protected]

Page 4: Just java 2013  - Java EE + Jruby on Rails

Por que Ruby on Rails?

http://sobrecodigo.com [email protected]

Page 5: Just java 2013  - Java EE + Jruby on Rails

Produtividade! •  Últimos projetos

o  Velocidade no desenvolvimento

•  Quick Start o  Fácil de começar e de dar manutenção em qualquer

projeto

•  Feito para web! o  Forma mais rapida hoje de desenvolver uma

interface web para um banco de dados.

•  Eu gosto o  Feito para felicidade do programador (sério, esta

escrito no site do framework!) http://sobrecodigo.com [email protected]

Page 6: Just java 2013  - Java EE + Jruby on Rails

www.rubyonrails.org Ruby on Rails is an open-source web framework that's

optimized for programmer happiness and sustainable productivity. It lets you write beautiful code by favoring convention over configuration.

http://sobrecodigo.com [email protected]

Page 7: Just java 2013  - Java EE + Jruby on Rails

Contexto!

Banco de dados

Message Driven Beans

Stateless Session Beans/Web Services

http://sobrecodigo.com [email protected]

Page 8: Just java 2013  - Java EE + Jruby on Rails

O que foi necessário?

•  Acessar o banco da aplicação Java EE diretamente do Rails

•  Chamar métodos de EJBs via JRuby •  Enviar mensagens para MDBs usando

JRuby

http://sobrecodigo.com [email protected]

Page 9: Just java 2013  - Java EE + Jruby on Rails

•  Usando um banco já modelado em uma aplicação Rails o  self.table_name = "..." o  def self.table_name...end o  self.primary_key = "..." o  def self.primary_key...end o  belongs_to/foreign_key o  has_many/foreign_key

Acesso a banco

http://sobrecodigo.com [email protected]

Page 10: Just java 2013  - Java EE + Jruby on Rails

Chamando métodos de EJBs require 'java' include_class 'javax.naming.InitialContext' ic = InitialContext.new foo = ic.lookup("...") result = foo.echo("This is foo!")

http://sobrecodigo.com [email protected]

Page 11: Just java 2013  - Java EE + Jruby on Rails

Enviando mensagens @context =

InitialContext.new(Hashtable.new(environment)) @connection_factory = @context.lookup("ConnectionFactory") destination = @context.lookup(destination_name) connection = @connection_factory.create_connection() session = connection.create_session(false, Session::AUTO_ACKNOWLEDGE) producer = session.create_producer(destination) message = session.create_text_message message.text = message_text producer.send(message) session.close

http://sobrecodigo.com [email protected]

Page 12: Just java 2013  - Java EE + Jruby on Rails

Hora de acordar!

http://sobrecodigo.com [email protected]

Page 13: Just java 2013  - Java EE + Jruby on Rails

Exemplo •  Aplicação Java EE

o  Dados persistidos usando JPA 2 o  Session Beans com regras de negócio o  MDB para injestão de eventos

•  Criar aplicação Rails o  Acesso a dados via ActiveRecord o  Chamar Session Beans para monitorar processo de

negocio o  Botão para inserção de novos eventos no queue

http://sobrecodigo.com [email protected]

Page 14: Just java 2013  - Java EE + Jruby on Rails

Deploy da aplicação •  glassfish_rails •  warbler

http://sobrecodigo.com [email protected]

Page 15: Just java 2013  - Java EE + Jruby on Rails

Perguntas?

? �

Page 16: Just java 2013  - Java EE + Jruby on Rails

O que mais? Livro de Rails? http://www.novatec.com.br/livros/rubyonrails2 Curso online de BDD? http://sobrecodigo.com Mais livros sobre Java? http://www.novatec.com.br

http://sobrecodigo.com [email protected]

Page 17: Just java 2013  - Java EE + Jruby on Rails

Obrigado!

http://sobrecodigo.com [email protected]

Page 18: Just java 2013  - Java EE + Jruby on Rails

Rails Script •  jruby -S rails new justjava2013 -d jdbcmysql • cd justjava2013/ •  [config/database.yml, config/initializers/

connection_cleanup.rb] •  jruby -S rake db:create:all •  jruby -S rails g scaffold_controller person

name:string birth:date •  jruby -S rails g scaffold_controller invoice

value:number person:references dueDate:date •  jruby -S warble