Warum JRuby?
Zunächst kann man sich die Frage stellen, warum Ruby-Code auf der Java VM ausgeführt werden sollte. Dafür lohnt sich ein Blick auf die momentane Sprachenlandschaft und die Konferenzinhalte. Traditionell ist beispielsweise die JAX-Konferenz sehr nahe am Geschehen, und 2007 wurden bereits einige Rails-Vorträge ins Programm integriert. Doch nicht nur Ruby on Rails war dort vertreten. Auch die Vertreter der Groovy-Gemeinde zeigten sich sehr aktiv und propagierten mit Grails den Ansatz "Groovy on Rails". Wie auch immer, eine dynamische Sprache wie Ruby oder Groovy ist für die Kombination von Java VM und Sprache ausschlaggebend. Warum aber gerade auf der Java VM? Für viele Unternehmen ist Java inzwischen ein fester Bestandteil der IT-Strategie. Es wurde viel Geld und Zeit investiert, um unternehmenskritische Anwendungen zu entwickeln und in Produktion zu bringen. Die Java VM ist eine sehr ausgereifte und erprobte Technologie; immerhin werden große verteilte Architekturen mit der JVM realisiert. Das Performanzthema hat sich seit einigen Jahren erledigt, während es bei Ruby gerade noch in der Diskussion ist. Java-Entwickler haben eine Affinität zu ihren JARs, seien es Standard-JARs oder eigene Bibliotheken. Java als Sprache hält den Entwickler eher an der kurzen Leine und fokussiert sich in der Flexibilität dadurch eher auf seine Bibliotheken und Frameworks.Der seit einigen Jahren zu beobachtende Trend hin zu domänenspezifischen Sprachen (DSL, Domain Specific Languages) ist dabei nicht zu übersehen. Java mit seinen eher statischen Eigenschaften erlaubt es nicht wirklich, eine DSL zu implementieren. Ruby ist mit der Möglichkeit zur Metaprogrammierung allerdings ein geeigneter Kandidat, um eine DSL beispielsweise für Webanwendungen zu implementieren. Andererseits ist der Vorrat an Java-Bibliotheken ein echtes El Dorado, nicht nur für Java-Entwickler. Somit stellt sich immer auch die Frage, wie man vorhandenes Wissen und Bibliotheken wieder- und weiterverwenden kann.
Groovy bietet eine an Java angelehnte Syntax und prinzipiell alle Vorzüge von Ruby und nutzt ebenfalls die JVM. Hierbei steht die Wiederverwendung von Java-Bibliotheken im Vordergrund. Einige Vertreter der Groovy-Szene reden gar von Investitionsschutz für Java-Entwickler. Meiner persönlichen Meinung nach ist eine dynamische Sprache wie Ruby auf JRuby die bessere Alternative zum Investitionsschutz. Wenn ich mich schon von der reinen Java-Syntax verabschieden muss, kann ich gleich die Sprache Ruby erlernen, um ins Reich der Rails-Anwendungen zu gelangen. Schließlich versucht Grails den Nachbau zuzüglich einiger weiterer Ideen von Rails. Mit Ruby on Rails sitzen Sie daher immer direkt an der Quelle, denn auch hier ist die Community ein weiteres bestechendes Argument.
JRuby ist in der Lage, alle Eigenschaften der Sprache Ruby auf die JVM zu übertragen. Damit können Java-Bibliotheken transparent in Ruby-Programme eingebunden werden. Aber auch Java-Programme können Ruby-Programme aufrufen, wenn JRuby verwendet wird. JRuby erlaubt somit die transparente Entwicklung von Ruby-on-Rails-Anwendungen und darüber hinaus die Integration vorhandener Java-Applikationen und -Bibliotheken. Die folgenden Seiten vermitteln Ihnen die Grundlagen von JRuby. Wir beschreiben den generellen Umgang mit JRuby und demonstrieren anhand einiger kleiner Beispiele dessen Integrationsfähigkeiten.
Installation von JRuby und Rails
JRuby ist zur Gänze in Java implementiert und kann somit auf jeder Java-fähigen Plattform eingesetzt werden. Die Installation ist denkbar einfach. Zunächst muss das Paket aus dem Netz geladen werden. Hierfür öffnen Sie einfach einen Browser und geben den URL http://dist.codehaus.org/jruby/ ein. Dort finden Sie die aktuellste Version. Suchen Sie sich eine passende Version größer als 1.1.5 heraus und starten Sie den Download. Die Installationsanweisungen für die binäre Version sind auf der Homepage [1] von JRuby zu finden und werden hier nicht wiederholt. Auch die Möglichkeit, sich aus den Sourcen eine eigene binäre Version zu erstellen, wird dort beschrieben.Die Installation von Ruby on Rails und einiger Datenbanktreiber auf JDBC-Basis erfolgt mit einigen kleinen Unterschieden, so wie unter MRI auch. Als Erstes sollten Sie JRuby OpenSSL installieren. Geben Sie hierzu folgende Anweisung ein: jruby –S gem install jruby-openssl. Nun ist es Zeit für die Installation von Ruby on Rails: jruby –S gem install rails. Ab jetzt können Sie mit JRuby arbeiten und beispielsweise Ruby-on-Rails-Projekte erstellen und laufen lassen. Der Aufruf von JRuby mit den bekannten Skripten wie Gem oder Rake erfolgen immer zusammen mit dem Parameter –S. Damit wird sichergestellt, dass auch die für JRuby vorgesehene Installation dieser Werkzeuge verwendet wird. Ruby-Skripte werden beispielsweise durch jruby script/server aufgerufen.
Zum ersten Mal erschienen ist der Artikel "JRuby: Aller Anfang ist leicht" von Michael Johann in der Ausgabe 2.09 des RailsWay Magazins, die sich schwerpunktmäßig mit dem Thema JRuby befasst. Neben einführenden und fortgeschrittenen Artikeln zum Thema bietet das Magazin ein ausführliches Interview mit JRuby-Mastermind Charles Oliver Nutter sowie viele weitere spannende Beiträge rund um die Ruby-on-Rails-Plattform. 













