Ruby es un lenguaje de programación orientado a objetos que puede utilizarse para interactuar con SAP a través de la librería SAP::Rfc. Existen varios frameworks como Sinatra y Camping que permiten crear interfaces web, así como Shoes y wxRuby que permiten interfaces gráficas. Blue Ruby permite ejecutar Ruby directamente en el servidor SAP.
1. Ruby y SAP
Alvaro Tejada Galindo
Consultor ABAP Senior / Mentor SAP
BizPartner
2. ¿Qué es Ruby?
• Lenguaje de programación
creado por Yukihiro “Matz”
Matsumoto.
• Existe desde hace más de 10
años.
• Utiliza lo mejor de Python y
Perl.
• Es 100% Orientado a Objetos.
• Es totalmente gratuito.
• Fácil de aprender y bastante
veloz en tiempo de ejecución.
3. Rostros importantes
• Yukihiro Matsumoto (Creador
de Ruby).
• David Heinmeier Hansson
(Creador de Rails).
• Why the lucky stiff (Creador
de Camping, Shoes, Hpricot,
Markaby, Try Ruby y más).
4. IDEs para Ruby
• FreeRIDE (Gratuito, viene
incluido con Ruby).
• Ruby on Steel (Versión
gratuita y de pago, con muchas
funcionalidades).
• NetBeans (Gratuito, utiliza
JRuby que es una
implementación de Ruby hecha
en Java).
5. Ejemplo de un programa en Ruby
• Definimos un método llamado
def suma(a, b)
$suma = a + b Suma que recibe dos
return $suma parámetros, los suma y retorna
end
el resultado.
print "Ingrese un numero: "
$numero_1 = gets.to_i
print "Ingrese un numero: " • Ingresamos los números, los
$numero_2 = gets.to_i leemos, los convertimos a
$suma = suma($numero_1,$numero_2) enteros y llamamos al método.
puts "La suma es #{$suma}"
• Imprimimos el resultado de la
operación.
6. Ejemplo de un programa en Ruby
Ruby nos presenta el resultado en un pantalla de DOS. Al
ser un lenguaje script, no tiene interfase gráfica.
7. SAP::Rfc
• Librería creada por Piers
Harding.
• Se efectúa una conexión RFC
entre Ruby y SAP.
• Se instala como un GEM.
9. wxRuby
• Librería que nos permite crear
interfaces de usuarios en
múltiples plataformas.
• Basado en wxWidgets para C+
+.
• Actualmente en la versión 2.0
11. Camping
• Microframework para
programas páginas web
utilizando el modelo MVC.
• Se trabaja todo en solo
archivo.
• El código fuente pesa
solamente 4Kb.
17. Blue Ruby
• Implementación de Ruby que
funciona en el stack de ABAP
del NetWeaver.
• Se puede acceder mediante
WebGUI, Blue Ruby IDE o
cualquier IDE utilizando el
conector Blue Ruby.
• En fase de desarrollo y Beta
Testing.
• 89% del lenguaje
implementado.
• No soporta el uso de GEMS.
20. Conclusiones
• Podemos emular cualquier
transacción utilizando Ruby,
SAP::Rfc y algún framework
disponible.
• Todo en Ruby es gratuito.
• Simplemente debemos utilizar
módulos de funciones con RFC,
o crear versiones Z de módulos
existentes.