Upload
biz-partner
View
857
Download
1
Embed Size (px)
DESCRIPTION
Sap Inside Track Lima 2009 Ruby y SAP por Alvaro Tejada.
Citation preview
Ruby y SAP
Alvaro Tejada GalindoConsultor ABAP Senior / Mentor SAP
BizPartner
¿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.
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).
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).
Ejemplo de un programa en Ruby• Definimos un método llamado Suma que recibe dos parámetros, los suma y retorna el resultado.
• Ingresamos los números, los leemos, los convertimos a enteros y llamamos al método.
• Imprimimos el resultado de la operación.
def suma(a, b) $suma = a + b return $sumaend
print "Ingrese un numero: "$numero_1 = gets.to_iprint "Ingrese un numero: "$numero_2 = gets.to_i
$suma = suma($numero_1,$numero_2)
puts "La suma es #{$suma}"
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.
SAP::Rfc• Librería creada por Piers Harding.
• Se efectúa una conexión RFC entre Ruby y SAP.
• Se instala como un GEM.
Emulando la SE16
Podemos visualizar el contenido de cualquier tabla.
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
Emulando la SE16
Podemos utilizar una interfaz gráfica bastante completa.
Camping• Microframework para programas páginas web utilizando el modelo MVC.
• Se trabaja todo en solo archivo.
• El código fuente pesa solamente 4Kb.
Emulando la SE16
Camping maneja su propio HTML, no es muy flexible.
Sinatra• Framework para hacer páginas web de manera elegante.
• En un DSL (Domain Specific Language).
• Es el framework más sencillo.
Emulando la SE16
Sinatra interactúa con HTML por lo cual es más flexible.
Shoes• Toolkit para crear aplicaciones gráficas en Ruby.
• Utiliza su propia instancia de Ruby.
• Multiplataforma.
Emulando la SE16
Shoes se ejecuta en su propio entorno.
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.
Blue Ruby
Blue Ruby convierte el código Ruby a código ABAP.
Emulando la SE16
Blue Ruby solo tiene salida de output por el momento.
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.