Sakai on Rails Integrating Ruby and Sakai David Adams, Virginia Tech.

Slides:



Advertisements
Similar presentations
Apache Struts Technology
Advertisements

Chapter 15 © 2010 by Addison Wesley Longman, Inc Origins and Uses of Ruby - Designed by Yukihiro Matsumoto; released in Use spread rapidly.
Creating Web Services with Ruby on Rails Robert Thew Internet and Web Systems II.
Language of the Month If it’s December, it must be Ruby! Adam Coffman and Brent Beer.
Ruby on Rails Web development that doesn’t hurt By Mylore, Dung, Lee, Karen and Bryan.
Ruby on Rails Tutorial Peter Mosca April, Ruby on Rails Tutorial Ruby History Invented 12 years ago in Japan by Yukihiro Matsumoto Spent first 5.
Introduction to Model-View-Controller (MVC) Web Programming with TurboGears Leif Oppermann,
1 JRuby on Rails GAO ANG Sun Functional Campus Ambassador 1.
Ruby on Rails by Manik Juneja Ruby On Rails. Ruby on Rails by Manik Juneja Rails is a Web Application development framework. Based on the MVC pattern.
Ruby on Rails a popular web application framework, aimed to increase the speed and ease of web development Ruby on Rails, Tim Zappe.
Rob Reynolds | | Twitter: ferventcoder.
Groovy & Grails Jean Barmash CTO, EnergyScoreCards.com
Building a social networking portal on Windows Azure in 1 hour Saranya Sriram Developer Evangelist Microsoft, India.
UNIT-V The MVC architecture and Struts Framework.
Spring Roo CS476 Aleksey Bukin Peter Lew. What is Roo? Productivity tool Allows for easy creation of Enterprise Java applications Runs alongside existing.
Ruby on Rails: An Introduction JA-SIG Summer Conference 2007 Michael Irion The University of Tulsa.
Chapter 3.1 – RoR: An introduction Maciej Mensfeld Presented by: Maciej Mensfeld RoR: An introduction dev.mensfeld.pl github.com/mensfeld.
| Lugano, Ruby on Rails.
RUBY ON RAILS Mark Zhang. In this talk  Overview of Ruby on Rails  Core ideas  Show a tiny bit of example code  Touch on several general web development/
Ruby on Rails Web development that doesn’t hurt. Ruby on Rails Framework written in the Ruby programming language for database- backed web applications.
RUBY ON RAILS It’s so rad. What we’ll cover  What is Ruby?  What is RoR?  Why RoR?  Developing with RoR  Deployment  Demo  Questions.
Storm-The-Castle an introduction to MVC, AR design pattern using Castle MonoRail and ActiveRecord rev 2 Date: 2009/10/04.
Ruby on Rails Charles Severance Textbook: Build Your own Ruby on Rails Application by Patrick Lenz (ISBN: )
Ruby on Rails. What is Ruby on Rails? Ruby on Rails is an open source full-stack web framework. It is an alternative to PHP/MySQL. It can render templates,
Chapter 1 Coding Introduction.
Groovy WHAT IS IT? HOW DOES IT WORK? IS IT USEFUL?
Pittsburgh Java User Group– Dec Java PureFaces: A JSF Framework Extension.
CSCI 224 Introduction to Java Programming. Course Objectives  Learn the Java programming language: Syntax, Idioms Patterns, Styles  Become comfortable.
Ruby & rails by Nicholas Belotti. What is ruby Ruby is an object orientated scripting language. In Ruby...everything is an object! Ruby was released in.
What’s new in Stack 3.2 Michael Youngstrom. Disclaimer This IS a presentation – So sit back and relax Please ask questions.
PHP TUTORIAL. HISTORY OF PHP  PHP as it's known today is actually the successor to a product named PHP/FI.  Created in 1994 by Rasmus Lerdorf, the very.
Design Patterns Phil Smith 28 th November Design Patterns There are many ways to produce content via Servlets and JSPs Understanding the good, the.
1 An Introduction to the Development of Web Applications using Ruby on Rails with Ajax Ansgar Berhorn, B.Sc. and Mike Rowe, Ph.D.
Introduction to Java Server Pages (JSPs) Robert Thornton.
Lecture 19 Web Application Frameworks Boriana Koleva Room: C54
Standalone Java Application vs. Java Web Application
1 Groovy for Java developers and testers How Java developers and testers could use Groovy to increase their efficiency AUGUST 6, 2015.
1 Dr Alexiei Dingli Web Science Stream Introducing Rails.
Ruby on Rails a high-productivity web application framework Curt Hibbs Curt Hibbs
Programming Languages , perfSONAR-PS Developers Meeting Aaron Brown, Maxim Grigoriev, Eric Pouyoul.
Automate Administration with KURL Shayne Koestler.
Symfony web development framework is used to develop rapid, complex and large scale web applications faster and in an effective way.
DTS Conversion to SSIS Conversion Best Practices Mike Davis
Introduction to Web Dimitar Nenchev Ivan Nakov
Templates, Databases and Frameworks. Databases: DBI Common database interface for perl Provides a functional,
Ruby on Rails By S. Christopher Hellriegel. Overview 1. What is Ruby on Rails? 2. What is MVC? 3. Simple example 4. Wow, that was cool!
tFileInputEBCDIC Bug Report & Design Recommendation
Introduction to Ruby&Rails Yuri Veremeyenko Monica Verma.
Date : 3/04/2010 Web Technology Solutions Class: PHP Web Application Frameworks.
Introduction Mehdi Einali Advanced Programming in Java 1.
1 Rails for the Ruby-Impaired John Paul Ashenfelter CTO/Transitionpoint.
Best Web Technologies for
Creative Commons Attribution- NonCommercial-ShareAlike 2.5 License Sakai Programmer's Café Sakai Montreal CRIM Workshop Comparative Display Technologies.
Griffin – A Multiprotocol Manageability Framework
1 Charles Oliver Nutter Thomas Enebo Tor Norbye Martin Krauskopf JRuby: Understanding the Fuss Except where otherwise noted, the content of this presentation.
JRuby on Rails Presenter Name
JRuby on Rails Brian Leonard ブライアン レオナルド
Architecture of Professionals.az Ziya Askerov April 2013
Web Technology Solutions
Ruby Tooling in NetBeans
Haritha Dasari Josue Balandrano Coronel -
JRuby Charles Oliver Nutter
The plan What's JRuby? The Ruby language Why JRuby? How to use it
Longtime Java developer More recent Ruby developer
Ruby, Rails, GUIs, and More
Why Modern Web Apps Are Best Built Using Rails In 2018.
Sakai WebApp Structure
Ruby on Rails by Manik Juneja
Ruby on Rails by Manik Juneja
Computer Based Adaptive Testing
Presentation transcript:

Sakai on Rails Integrating Ruby and Sakai David Adams, Virginia Tech

Topics to cover Quick introduction to Ruby and Rails Why consider Rails for Sakai? How to integrate Ruby and Java How to integrate Rails and Sakai Tiny demo if we have time

Caveats I’m a sysadmin, not a programmer I’m new to Sakai I’ve never written a Sakai tool in Java This is bleeding edge technology This presentation is a starting point

What is Ruby? Programming language Dynamic, interpreted, strongly-typed Built on ideas from many other languages: –The good parts of Perl –Smalltalk-like OO: everything is an object –A few dashes of Scheme

Really Cool Stuff about Ruby Concise syntax, easy to read Metaprogramming –Redefine classes at runtime Like Javascript, “a crazed language” per Antranig –method_missing? Duck typing –If it looks like a duck and quacks like a duck… (These can be good and bad)

The Ruby Community “Ruby may not actually be the be-all and end-all of programming languages. But right now, make no mistake, it's a white-hot nexus of innovation.” -- Tim Bray, Sun Microsystems, co-creator of XML

What is Rails? Web application framework Built on Ruby Unique to Ruby Strict MVC pattern More than just a CRUD generator

Really Cool Stuff about Rails Convention over configuration Use Ruby for everything (DSLs) –SQL migrations, schemas –Javascript (RJS) –Templates (Markaby) –URL mapping (Routes) –Maintenance tasks (Rake) –Okay, some stuff has to be in YAML

More Really Cool Stuff about Rails Integrated testing framework Integrated data validation Robust plugin system Robust AJAX integration ActiveRecord (ORM) –Discovers the database structure without help –Harnesses Ruby’s metaprogramming abilities –Just as useful outside of web applications

Why use Rails? Write applications quickly “Powerful web applications that formerly might have taken weeks or months to develop can be produced in a matter of days.” – Tim O’Reilly Less code, better maintainability Ruby is fun!

Who cares? Why should the Sakai community care? –Perfect for ad hoc and internal use tools –Rapid prototyping – with functionality B-but Rails is Ruby; Sakai runs on Java…

JRuby 1.0 Released June 10, 2007 “Our main goal for 1.0 has been Ruby compatibility. We feel this goal has been reached.” – Thomas Enebo Run Ruby (and thus Rails) in the JVM In some cases, can be faster than C Ruby

Rails in a Servlet Goldspike (Rails-Integration) –Rails plugin –Packs Rails app (and dependencies) in a WAR –Experimental Maven 2 support –Kinda flaky; needs tweaking to work with Sakai –

A Sakai Tool in Rails Take a Goldspike WAR Tweak the web.xml file Add the sakai.toolname.xml file Done! (mostly) Sakai on Rails plugin: – –Generator, templates, library

Demo Create a Rails app that runs as a Sakai tool I won’t go through the environment setup –It’s painful and error prone –Goldspike requires tweaks to work with Sakai No time to do anything fancy

Downsides Something new to learn Sakai is built on Java idioms No way (yet?) to call Ruby classes from Java directly ActiveRecord versus Sakai APIs “Attempts to code directly to Sakai databases will only lead to heartache and disappointment.” – Mark Norton

Now what? Sakai on Rails not yet ready for prime time Study performance impact Streamline/document environment setup Goldspike needs to be “fixed” Provide Ruby-ized access to Sakai APIs Start building small tools

Thanks! David Adams,