Just java 2013 - Java EE + Jruby on Rails

454 visualizações

Publicada em

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.

Publicada em: Tecnologia
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
454
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
7
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Just java 2013 - Java EE + Jruby on Rails

  1. 1. Java EE + JRuby +RailsInterfaces rapidas para aplicações Java EEhttp://sobrecodigo.com palestras@urubatan.com.br
  2. 2. Por que Java EE?http://sobrecodigo.com palestras@urubatan.com.br
  3. 3. Meu ambiente na empresa•  Servidores de aplicação Java EEo  comprados e com contrato com o fornecedor•  Muita gente que conhece e gosta de Java•  Muitos projetos já prontos em Javao  E eu preciso interagir com estes projetos•  Dificil justificar fazer um projeto todo emoutra tecnologiao  Exceto se for uma tecnologia do fornecedor jácontratado que não me agradaria muito :Dhttp://sobrecodigo.com palestras@urubatan.com.br
  4. 4. Por que Ruby on Rails?http://sobrecodigo.com palestras@urubatan.com.br
  5. 5. Produtividade!•  Últimos projetoso  Velocidade no desenvolvimento•  Quick Starto  Fácil de começar e de dar manutenção em qualquerprojeto•  Feito para web!o  Forma mais rapida hoje de desenvolver umainterface web para um banco de dados.•  Eu gostoo  Feito para felicidade do programador (sério, estaescrito no site do framework!)http://sobrecodigo.com palestras@urubatan.com.br
  6. 6. www.rubyonrails.orgRuby on Rails is an open-source web framework thatsoptimized for programmer happiness and sustainableproductivity. It lets you write beautiful code by favoringconvention over configuration.http://sobrecodigo.com palestras@urubatan.com.br
  7. 7. Contexto!Banco de dadosMessage Driven BeansStateless Session Beans/Web Serviceshttp://sobrecodigo.com palestras@urubatan.com.br
  8. 8. O que foi necessário?•  Acessar o banco da aplicação Java EEdiretamente do Rails•  Chamar métodos de EJBs via JRuby•  Enviar mensagens para MDBs usandoJRubyhttp://sobrecodigo.com palestras@urubatan.com.br
  9. 9. •  Usando um banco já modelado em umaaplicação Railso  self.table_name = "..."o  def self.table_name...endo  self.primary_key = "..."o  def self.primary_key...endo  belongs_to/foreign_keyo  has_many/foreign_keyAcesso a bancohttp://sobrecodigo.com palestras@urubatan.com.br
  10. 10. Chamando métodos deEJBsrequire javainclude_class javax.naming.InitialContextic = InitialContext.newfoo = ic.lookup("...")result = foo.echo("This is foo!")http://sobrecodigo.com palestras@urubatan.com.br
  11. 11. 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_messagemessage.text = message_textproducer.send(message)session.closehttp://sobrecodigo.com palestras@urubatan.com.br
  12. 12. Hora de acordar!http://sobrecodigo.com palestras@urubatan.com.br
  13. 13. Exemplo•  Aplicação Java EEo  Dados persistidos usando JPA 2o  Session Beans com regras de negócioo  MDB para injestão de eventos•  Criar aplicação Railso  Acesso a dados via ActiveRecordo  Chamar Session Beans para monitorar processo denegocioo  Botão para inserção de novos eventos no queuehttp://sobrecodigo.com palestras@urubatan.com.br
  14. 14. Deploy da aplicação•  glassfish_rails•  warblerhttp://sobrecodigo.com palestras@urubatan.com.br
  15. 15. Perguntas??
  16. 16. O que mais?Livro de Rails?http://www.novatec.com.br/livros/rubyonrails2Curso online de BDD?http://sobrecodigo.comMais livros sobre Java?http://www.novatec.com.brhttp://sobrecodigo.com palestras@urubatan.com.br
  17. 17. Obrigado!http://sobrecodigo.com palestras@urubatan.com.br
  18. 18. 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 personname:string birth:date• jruby -S rails g scaffold_controller invoicevalue:number person:references dueDate:date• jruby -S warble

×