JRuby on Rails Charles Oliver Nutter JRuby Core Developer

Slides:



Advertisements
Similar presentations
1 Copyright © 2005, Oracle. All rights reserved. Introducing the Java and Oracle Platforms.
Advertisements

1 JRuby on Rails GAO ANG Sun Functional Campus Ambassador 1.
Introducing the Common Language Runtime. The Common Language Runtime The Common Language Runtime (CLR) The Common Language Runtime (CLR) –Execution engine.
© copyright 2014 BMC Software, Inc. DevOps consultant Niek Bartholomeus Going DevOps with BMC.
Agenda Model migration vs MDS upgrade Model migration overview Model migration – how does it work? Model package Demo.
01 Introduction to Java Technology. 2 Contents History of Java What is Java? Java Platforms Java Virtual Machine (JVM) Java Development Kit (JDK) Benefits.
Improving Software Quality with Continuous Integration
Understanding and Managing WebSphere V5
Google AppEngine. Google App Engine enables you to build and host web apps on the same systems that power Google applications. App Engine offers fast.
SharePoint Portal Server 2003 JAMES WEIMHOLT WEIDER HAO JUAN TURCIOS BILL HUERTA BRANDON BROWN JAMES WEIMHOLT INTRODUCTION OVERVIEW IMPLEMENTATION CASE.
Introduction to Java Programming. Contents 1. Java, etc. 2. Java's Advantages 3. Java's Disadvantages 4. Types of Java Code 5. Java Bytecodes 6. Steps.
Anders Karlsson Principal Sales Engineer, MySQL MySQL Embedded - Getting started with libmysqld.
Deploying on Windows (it’s actually possible!) Brian Hogan New Auburn Personal Computer Services LLC Contents copyright © 2007 Brian P. Hogan. Do not reproduce.
OFED 1.x Roadmap & Release Process November 06 Jeff Squyres, Woodruff, Robert J, Betsy Zeller, Tziporet Koren,
SKA/KAT SPIN Presentation Software Engineering (!?) Robert Crida.
Programming Fundamentals 2: Background/ F II Objectives – –give a non-technical overview of Java Semester 2, Background.
Evaluation of Microsoft Windows Vista By: Richard Awusi Supervisor: John Ebden Consultants: Jill Japp and Billy Morgan.
Why Java? A brief introduction to Java and its features Prepared by Mithat Konar.
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
ArcGIS Server for Administrators
Open Source Software JAVA Sean Thompson Itec 400 4/5/07.
Computer Programming 2 Why do we study Java….. Java is Simple It has none of the following: operator overloading, header files, pre- processor, pointer.
The Road to Continuous Delivery at Perforce Jonathan Thorpe Technical Marketing Manager Perforce Laurette Cisneros Build & Release Engineering Manager.
Globus online Delivering a scalable service Steve Tuecke Computation Institute University of Chicago and Argonne National Laboratory.
Docker for Ops: Operationalize Your Apps in Production Vivek Saraswat Sr. Product Evan Hazlett Sr. Software
1 JRuby Now and Future Charles Oliver Nutter JRuby Guy Sun Microsystems Except where otherwise noted, the content of this presentation is licensed under.
Beyond Impossible! How JRuby Evolved the Java Platform Except where otherwise noted, the content of this presentation is licensed under the Creative Commons.
GlassFish Workshop 1 Dynamic Languages in GlassFish Arun Gupta blogs.sun.com/arungupta.
1 Charles Oliver Nutter Thomas Enebo Tor Norbye Martin Krauskopf JRuby: Understanding the Fuss Except where otherwise noted, the content of this presentation.
GlassFish Gem Vivek Pandey Sun Microsystems, Inc.
JRuby on Rails Presenter Name
JRuby on Rails Brian Leonard ブライアン レオナルド
1 Sun Microsystems, Ruby, and JRuby Charles Oliver Nutter Senior Staff Engineer Sun Microsystems Except where otherwise noted, the content of this presentation.
Google App Engine. Contents Overview Getting Started Databases Inter-app Communications Modes.
Tips for using Java with Internet Explorer
SQL Server on Linux CTP 1.1 Florian
Containers as a Service with Docker to Extend an Open Platform
GraalVM Scott Lynn Director of Product Strategy, Oracle Linux
JRuby: Ready for ACTION!
What are they? The Package Repository Client is a set of Tcl scripts that are capable of locating, downloading, and installing packages for both Tcl and.
PGT(CS) ,KV JHAGRAKHAND
Docker Birthday #3.
Open Source distributed document DB for an enterprise
R For The SQL Developer Kevin Feasel Manager, Predictive Analytics
SQL Server + PHP: What’s New
JRuby on Rails: A Path to Adoption
JRuby Charles Oliver Nutter
Longtime Java developer More recent Ruby developer
JRuby It's What's For Dinner
JRuby: Up and Running! Charles Oliver Nutter and Thomas Enebo
Ruby, Rails, GUIs, and More
Debunking the Top 10 Myths of Small Business Server: Using Windows SBS in Larger Environments Abstract: This session will debunk some of the common myths.
JRuby: Ruby for the Java Platform
JRuby State of the Art! Except where otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution-Share Alike 3.0.
Scripting Java with JRuby
Introducing Apache Tomcat 6 Mladen Turk Red Hat, Inc.
Real Testing Scenario Strategy: Bringing this all together – Success!
Microsoft Connect /1/2018 2:36 AM
Google App Engine Ying Zou 01/24/2016.
Spark and Scala.
Database Software.
What’s new in ASP.NET Core and Entity Framework 2.2 (Preview 3)
2/24/2019 6:15 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Blockchain for Business
(Computer fundamental Lab)
F II 1. Background Objectives
NAVIGATING THE MINEFIELD
PyWBEM Python WBEM Client: Overview #2
Running C# in the browser
Web Application Development Using PHP
Presentation transcript:

JRuby on Rails Charles Oliver Nutter JRuby Core Developer Sun Microsystems Except where otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution-Share Alike 3.0 United States License (http://creativecommons.org/licenses/by-sa/3.0/us/).

Agenda JRuby Basics Demo: Setting up Why JRuby: Deployment Deployment Demo Why JRuby: Libraries Library Demo Closing Notes and Q/A

Me Charles Oliver Nutter (charles.nutter@sun.com) Longtime Java developers (12+ yrs) Ruby developer (3 yrs or so) Engineer at Sun Microsystems for 1.5 yr Full-time JRuby developer Also working on general JVM language support Lots of other crap C, C++, C#, Perl, Python, Delphi, Lisp, Scheme EE, ME, JINI, WS-*, BPM, ERP, STFU

JRuby “It's just Ruby” for the JVM Compatible with 1.8.6 No continuations, no C-based extensions Native threading, better performance JRuby 1.0.3 current stable-branch release Rapidly falling behind, 1.0.4 probably EOL JRuby 1.1RC1 latest leading-edge release Compiler, compatibility, all sorts of awesome RC2 within the next week

JRuby Users mix.oracle.com Idea sharing, networking, Q/A Production staff would not run MRI mediacast.sun.com Media/marketing distribution channel Eating the dogfood Mingle by Thoughtworks Collaborative project management tool MRI was too difficult to productize, “shrink-wrap”

JRuby Setup Download Unpack

JRuby Setup (long version) Java installation (if necessary) Download JRuby Includes JRuby, Ruby stdlib, rake and rspec Unpack JRuby Multiple copies on same system work just fine Add <jruby dir>/bin to PATH Install gems (gem install or jruby -S gem install)

So, Why Bother? Easier setup Better performance Easier deployment More libraries Wider database support Platform independence JRuby on Rails on AS/400 calling MS SQL? No prob! Less political resistance

So, Why Bother? Easier setup Better performance Easier deployment More libraries Wider database support Platform independence JRuby on Rails on AS/400 calling MS SQL? No prob! Less political resistance

Performance No, it's not all that important Until it is! JRuby 1.0 was about 2x slower than Ruby 1.8.6 JRuby 1.1 Beta 1 was about 2x faster JRuby trunk is 5x faster, often faster than 1.9 As a result, we've stopped working on perf for now ...but targeting Java performance next

DEMO Performance

Deployment: The Old Way Mongrel as server process Times number of apps Times number of concurrent requests With monitoring to keep alive Hopefully no zombies or memory leaks Better have a big slice Sure, it can work...but why? These problems have been solved before

DEMO JRuby on Mongrel

Deployment: A Classic Revisited Java app server deployment N apps N concurrent requests N database connections 1 process, to limits of machine Designed to scale up and out ...but at a cost of some agility Political standard Meet them halfway!

DEMO JRuby on GlassFish

Deployment: Back to Basics We want both worlds Agile: CLI support, dev time server, no build/deploy Simplicity: one-shot execution, both prod and dev Scaling: single process for all apps and requests Ruby friendly: “gem install” and run

DEMO JRuby GlassFish Gem

Libraries JRuby can't support native extensions Designed around single-threaded execution (i.e. one app, one request per process at a time) Stability, security problems Too-permissive Ruby extension API But who cares? If you want to do it, there's a Java library If not, we support native access through JNA Porting is also not hard, and appreciated

DEMO ImageVoodoo!

What Does It All Mean? JRuby is raising the bar for Rails all the time It works today! Performance improving constantly Massive collection of high-perf libraries GlassFish is not your daddy's app server An enterprise server in a 3MB gem! Far easier deployment than other options Looking for users, use cases to support What do you need? Work with us!

Links and Q/A...Thank you! www.jruby.org glassfish.dev.java.net Gem is at http://rubyforge.org/projects/glassfishgem/ Looking for bug reports, feature requests! www.netbeans.org By far the best IDE/editor for Ruby Stop by the Sun booth Try out NB and GlassFish Dude, it's all Free.

JRuby on Rails Charles Oliver Nutter JRuby Core Developer Sun Microsystems