20
Ruby y SAP Alvaro Tejada Galin Consultor ABAP Senior / Mentor S BizPartn

Sesión 03: Ruby y SAP

Embed Size (px)

DESCRIPTION

Sap Inside Track Lima 2009 Ruby y SAP por Alvaro Tejada.

Citation preview

Page 1: Sesión 03: Ruby y SAP

Ruby y SAP

Alvaro Tejada GalindoConsultor ABAP Senior / Mentor SAP

BizPartner

Page 2: Sesión 03: Ruby y SAP

¿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.

Page 3: Sesión 03: Ruby y SAP

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).

Page 4: Sesión 03: Ruby y SAP

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).

Page 5: Sesión 03: Ruby y SAP

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}"

Page 6: Sesión 03: Ruby y SAP

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.

Page 7: Sesión 03: Ruby y SAP

SAP::Rfc• Librería creada por Piers Harding.

• Se efectúa una conexión RFC entre Ruby y SAP.

• Se instala como un GEM.

Page 8: Sesión 03: Ruby y SAP

Emulando la SE16

Podemos visualizar el contenido de cualquier tabla.

Page 9: Sesión 03: Ruby y SAP

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

Page 10: Sesión 03: Ruby y SAP

Emulando la SE16

Podemos utilizar una interfaz gráfica bastante completa.

Page 11: Sesión 03: Ruby y SAP

Camping• Microframework para programas páginas web utilizando el modelo MVC.

• Se trabaja todo en solo archivo.

• El código fuente pesa solamente 4Kb.

Page 12: Sesión 03: Ruby y SAP

Emulando la SE16

Camping maneja su propio HTML, no es muy flexible.

Page 13: Sesión 03: Ruby y SAP

Sinatra• Framework para hacer páginas web de manera elegante.

• En un DSL (Domain Specific Language).

• Es el framework más sencillo.

Page 14: Sesión 03: Ruby y SAP

Emulando la SE16

Sinatra interactúa con HTML por lo cual es más flexible.

Page 15: Sesión 03: Ruby y SAP

Shoes• Toolkit para crear aplicaciones gráficas en Ruby.

• Utiliza su propia instancia de Ruby.

• Multiplataforma.

Page 16: Sesión 03: Ruby y SAP

Emulando la SE16

Shoes se ejecuta en su propio entorno.

Page 17: Sesión 03: Ruby y SAP

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.

Page 18: Sesión 03: Ruby y SAP

Blue Ruby

Blue Ruby convierte el código Ruby a código ABAP.

Page 19: Sesión 03: Ruby y SAP

Emulando la SE16

Blue Ruby solo tiene salida de output por el momento.

Page 20: Sesión 03: Ruby y SAP

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.