Definiendo y llamando una clase en JAVA IDE NetBeans

Podemos definir una clase como una plantilla, la cual se toma como modelo al momento de crear objetos, y a su vez estos se pueden definir como elementos dentro de un programa que tienen características ( atributos ) y comportamientos ( métodos ).

En este artículo veremos como crear una clase en JAVA, utilizando el IDE NetBeans, ya que para JAVA las clases son fundamentales debido a la naturaleza de su paradigma( Orientado a Objetos ) .

Código

GitHub

Procedimiento

1.-Entrar a NetBeans.

2.-Crear un nuevo proyecto.

JAVA

JAVA

JAVA
JAVA

 

3.- Crear una clase, es importante crear un paquete para poder organizar de mejor manera nuestros elementos.

JAVA
Creación de Clase

4.- Una vez que se haya creado la clase definimos sus atributos y métodos, en este caso nuestra clase estará realizando una suma con los valores definidos a sus atributos.

Clases
Atributos y Métodos

5.- Abrimos nuestra clase principal e importamos el paquete donde está nuestro objeto.

JAVA Import
JAVA Import

6.- Realizamos la instancia de nuestro objeto.

Instancia
Instancia

Ahora el objeto ‘obj1′ posee las propiedades de la clase operaciones, atributos y métodos.

7.- Hacemos el llamado al método sumarValores( ).

Método Sumar Valores
Método Sumar Valores

8.- Por último ejecutamos nuestro programa.

JAVA Class

 

Por favor ayúdame compartir este post

Consume un servicio ABAP y actualiza tu sitio en tiempo real con AJAX y PHP pt.5

Cada día es más importante contar con la información de la forma más rápida posible, por lo que se han creado tecnologías capaces de actualizar partes de tu sitio WEB en tiempo real. Es por eso que te dejo este tutorial de como obtener información a través de un servicio ABAP, actualizando una página WEB sin tener que refrescarla.

Resultado

El resultado que debemos obtener es una página .html con un input text que al momento de ingresar una cadena en mayúsculas se vea de forma inmediata su transformación en minúsculas, esta parte la haremos desde SAP.

REQUEST AJAX

Ahora que ya tenemos desplegado nuestro servicio SAP y un script PHP que llame a la función, debemos crear un script del lado del cliente que consulte sin refrescar la información de SAP.

1.- Creamos un formulario HTML para la entrada de información.

AJAX HTML

2.- Realizamos nuestra función en JavaScript, donde primero validamos nuestra entrada de datos.

JavaScript AJAX

3.- Creamos nuestro objeto para el llamado http.

AJAX JavaScript

4.- Utilizamos esta función, la cual se ejecutará cuando la respuesta del servicio esté lista.

JavaScript

5.- Y por último se hace el envío de petición http al archivo servicios.php.

JavaScript
JavaScript

CÓDIGO PHP Y AJAX

PRIMERA PARTE DA CLICK AQUÍ

Por favor ayúdame compartir este post

Consume un servicio ABAP y actualiza tu sitio en tiempo real con AJAX y PHP pt.4

Cada día es más importante contar con la información de la forma más rápida posible, por lo que se han creado tecnologías capaces de actualizar partes de tu sitio WEB en tiempo real. Es por eso que te dejo este tutorial de como obtener información a través de un servicio ABAP, actualizando una página WEB sin tener que refrescarla.

Resultado

El resultado que debemos obtener es una página .html con un input text que al momento de ingresar una cadena en mayúsculas se vea de forma inmediata su transformación en minúsculas, esta parte la haremos desde SAP.

Consumir Servicio SAP (Script PHP)

Ahora que hemos terminando de exponer nuestro servicio WEB estamos listo para consumirlo, utilizaremos un script PHP para llamar al servicio.

1.- Activamos nuestro servidor local, en mi caso es XAMP.

XAMP PHP

2.- Creamos un directorio llamado servicios dentro de nuestra carpeta hdocs.

3.- Dentro Guardamos nuestro archivo WSDL.xml y creamos el archivo servicios.php

WSDL PHP

4.-  Dentro del Script PHP,  definimos el WSDL que vamos a utilizar y nuestras credenciales.

WEBService

5.- Llamamos al servicio

PHP WEBService

6.-  Llamamos a nuestra operación con un parámetro estático de prueba “PRUEBA” e imprimimos la respuesta.

PHP WEBService

Nota: Posteriormente la cadena ‘PRUEBA’ Deberá ser sustituida por la variable que envíe la petición

7.- Cargamos en nuestro buscador la página. Si todo marchó bien deberemos ver nuestra cadena en minúscula.

PHP WEBService

QUINTA PARTE DA CLICK AQUÍ

 

Por favor ayúdame compartir este post

Consume un servicio ABAP y actualiza tu sitio en tiempo real con AJAX y PHP pt.3

Cada día es más importante contar con la información de la forma más rápida posible, por lo que se han creado tecnologías capaces de actualizar partes de tu sitio WEB en tiempo real. Es por eso que te dejo este tutorial de como obtener información a través de un servicio ABAP, actualizando una página WEB sin tener que refrescarla.

Resultado

El resultado que debemos obtener es una página .html con un input text que al momento de ingresar una cadena en mayúsculas se vea de forma inmediata su transformación en minúsculas, esta parte la haremos desde SAP.

Publicar Servicio (SOAMANAGER)

Una vez que terminemos con el asistente de configuración debemos ir a la TX SOAMANAGER para publicarlo.

1.-  Una vez dentro seleccionamos la opción de “Web Service Configuration”.

ABAP SOAMANAGER

2.-  Buscamos nuestro Servicio WEB.

ABAP WEB Service

3.- Seleccionamos nuestro servicio y escogemos la opción de crear.

ABAP WEB Service

4.- Completamos el asistente de configuración.

WEB Service ABAP

WEB Service ABAP

WEB Service ABAP

WEB Service ABAP

5.- Damos click en finalizar.

6.- Obtenemos la URL del WSDL.

WEB Service ABAP

7.- Seleccionamos opción No Policy en el parámetro WSP Version.

 

8.- Seleccionamos la URL que se encuentra en la sección WSDL Generation.

WEB Service ABAP

9.- Accedemos a un buscador y ponemos la ruta, una vez que cargue el documento damos click derecho y seleccionamos ver código fuente.

WEB Service

10.- En cuanto cargue nuevamente el WSDL lo guardamos en un archivo de texto, en mi caso lo nombraré WSDL1.xml.

Nota: Podemos probar nuestra URL con el programa SOAPUI.

SOAP UI

CUARTA PARTE DA CLICK AQUÍ

Por favor ayúdame compartir este post

Consume un servicio ABAP y actualiza tu sitio en tiempo real con AJAX y PHP pt.2

Cada día es más importante contar con la información de la forma más rápida posible, por lo que se han creado tecnologías capaces de actualizar partes de tu sitio WEB en tiempo real. Es por eso que te dejo este tutorial de como obtener información a través de un servicio ABAP, actualizando una página WEB sin tener que refrescarla.

Resultado

El resultado que debemos obtener es una página .html con un input text que al momento de ingresar una cadena en mayúsculas se vea de forma inmediata su transformación en minúsculas, esta parte la haremos desde SAP.

Exponer un Servicio WEB APAB

1.- Una vez que tenemos nuestro RFC operando es necesario crear nuestro Servicio WEB.

Enterprise Service

2.- Introducimos la definición, descripción del servicio y continuamos con el asistente.

Nota: Para fines prácticos guardaremos el WS como un objeto local

ABAP Web Service

 

3.- Guardamos y Activamos

TERCERA PARTE DA CLICK AQUÍ

Por favor ayúdame compartir este post

Consume un servicio ABAP y actualiza tu sitio en tiempo real con AJAX y PHP pt.1

Cada día es más importante contar con la información de la forma más rápida posible, por lo que se han creado tecnologías capaces de actualizar partes de tu sitio WEB en tiempo real. Es por eso que te dejo este tutorial de como obtener información a través de un servicio ABAP, actualizando una página WEB sin tener que refrescarla.

Resultado

El resultado que debemos obtener es una página .html con un input text que al momento de ingresar una cadena en mayúsculas se vea de forma inmediata su transformación en minúsculas, esta parte la haremos desde SAP.

Creando un RFC (Remote Function Call)

1.- Creamos un grupo de funciones en la TX SE80 y lo activamos.

2.- Creamos un módulo de funciones en laTX SE37 asignando el grupo de funciones previamente creado.

3.- Creamos un parámetro de entrada y uno de salida, no olvides seleccionar la opción de traspasar valores.

5.- Implementamos lógica que nos permita validar el funcionamiento de la función, en este caso convertiré una cadena de mayúscula en minúscula.

6.-  Seleccionamos en la pestaña de atributos la opción (RFC) y activamos.

7.- Probamos la función.

SEGUNDA PARTE DA CLICK AQUÍ

Por favor ayúdame compartir este post

ABAP Singleton

Este patrón nos sirve para restringir la creación de objetos, nos permitirá crear unicamente una instancia de una clase.

Implementación

Utilizaremos una clase estática para salvar dentro de esta misma la instacia creada y así podamos checar si se solicita una nueva instancia.

Ejemplo

1.- Creamos una clase estática.

Singleton ABAP

2.- Dentro de la sección de atributos privados declaramos el atributo estático lo_obj, el cual será una referencia de nuestra clase.

Singleton ABAP

3.- Definimos el método estático encargado de validar si la instancia está creada “get_instance”. En caso de que no esté creada la guardará en el atributo lo_obj, caso contrario utilizará la instancia guardada en el atributo lo_obj para hacer la referencia, la cual será el valor de retorno.

Singleton ABAP

Implementación

Singleton ABAP

4.- Definimos un atributo que nos permita ver un valor asignado al objeto, esto con la finalidad de validar que siempre se trata del mismo objeto.

5.- Definimos e implementamos nuestros métodos set y get para manipular el valor.

Singleton ABAP

Singleton ABAP

 

Ahora que tenemos listo nuestro patrón SINGLETON lo probaremos asignado a 2 referencias la instancia , obteniendo el mismo objeto para ambas referencias.

5.- Obtenemos la instancia

Singleton ABAP

6.- Asignamos un valor a nuestro atributo lv_valor

Singleton ABAP

7.- Obtenemos nuevamente la instancia para nuestra segunda referencia y llamamos al método get para obtener el valor de nuestro atributo lv_valor.

Singleton ABAP

8.- Imprimimos lv_msj y podremos observar que tenemos el mismo objeto asignado a una segunda referencia.

Singleton ABAP

Resultado

Singleton ABAP

DESCARGA EL CÓDIGO AQUÍ

Por favor ayúdame compartir este post

Patrones de Diseño

El diseño orientado a objetos reutilizable es muy común y es habitual encontrarnos con problemas que se volverán a presentar en el futuro, es por eso que es necesario contar con soluciones que se han presentado en el pasado. Por lo anterior expuesto contamos con los patrones de diseño.

¿ Qué es un patrón de diseño ?

Es una técnica empleada para resolver problemas comunes en el desarrollo de software.

Algunos de los objetivos de los patrones de diseño son:

  • Proporcionar elementos reutilizables
  • Evitar búsqueda de soluciones a problemas recurrentes
  • Estandarizar el diseño
  • Crear una forma en común de comunicar ideas

Categorías de los patrones de diseño

  • De creación: Se utilizan en el proceso de creación de objetos
  • De estructura: Tratan la composición de clases y objetos que intervienen en el patrón
  • De comportamiento: Ofrecen soluciones respecto a la interacción y responsabilidades entre clases y objetos

Algunos Ejemplos

Ambito/Proposito Creación Estructura Comportamiento
Clase Factory Method Adapter Interpreter
Objeto Singleton Adapter Iterator

Aprende a implementar el patrón SINGLETON en ABAP dando clic aquí

Por favor ayúdame compartir este post

¿ Qué es SAP PI ?

 

SAP Process Integration es parte de la tecnología SAP Netwaver y es utilizada para el intercambio de información dentro de los sistemas internos de una empresa, además de los sistemas externos con los que se comunique.

SAP PI permitirá la comunicación entre sistemas SAP y sistemas no SAP , esto a través de diferentes lenguajes de programación como JAVA y ABAP.

Se puede considerar a SAP PI como una instancia central que conecta diferentes sistemas, a este tipo de comunicación se le puede llamar “comunicación mediada”.

 

SAP PI

Ventajas


Conexión

Puedes conectar diferentes aplicaciones y sistemas que tengan diversas formas de comunicación, ya que PI provee diversos adaptadores y protocolos de comunicación .

Ruteo

Puedes definer reglas de ruteo y enviar el mismo mensaje a diferentes sistemas dependiendo de algún parámetro en particular.

Mapeo

Puedes comunicar diversos sistemas con formatos diferentes en sus mensajes, cambiando la estructura del mensaje al formato que se necesite.

Por favor ayúdame compartir este post