Tag Archives: oracle

Diferencias entre Oracle Application Server vs Oracle WebLogic Server | OAS vs WLS

Oracle Application Server vs Oracle WebLogic Server

A continuación les dejo algunas afirmaciones que les permitiran hacer una comparación entre Oracle Application Server vs Oracle WebLogic Server:

  • En Oracle AS 10g R3 el control de servidor de aplicaciones está activo en una sola instancia (identificada como instancia de administración en un clúster) aunque gestiona otras instancias de Oracle AS asociadas. Del mismo modo, en Oracle WebLogic Server La consola administrativa es activa sólo en una instancia de servidor (Servidor de Administración), pero puede gestionar otras instancias de servidor (servidor administrado) en un dominio.
  • En Oracle AS 10g Release 2 hay un repositorio de configuración central administrado por Distributed Configuration Management (DCM). En Oracle WebLogic Server también hay un depósito de configuración central (config.xml).
  • En Oracle AS 10g Release 2, todas las instancias que compartieron el repositorio de configuración constituyeron un elemento de topología llamado Farm. El Farm es similar a un dominio en Oracle WebLogic Server.
  • El servidor WebLogic es una instancia de weblogic.server, que se ejecuta en una máquina virtual Java (JVM). Esto es similar a una instancia de Oracle AS con sólo un contenedor OC4J.
  • El servidor administrado es una instancia de servidor weblogic oracle que aloja aplicaciones empresariales, componentes de aplicaciones, servicios web y recursos asociados. Es similar a un Oracle AS 10gR3 sin los componentes de administración.
  • Instancia de administración del servidor de administración y OC4J: el servidor de administración almacena la copia maestra de la configuración del dominio, incluida la configuración de todos los servidores administrados del dominio. De esta manera, funciona como una instancia de Oracle AS que contiene el repositorio basado en archivos.
  • Un clúster de Oracle WebLogic Server consta de varias instancias de Oracle WebLogic Server. Esto es similar a un clúster OC4J en Oracle AS. Cuando configura un Oracle AS Cluster (OC4J), puede utilizar Oracle HTTP Server como front-end. Las directivas de equilibrio de carga se configuran en la configuración mod_oc4j del servidor de Oracle HTTP de front-end. Al configurar un clúster de Oracle WLS, debe configurar un mecanismo como un Apache o una instancia de WLS no agrupada para que funcione como el front-end del clúster. También debe configurar el equilibrio de carga dentro del clúster y no en el extremo frontal.

Finalmente me gustaría compartirles una presentación realizada en Prezi con los puntos mas importantes que debes considerar al momento de migrar una aplicación desde Oracle Application Server (OAS) hacia Oracle WebLogic Server (WLS)

BPEL vs OSB (Oracle Service Bus)

BPEL vs OSB

A continuación voy a traducirles el artículo BPEL vs OSB de The SOA mythbusters blog:

Entonces, ¿trabajas con Oracle SOA Suite ?, eso es genial porque también lo hacemos, todos los días desde hace mucho tiempo. Como profesionales de Oracle, hemos visto a SOA crecer, cambiar, incorporando nuevos productos y tecnología con cada versión, desde la 10g a la 12c.

Somos Rolando Carrasco (Oracle ACE) y Arturo Viveros (Oracle ACE Associate), los SOA Myth Busters de México, y como vamos con esta serie pondremos a prueba una serie de preguntas, mitos y leyendas urbanas con respecto a SOA y la Plataforma SOA de Oracle, en busca de descubrir qué mitos son verdaderos y cuáles no.

BPEL vs OSB

En este episodio, nos sumergiremos en uno de los argumentos más candentes que los practicantes de SOA de Oracle han estado sosteniendo a lo largo de los años: BPEL contra Oracle Service Bus. ¿Pueden y deberían trabajar juntos? ¿Es uno de ellos mejor que el otro? ¿Hay alguna guía bien fundada en la que pueda confiar para decidir entre ellos? ¿Y qué hay de SOA Suite 12c? Alrededor de este tema parece haber un montón de mitos, malentendidos y conceptos erróneos, así que vamos a conseguirlo y descubrir la mayor cantidad de la verdad como sea posible.

Empecemos

En primer lugar, las dos cosas que estamos comparando son más o menos las normas antes que los productos.

BPEL – Business Process Execution Language. Es un estándar para la orquestación de servicios, entregado y mantenido por OASIS. Se hizo popular a principios de los años 2000. Muchas empresas de software, como IBM, Oracle, han estado trabajando activamente en la mejora del estándar. Muchas compañías de software ofrecen productos que soportan este estándar. Por ejemplo: Oracle BPEL PM.

Oracle Service Bus (también conocido como Enterprise Service Bus). Desde los viejos tiempos de integración y EAI, el concepto de tener algo en el medio para poder intercomunicar sistemas heterogéneos y servicios ha estado presente. Este ESB como estándar, debe apoyar: Enrutamiento dinámico, Mediación, Virtualización, Enriquecimiento de Contenido, Invocación de Servicio, etc. Una buena manera de empezar a aprender sobre el estándar de un Bus de Servicio, es el libro de David Chappell “Enterprise Service Bus” http://shop.oreilly.com/product/9780596006754.do ). Este libro ya tiene 10 años, pero David representó muy bien lo que es un Bus de servicio, y todos los conceptos son actuales a nuestros días.

Ahora, ocurre que Oracle tiene un producto con el nombre Oracle BPEL Process Manager y otro llamado Oracle Service Bus. Eso es lo que puede añadir un poco más de confusión a la comparación. Y esta pregunta: ¿debo usar BPEL o Oracle Service Bus? Es una duda común dentro de los profesionales de SOA de Oracle y pensamos en cualquier otra compañía de software que soporte estos dos estándares.

Continue reading

Como instalar IGS (Integration Gateway Services) | RIB

IGS

Primero que nada, debo aclararles que IGS por sus siglas en ingles Integration Gateway Services es un sub-sistema opcional de RIB y por lo tanto debe ser instalado después de que los componentes base de RIB han sido instalados y verificados. El componente IGS provee una infraestructura de integración para sistemas externos (third party) a Oracle Retail a través de un grupo de Web Services para conectarse a RIB 13.1. Por lo tanto el mismo solo suele ser instalado en caso de necesitarlo, un ejemplo de su uso sería proveer un punto de integración entre la funcionalidad de “Currency Rates” de ORFI (Oracle Retail Financials Integrator) que permite que dado un cambio en la Tasa de Moneda realizado en el módulo de GL de EBS, el mismo llegue a RMS en su tabla CURRENCY_RATES.

Como pre-requisito para su instalación se necesita una instancia de WebLogic en una versión mayor o igual a 10.3, adicionalmente el mismo no puede ser desplegado en conjunto con el componente “rms-service“.

Para realizar la instalación solo se deben seguir los siguientes pasos:

Continue reading

Como cambiar el puerto por el que levanta WebLogic | How to change WebLogic start port

WebLogic start port

Para cambiar el puerto por el que levanta WebLogic solo debemos seguir los siguientes pasos:

  • Entrar en la ruta donde se encuentra instalado tu dominio de WebLogic

Por ejemplo

/u01/oracle/WLS/user_projects/domains/xyz_domain/
  • Entrar en la carpeta config/ y abrir el archivo config.xml
  • Buscar el tag “<server>

Que debe tener un código como el siguiente

<server>
	<name>AdminServer</name>
	<listen-address/>
</server>
  • Agregar la línea “<listen-port>7002</listen-port>” especificando un puerto diferente al que viene por omisión (7001) después de la etiqueta “name

Ejemplo:

<server>
	<name>AdminServer</name>
	<listen-port>7002</listen-port>
	<listen-address/>
</server>
  • Guardar el archivo y reiniciar WebLogic

Como crear un Dominio de Weblogic | How to create a Weblogic Domain

oracleboxweblogic

El Asistente de configuración le guía a través del proceso de creación de un dominio de WebLogic para su entorno de destino mediante la selección de los componentes del producto que desea incluir en el dominio, o mediante la selección de los archivos JAR de plantilla de dominio. Si es necesario, también puede personalizar el dominio para adaptarse a su entorno mediante la adición y configuración de servidores gestionados, clusters, y definiciones de máquina, o la personalización de las fuentes de datos JDBC y “JMS file store directories”.

Es posible que desee personalizar su dominio en las siguientes circunstancias:

  • Para crear un multi-servidor o dominio agrupado utilizando la configuración predeterminada. Todas las plantillas predefinidas de WebLogic (las suministradas con WebLogic Server) crean dominios de un solo servidor.
  • Para utilizar una base de datos que es diferente de la base de datos predeterminada en la plantilla de dominio o extensión. En este caso, debe personalizar la configuración de JDBC para que apunte a la base de datos adecuada.
  • Para personalizar el puerto de escucha y el puerto SSL.
  • Para crear un entorno de prueba mediante el uso de una plantilla de dominio que ha recibido, y para modificar la configuración del dominio para trabajar en el entorno de prueba en función de sus necesidades.

A continuación se muestra un diagrama que resume los pasos para crear un Dominio de WebLogic

Continue reading

Diferencias entre Oracle Access Manager (OAM) 11.1.2 y 10g

Oracle Access Manager

Access Manager 11g difiere de 10g en que las funciones de administración de identidad han sido transferidos a Oracle Identity Manager 11g (incluyendo auto-servicio y auto-registro de usuario, flujos de trabajo, gestión dinámica de grupos, y administración de identidad delegada).

Access Manager 10g soporta Single Sign-On usando una cookie de sesión única (el ObSSOCookie), esta contiene la información de identidad de usuario y la sesión requerida para acceder a los recursos de destino que tenían el mismo o menor nivel de autenticación. El ObSSOCookie es cifrado y descifrado usando una clave secreta compartida global, cuyo valor se almacena en el servidor de directorios. El ObSSOCookie es consumida por los componentes del sistema de acceso para verificar la identidad del usuario y permitir o no permitir el acceso a los recursos protegidos.

Para cerrar todas las posibles brechas de seguridad, Oracle Access Manager 11g proporciona nuevos componentes de servidor que mantienen la compatibilidad con los agentes existentes de Access Manager 10g (Webgates) y agentes OSSO (10g) mod_osso. El nuevo Oracle Access Manager 11g Webgates es una versión mejorada de Webgates 10g, el cuál soporta una clave secreta por cada agente para la solución de Single Sign-On (SSO). De este modo, se evita el tipo de ataque “cookie-replay”. Los Webgates 11g son todos confiables en el mismo nivel; un cookie específico para un Webgate  no se puede utilizar para acceder a otras aplicaciones protegidas por Webgate en nombre de ese usuario.

A menos que se indique expresamente, el término “Webgate” se refiere tanto a un Webgate “out of the box” o a un cliente personalizado de acceso.

Continue reading

Venta de pre-empacados en RMS (Retail Merchandising System)

pre-empacados en RMS

Un pre-empacado es un elemento que consta de varios artículos que se venden como uno solo. Estos artículos se venden generalmente como una unidad como un beneficio para el consumidor, ya sea por conveniencia o ahorro de precio. La estrategia es, por lo tanto, para animar al cliente a comprar más.

El paquete puede contener diferentes elementos y / o múltiplos del mismo artículo, estos artículos pueden venir de diferentes departamentos y/o de múltiples proveedores / países de origen.

Por defecto el precio de venta será la suma del costo de los componentes más el margen del departamento del paquete, pero puede ser cambiado.

Así mismo, el pre-empacado no se puede ordenar o transferir a menos que el paquete está configurado como vendible y pueda ser “pedido”. Por consiguiente el inventario es mantenido y se puede visualizarse a nivel del componente del artículo. El “inventario” del pre-empacado se puede ver cuando se le solicite de forma manual, pero no se mantiene en Retail Merchandising System (RMS). RMS permite a los usuarios ver el inventario de los artículos del pre-empacado a través de la pantalla “Sellablle Pack Build (packbld.fmb)”  en el menú de inventario.

Finalmente si la venta al por menor del paquete ofrece un descuento, el descuento se prorratea a través de los elementos componentes en el momento de la venta y se mostrará como una rebaja en el registro de acciones. Por el contrario si la venta al por menor del paquete es mayor que la suma de la venta al por menor de los componentes, el excedente será prorrateado a través de los elementos componentes en el momento de la venta.

Qué es EDI y como funciona dentro de Retail Merchandising System (RMS)?

Que es EDI

La intención de este articulo es proporcionar algunos consejos sobre la funcionalidad de EDI dentro de RMS y cómo desactivar el almacenamiento de ventas diarias en la tabla EDI_DAILY_SALES.

¿Qué es EDI?

EDI (Intercambio Electrónico de Datos) proporciona un método para minoristas y proveedores para transmitir documentos de la empresa. El programa traductor de EDI convierte archivos de entrada o salida a archivos planos o formato EDI según corresponda.

Los batchs EDI de RMS crean un archivo de salida si los datos se están transmitiendo al proveedor o aceptan un archivo de entrada iniciado por el proveedor. En todos los casos, el archivo es traducido por la aplicación de software de traducción de EDI del cliente.

Cómo utilizar el EDI?

Se debe indicar qué transacciones EDI están soportadas por el proveedor. Si el proveedor solicita la actividad del producto, se puede indicar si los datos deben ser transmitidos sobre una base diaria o semanal.

También se debe indicar la variación permitida para cambios en los costos por importe monetario y en función del porcentaje. cambios en los costos recibidos del proveedor que se encuentran dentro del rango tolerado se aprueban automáticamente por el sistema después de aceptar los cambios.

Algunas generalidades sobre EDI

La tabla EDI_DAILY_SALES contiene información de ventas diarias de SKUs de proveedores que transmiten informes diarios de actividad a través de EDI. Se llevará a cabo los volúmenes de ventas de SKU en la ubicación y el nivel de fecha de la transacción.

La tabla sólo tendrá información sobre las ventas regulares. Ésta será definida durante el procesamiento de archivos POSUPLD.

Los registros serán purgados de acuerdo con el indicador de EDI_DAILY_RPT_LAG en la tabla SYSTEM_OPTIONS.

En caso de que no se utilice la funcionalidad de intercambio electrónico de datos (EDI), se puede detener el llanado de datos en la tabla EDI_DAILY_SALES ajustando del campo EDI_SALES_RPT_FREQ a el valor ‘W‘ en la tabla SUPS, generando que las ventas e información de inventario sean descargados semanalmente y por lo tanto la tabla EDI_DAILY_SALES no se actualice.

¿Cómo se elimina la información de la tabla EDI_DAILY_SALES?

Para eliminar la información de la tabla EDI_DAILY_SALES solo se debe ejecutar el job “post processing” para el batch EDIDLPRD.

En caso de necesitar mas información, pueden consultar la documentación de RMS en Oracle.

Segmentos de cuentas en GL: Como obtener desde EBS los segmentos que están siendo usados para las cuentas contables en Oracle Retail

Segmentos de cuentas

En caso de que necesites obtener cuales son los segmentos de cuentas que están configurados actualmente en E-Business Suite (EBS) para armar las cuentas contables que se deben configurar en Oracle Retail solo basta con ejecutar el siguiente query en tu ambiente de EBS:

 

Obtener datos de multiples tablas en Oracle | JOIN

join

La sentencia JOIN en SQL permite combinar registros de dos o más tablas en una base de datos relacional. En el Lenguaje de Consultas Estructurado de Oracle (SQL) hay cinco tipos de JOINs: Natural JOIN, Self-join, Nonequijoins, Outer Join y Cross joins.

Matemáticamente, JOIN es composición relacional, la operación fundamental en el álgebra relacional, y, generalizando, es una función de composición.

Para entender como funciona la cláusula JOIN podemos ver el siguiente bloque de código

Podemos observar de forma reducida todos los tipos de JOIN que soporta una base de datos Oracle:

  • NATURAL JOIN une dos tablas basándose en las columnas que tengan el mismo nombre.
  • JOIN tabla2 USING nombre_columna realiza un equijoin basado en el nombre de columna que se especifica en la cláusula USING.
  • JOIN tabla2 ON tabla1.nombre_columna = tabla2.nombre_columna realiza un equijoin basado en la condición que se especifica en la cláusula ON.
  • LEFT / RIGHT / FULL OUTER son usados para realizar OUTER joins.
  • CROSS JOIN regresa un producto cartesiano de dos tablas.

Continue reading