Ruby on Rails in GlassFish Vivek.Pandey@Sun.COM http://weblogs.java.net/blog/vivekp/ Sun Microsystems

Similar documents
<Insert Picture Here> GlassFish v3 - A Taste of a Next Generation Application Server

GlassFish v3. Building an ex tensible modular Java EE application server. Jerome Dochez and Ludovic Champenois Sun Microsystems, Inc.

BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME

Kohsuke Kawaguchi Sun Microsystems, Inc. hk2.dev.java.net, glassfish.dev.java.net. Session ID

JRuby Now and Future Charles Oliver Nutter JRuby Guy Sun Microsystems

Project SailFin: Building and Hosting Your Own Communication Server.

An Oracle White Paper May Ready for Business: Oracle GlassFish Server

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB

Learning GlassFish for Tomcat Users

GlassFish. Developing an Application Server in Open Source

Netbeans 6.0. José Maria Silveira Neto. Sun Campus Ambassador

What Is NetBeans? Free and open-source based > Open source since June, 2000 > Large community of users and developers

NetBeans IDE Field Guide

Pete Helgren Ruby On Rails on i

The Other mod_rails: Easy Rails Deployment with JRuby. Nick Sieger Sun Microsystems, Inc

Building and Deploying Web Scale Social Networking Applications Using Ruby on Rails and Oracle. Kuassi Mensah Group Product Manager

Glassfish Architecture.

Glassfish, JAVA EE, Servlets, JSP, EJB

The NetBeans TM Ruby IDE: You Thought Rails Development Was Fun Before

Apache Jakarta Tomcat

Ruby On Rails. CSCI 5449 Submitted by: Bhaskar Vaish

ITG Software Engineering

PHP vs. Java. In this paper, I am not discussing following two issues since each is currently hotly debated in various communities:

Architectural Overview

Deploying and Monitoring Ruby on Rails A practical guide

Java EE 6 development with Eclipse, Netbeans, IntelliJ and GlassFish. Ludovic Champenois Oracle Corporation

Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming language The amazing productivity claims of Rails is

FROM BANNER 8 TO BANNER XE. What s the story?

Rapid Application Development. and Application Generation Tools. Walter Knesel

Tuning Your GlassFish Performance Tips. Deep Singh Enterprise Java Performance Team Sun Microsystems, Inc.

RED HAT SOFTWARE COLLECTIONS BRIDGING DEVELOPMENT AGILITY AND PRODUCTION STABILITY

Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc

Introduction to Sun ONE Application Server 7

How to Enable Remote JMX Access to Quartz Schedulers. M a y 1 2,

Agile Development with Groovy and Grails. Christopher M. Judd. President/Consultant Judd Solutions, LLC

Part One Business Modeling Business Process Model

midpoint Overview Radovan Semančík December 2015

Nanda Kishor K N. nandakishorkn@gmail.com

Zulu by Azul OpenJDK for Azure

Practical Android Projects Lucas Jordan Pieter Greyling

Grails: Accelerating J2EE Application Development

Build management & Continuous integration. with Maven & Hudson

Symfony2 and Drupal. Why to talk about Symfony2 framework?

Server-Side JavaScript auf der JVM. Peter Doschkinow Senior Java Architect

Scaling Web Applications in a Cloud Environment using Resin 4.0

Open Source SOA with Service Component Architecture and Apache Tuscany. Jean-Sebastien Delfino Mario Antollini Raymond Feng

LDAPCON Sébastien Bahloul

Project OpenSolaris TM Dynamic Service Containers featuring Nimsoft SLM

Evaluation. Chapter 1: An Overview Of Ruby Rails. Copy. 6) Static Pages Within a Rails Application

Outline. Lecture 18: Ruby on Rails MVC. Introduction to Rails

NGASI Universal APP Panel Administration and User Guide WebAppShowcase DBA NGASI

How to choose the right PaaS Platform?

JBS-102: Jboss Application Server Administration. Course Length: 4 days

VisualVM: Integrated and Extensible Troubleshooting Tool for the Java Platform

Azure Day Application Development

Running a Program on an AVD

Migration and Developer Productivity Solutions Retargeting IT for Emerging Business Needs

Continuous Delivery for Alfresco Solutions. Satisfied customers and happy developers with!! Continuous Delivery!

Robert Honeyman

Homework 9 Android App for Weather Forecast

NetBeans: Universal Tool for Java Development and More. Roman Štrobl Technology Evangelist

The "Eclipse Classic" version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended.

Automating Testing and Configuration Data Migration in OTM/GTM Projects using Open Source Tools By Rakesh Raveendran Oracle Consulting

Installing Ruby on Windows XP

EBA Procurement Procedure for the Supply of Website Services 2016: Annex 1 System Architecture Document SYSTEM ARCHITECTURE DOCUMENT

Using jvmstat and visualgc to Solve Memory Management Problems

Don t get it right, just get it written.

Modern Software Development Tools on OpenVMS

Product Roadmap. Sushant Rao Principal Product Manager Fortify Software, a HP company

Jenkins User Conference Herzelia, July #jenkinsconf. Testing a Large Support Matrix Using Jenkins. Amir Kibbar HP

ARM-BASED PERFORMANCE MONITORING FOR THE ECLIPSE PLATFORM

Romulus, Java Web Development made productive.

Real World Technologies: NetBeans GUI Builder, JRuby, JavaFX, and Java ME. developers.sun.com/students/courses

Web Development Frameworks

Google Web Toolkit. Introduction to GWT Development. Ilkka Rinne & Sampo Savolainen / Spatineo Oy

<Insert Picture Here> Java, the language for the future

Basic TCP/IP networking knowledge of client/server concepts Basic Linux commands and desktop navigation (if don't know we will cover it )

BIRT Application and BIRT Report Deployment Functional Specification

Continuous Integration Processes and SCM To Support Test Automation

EclipseLink. Solutions Guide for EclipseLink Release 2.5

JBI and OpenESB. Introduction to Technology. Michael Czapski Advanced Solutions Architect, SOA/BI/Java CAPS Sun Microsystems, ANZ

CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS

Hudson Continous Integration Server. Stefan Saasen,

VOL. 2, NO. 1, January 2012 ISSN ARPN Journal of Science and Technology ARPN Journals. All rights reserved

<Insert Picture Here> What's New in NetBeans IDE 7.2

VOIP and Ruby. The Convergence of Web and Voice Applications using Open Source Software. Justin Grammens Localtone Interactive

WEBLOGIC ADMINISTRATION

For Introduction to Java Programming, 5E By Y. Daniel Liang

CURRENT STATE OF ICINGA

WEBAPP PATTERN FOR APACHE TOMCAT - USER GUIDE

Oracle im Open Source Kontext Abgrenzung GlassFish vs. JBoss und wozu noch WebLogic?

OpenSSO: Simplify Your Single-Sign-On Needs. Sang Shin Java Technology Architect Sun Microsystems, inc. javapassion.com

Transcription:

Ruby on Rails in GlassFish Vivek.Pandey@Sun.COM http://weblogs.java.net/blog/vivekp/ Sun Microsystems Ruby On Rails in GlassFish 1

Agenda Introduction to RoR What is JRuby? GlassFish overview RoR on GlassFish > GlassFish gem > GlassFish v2 Update Center Module > Why JRuby on GlassFish? > Known Issues > Success Story Q&A Ruby On Rails in GlassFish 2

Introduction to RoR Ruby On Rails in GlassFish 3

Introduction to RoR RoR is Ruby on Rails Ruby > A dynamic object oriented and open source language Rails > Pure Ruby implementation > Web application framework Develop database backed web applications MVC pattern Generators for Model, View, Controller Easy to use ORM Ruby rake db:migrate Scaffolding Generate model, views and controller for CRUD applications Ruby On Rails in GlassFish 4

Rails MVC Browser Controller View Model DB Ruby On Rails in GlassFish 5

What is JRuby Ruby On Rails in GlassFish 6

What is JRuby? How do you run your Ruby application on the JVM? > Use JRuby 100% pure-java implementation of Ruby language > Ruby 1.8.5 > Best of both worlds: Java + Ruby Two-way Interaction > Invoke Java from Ruby > Invoke Ruby from Java (JSR 223) Embed Ruby interpreter in any Java application Ruby On Rails in GlassFish 7

What is JRuby? Open-source > Distributed under a tri-license (CPL/GPL/LGPL) Core team 4 developers (3 from Sun) Current release - JRuby 1.1RC2 > Planned 1.1 Ruby On Rails in GlassFish 8

JRuby Sample include Java frame = javax.swing.jframe.new("jruby Demo") Ruby On Rails in GlassFish 9

JRuby Sample include Java frame = javax.swing.jframe.new("jruby Demo") label = javax.swing.jlabel.new("hello JRuby World!") frame.getcontentpane.add(label) frame.setdefaultcloseoperation(javax.swing.jframe::ex IT_ON_CLOSE) Ruby On Rails in GlassFish 10

JRuby Sample include Java frame = javax.swing.jframe.new("jruby Demo") label = javax.swing.jlabel.new("hello JRuby World!") frame.getcontentpane.add(label) frame.setdefaultcloseoperation(javax.swing.jframe::exit_on_close) frame.setsize 200, 100 frame.setvisible(true) Ruby On Rails in GlassFish 11

JRuby Sample Ruby On Rails in GlassFish 12

GlassFish Ruby On Rails in GlassFish 13

What is GlassFish? Open Source > CDDL & GPL v2 Java EE 5 Reference Implementation > Included in Java EE 5 SDK Enterprise Quality > High Availability, Clustering >.NET 3.0 Web services interoperability > World Record Performance Community > Sources, bug DBs, discussions at glassfish.java.net > Roadmaps, Architecture Documents Ruby On Rails in GlassFish 14

GlassFish v2 Enterprise ready JavaEE 5 compliant application server > Clustering, Load Balancing, HA,.Net 3.0 Web Services interoperability > Seamless IDE integration NetBeans, Eclipse, Intellij Released Sept 2007 Productized as Sun Java System Application Server 9.1 Ruby On Rails in GlassFish 15

GlassFish v3 Small (Kernel < 100k) Fast (Startup in < 1 second) Embeddable (Run in the same VM as IDE) Modular (Java, Ruby, JavaScript,...) Support for upcoming Java EE 6 profiles Currently under development > Technology Preview 2 release expected around May at JavaOne 2008 Ruby On Rails in GlassFish 16

RoR vs JRoR on GlassFish Ruby On Rails in GlassFish 17

GlassFish v3 Gem Ruby Gem > gem install glassfish > GlassFish server + Grizzly connector for JRuby Adds glassfish_rails in bin directory Green alternative to WEBrick and Mongrel > One command, one process Ruby On Rails in GlassFish 18

Demo GlassFish v3 Gem http://blogs.sun.com/arungupta/entry/announcing_glassfish_gem http://blogs.sun.com/arungupta/tags/totd Ruby On Rails in GlassFish 19

GlassFish v2 Update Center Module GlassFish Update Center > Add new components > Update existing components JRuby on GlassFish module > JRuby 1.0.3 > Goldspike > Rails 1.2.6,... Standalone and Shared WAR Ruby On Rails in GlassFish 20

Ruby On Rails in GlassFish 21

Demo JRuby Update Center Module http://download.java.net/javaee5/screencasts/jruby-update-cente Ruby On Rails in GlassFish 22

Why JRuby on GlassFish? Java EE is tested deployment platform > Co-host Java EE & RoR apps One command, One instance, one process > Green alternative Database Connection Pooling Hot Deployment > No need to restart container OOTB Clustering and High Availability Ruby On Rails in GlassFish 23

Known limitation PermGen Issue > JRuby maps methods from a Ruby class as a Java class > A typical Rails application gets mapped in to hundreds of Java classes > JITs the mapped Java classes in PermGen space What is the solution? > JRuby 1.1 RC2 improved it Cap on number of Ruby methods to be JITted Sharable JITCache among multiple JRuby instance > Configure GlassFish to limit number of JRuby in the JRuby instance pool > DaVinci Machine Ruby On Rails in GlassFish 24

More Scripting in GlassFish JRuby/Rails JavaScript on server > Phobos PHP > Java-PHP Bridge > Quercus Upcoming scripting and framework support > Groovy on Grails > Jython/Django Ruby On Rails in GlassFish 25

Success Story Ruby On Rails in GlassFish 26

mediacast.sun.com Stores large media files (blogs.sun.com partner) Handful models, 4 controllers, Bunch of view templates Development > NetBeans 6, Mercurial plugin, WEBrick, GlassFish v2 UR1, MySQL, JConsole for debugging Production > 2 load-balanced T2000, Solaris 10, JDK 6, SJS AS 9.1 u1, MySQL Details at > http://blog.igorminar.com/2008/01/jruby-on-rails-rewrite-of.html Ruby On Rails in GlassFish 27

Reference GlassFish (glassfish.java.net) > TheAquarium (blogs.sun.com/theaquarium) JRuby on GlassFish Wiki > http://wiki.glassfish.java.net/wiki.jsp?page=jruby JRuby Wiki > http://wiki.jruby.org/wiki/jruby_on_rails_in_glassfish Project Da Vinci Machine > http://openjdk.java.net/projects/mlvm/ Ruby On Rails in GlassFish 28