Configurable Network Computing o CNC es la arquitectura y metodología cliente-servidor propietaria de JD Edwards (JDE) . Ahora una división de Oracle Corporation , Oracle continúa patrocinando el desarrollo continuo del sistema de Planificación de recursos empresariales ( ERP ) de JD Edwards . Si bien es altamente flexible, la arquitectura CNC es propietaria y, como tal, no se puede exportar a ningún otro sistema. Si bien el principal "reclamo de fama" de la arquitectura CNC, el aislamiento de las aplicaciones de la base de datos subyacente y los sistemas operativos, fue reemplazado en gran medida por la tecnología moderna basada en la web, no obstante, la tecnología CNC continúa siendo el corazón de las arquitecturas One World y Enterprise One de JD Edwards y se planea que desempeñe un papel importante en la iniciativa de desarrollo de arquitectura de fusión de Oracle . [1] Si bien es una arquitectura propietaria, CNC no es una oferta de productos de Oracle ni de JDE. El término CNC también se refiere a los analistas de sistemas que instalan, mantienen, administran y mejoran esta arquitectura. Los CNC también son una de las tres áreas técnicas en el ERP de Planificación de recursos empresariales de JD Edwards que incluyen desarrollador/redactor de informes y analistas funcionales/comerciales.
Oracle continúa desarrollando la tecnología CNC e incorporará elementos clave de la tecnología CNC en su proyecto Oracle Fusion, que reunirá tecnologías de JDE, PeopleSoft y sus propias tecnologías de software de aplicación.
En la arquitectura CNC, las aplicaciones de software empresarial JD Edwards (JDE) de una empresa se ejecutan de forma transparente y aisladas tanto de la base de datos donde se almacenan los datos empresariales como del sistema operativo subyacente de la computadora cliente y de todos los demás servidores de aplicaciones empresariales JDE que intervienen. En términos sencillos, a los programas empresariales no les "importa" dónde están los datos ni qué sistema operativo se está utilizando en ninguna de las computadoras de los usuarios finales . Los servidores de aplicaciones en los que se ejecutan los programas empresariales tampoco necesitan "saber" directamente qué sistemas de bases de datos se están llamando en el extremo de datos o en el extremo posterior. La arquitectura CNC realiza un seguimiento de esto a través de varias tablas de bases de datos que apuntan las aplicaciones empresariales a los servidores que ejecutan o ejecutan las aplicaciones empresariales y también incluyen herramientas de conexión de bases de datos llamadas controladores de bases de datos que también le indican al sistema dónde están los servidores de bases de datos y de qué bases de datos específicas realizar búsquedas, inserciones de datos y extracciones de datos. Debido a la naturaleza clave de la arquitectura subyacente, una infraestructura CNC sólida es fundamental para el éxito de una instalación o implementación de JD Edwards OneWorld. Las bases de datos back-end que se admiten incluyen bases de datos Oracle , Microsoft SQL Server y bases de datos IBM DB2 . El servidor de aplicaciones puede ejecutarse en plataformas Windows , Unix / Linux e IBM System i (anteriormente conocido como iSeries y AS/400). El servidor web puede ser IBM WebSphere (en Windows, Unix/Linux o System i) o Oracle Weblogic Server (en Windows o Unix/Linux).
En lo que se conoce tradicionalmente como entornos cliente-servidor , las aplicaciones deben comunicarse a través de una combinación de diferentes plataformas de hardware, sistemas operativos y bases de datos, entre otras. La arquitectura CNC utiliza una capa de software, denominada middleware , que se encuentra entre el sistema operativo de la plataforma y las aplicaciones empresariales de JDE. Para lograrlo, JDE ofrece dos tipos de middleware: JDENET Communication Middleware y JDEBASE Database Middleware. El middleware JDEBASE se comunica con la base de datos a través de ODBC, JDBC o SQL*Net.
Según el documento de JD Edwards, Configurable Network Computing Implementation , la arquitectura CNC se define de la siguiente manera:
"CNC es la arquitectura técnica del software JD Edwards OneWorld y EnterpriseOne. CNC permite que aplicaciones distribuidas y altamente configurables se ejecuten en una variedad de plataformas sin que los usuarios o analistas necesiten saber qué plataformas o bases de datos están involucradas en una tarea determinada. CNC aísla la solución empresarial de la tecnología subyacente. Las empresas pueden crecer y adoptar nuevas tecnologías sin tener que reescribir las aplicaciones". [ cita requerida ]
"Computación en red configurable: arquitectura de aplicaciones que permite que aplicaciones interactivas y por lotes, compuestas por una única base de código, se ejecuten en una red TCP/IP de múltiples plataformas de servidores y bases de datos SQL. Las aplicaciones consisten en funciones empresariales reutilizables y datos asociados que se pueden configurar en la red de forma dinámica. El objetivo general para las empresas es proporcionar un entorno a prueba de futuro que les permita cambiar las estructuras organizativas, los procesos empresariales y las tecnologías de forma independiente". [2]
Otra de las ventajas de JD Edwards es su arquitectura multi-base. Esto significa que se pueden crear instancias independientes de JDE en diferentes versiones de herramientas y aislar estas versiones entre sí. Esto se logra creando un conjunto independiente de carpetas del sistema para la otra base. En el archivo de configuración principal del servidor de aplicaciones o de la empresa, JDE.ini, los puertos de entrada y salida se cambian a uno diferente al de la otra base, de modo que si una base tenía el puerto 6015, la alternativa podría utilizar el 6016. Además, la carpeta de versiones de herramientas del lado del cliente se instala en el servidor de implementación y el administrador del sistema utiliza JDE Planner o el entorno de instalación para definir otra base. A continuación, se pueden señalar los paquetes completos posteriores utilizando esta base diferente.
Hasta la llegada de la versión 8.12 de las aplicaciones EnterpriseOne, que se ejecutaba en el paquete de servicio/versión de herramientas 8.96, el aspecto más vulnerable de la tecnología CNC era que las especificaciones de objetos propietarios debían copiarse desde el cliente completo hasta el servidor de aplicaciones para que las opciones de selección y procesamiento de datos de un usuario de JDE se ejecutaran según lo solicitado en el servidor. Si esas especificaciones propietarios se corrompían, el objeto de la aplicación por lotes, a su vez, en el servidor de aplicaciones podía corromperse. La única solución era reconstruir y volver a implementar el objeto. Del mismo modo, si hay algún proceso intermedio que corrompe las especificaciones de objetos cuando llegan al equipo cliente, el objeto relacionado podría corromperse y dejar de funcionar correctamente. Desde que las aplicaciones actualizan E812 y Tools Release o los sistemas o el paquete de servicio básico, las especificaciones propietarios se han reemplazado por propiedades de objetos basadas en XML que han demostrado ser más estables y menos propensas a la corrupción. En el otoño de 2008, Oracle lanzó la versión de aplicaciones E900 y, en el otoño de 2010, la versión de herramientas ya era la 8.98.3.3. La última versión, E900 Update 1 o E901, es la última versión de otoño de 2010.
Aunque copiar las especificaciones de los objetos entre los diferentes entornos dentro del mismo sistema es fácil, el código, una vez desarrollado en un sistema determinado, no es fácilmente transferible a otros sistemas. JD Edwards ha desarrollado un proceso integrado denominado "Packaging de productos" para solucionar este problema, pero es lento, no es fácil de usar y tiene varias limitaciones. Por este motivo, se utiliza principalmente para entregar actualizaciones de software por parte de Oracle, mientras que los proveedores de software independientes utilizan principalmente herramientas de terceros como Boomerang. El Packaging de productos admite la exportación de especificaciones y E812 y posteriores permiten exportar versiones como archivos ZIP a través de la columna de acciones en Object Management Workbench. [3]
Las especificaciones de los objetos no son de fácil acceso para recuperar los datos, ya que están en un formato propietario. Por lo tanto, una variedad de información interesante queda oculta a la vista. Algunos de estos datos se pueden recuperar, interpretar y mostrar mediante el software JDE estándar, pero en muchos casos, esto puede no ser suficiente, no ser lo suficientemente rápido o no estar en el formato deseado. Se han desarrollado muchas soluciones de software de terceros para llenar este vacío. [4]
Si bien la arquitectura CNC es potente, puede ser enormemente compleja, lo que dificulta su mantenimiento por parte de cualquier persona, excepto analistas de CNC con mucha experiencia. No es raro ver 50 servidores en algunas de las implementaciones más grandes y todos ellos deben recibir mantenimiento. Si bien la virtualización ha ayudado en algunas áreas, se debe invertir mucho tiempo en mantener todos estos servidores en funcionamiento.
Hay varias aplicaciones de terceros que agregan funcionalidad y capacidad de programación al JDE Scheduler. Entre ellas se incluyen Cisco Tidal Enterprise Scheduler, que es un producto basado en el cliente JDE, y Appworx, un programador de terceros basado en servidor en el que se han personalizado los productos de secuencias de comandos y flujo de trabajo para que sean compatibles con JDE, lo que permite agregar funciones al programador estándar que viene con JDE. AutoDeploy, un complemento de terceros, automatiza por completo el proceso de creación e implementación de paquetes para JD Edwards EnterpriseOne, lo que reduce la complejidad del mantenimiento de la base de código antes, después y después del proyecto.
La llegada de la World Wide Web y de las tecnologías HTML también ha aislado a los usuarios y a las aplicaciones de las tecnologías subyacentes. La arquitectura CNC combina esto con su propia arquitectura a través de una arquitectura de servidor de aplicaciones Java (JAS). Los clientes web se comunican con la arquitectura CNC a través de estos servidores JAS.
En el otoño de 2008, Oracle lanzó la versión de aplicaciones E900 y, en el verano de 2011, la versión de herramientas alcanzó la versión 8.98.4.3. En el otoño de 2009, se lanzó la actualización 1 de E900. En el verano de 2011, se necesitaron más de 2000 parches de actualizaciones electrónicas de software (ESU) para actualizar la versión E901 a los últimos niveles de código. En el otoño de 2010, se lanzó la actualización 2. En el otoño de 2011, Oracle lanzó la versión 9.1 de aplicaciones y la versión 9.1 de herramientas, que cambiaron significativamente el aspecto de E1.
El middleware JDENET y JDEBase son los dos elementos de la arquitectura CNC que permiten que las aplicaciones JDE se comuniquen entre entornos informáticos distribuidos heterogéneos. JDENET maneja las comunicaciones en la capa de presentación con otras aplicaciones JDE internas, mientras que JDEBASE es el middleware JDE que proporciona acceso a bases de datos SQL de múltiples proveedores e independiente de la plataforma .
JDENET es el middleware orientado a mensajes que conecta la capa de presentación generada de las aplicaciones JDE con los componentes de funciones empresariales a través de una interfaz de programación de aplicaciones JDE estándar, o API , denominada "jdeCallObject". El middleware JDENET, que se ejecuta dentro de la arquitectura CNC, admite la configuración de los componentes de funciones empresariales para su ejecución en el entorno informático distribuido heterogéneo que admite la arquitectura CNC.
JDEBASE es el middleware de base de datos que proporciona API de interfaz de programación de aplicaciones independientes de la plataforma para el acceso a bases de datos de múltiples proveedores. Estas API se utilizan de dos maneras. La primera es por las aplicaciones JDE que generan dinámicamente lenguaje de consulta estructurado (SQL) específico de la plataforma, dependiendo de la solicitud de la fuente de datos. La segunda es como API abiertas para la escritura avanzada de funciones comerciales en lenguaje C. JDE utiliza estas API para generar dinámicamente sentencias SQL específicas de la plataforma. Por lo tanto, este middleware proporciona acceso a bases de datos de estación de trabajo a servidor y de servidor a servidor. Para lograr esto, tanto el middleware JDE OneWorld heredado como el middleware JDE EnterpriseOne más nuevo incorporan compatibilidad con controladores de base de datos para una variedad de controladores de base de datos de terceros, incluidos ODBC, para la conexión a Microsoft SQL Server, OCI, para la conexión a la base de datos Oracle y controladores Client Access 400 para la conectividad a IBM DB2.
Los analistas de sistemas que trabajan en este campo se conocen como CNC de JDE. [5] Según el tamaño de la empresa que implementa un sistema JDE, puede haber uno o más CNC. En algunas empresas pequeñas, no hay un CNC residente, pero algunas de las funciones diarias de CNC, como la seguridad y la creación y la implementación de objetos de programas comerciales, las realiza un desarrollador de JDE en el personal, mientras que se llama a un CNC externo para el trabajo de CNC no rutinario, crítico y/o de alto riesgo, como las actualizaciones y la expansión del sistema. El CNC es una de las tres áreas de especialización de JDE; las otras son el desarrollador de JDE que cambia el código y el analista funcional de JDE que es el experto en la materia comercial y los procesos comerciales.
En los últimos años, ha habido mucho debate en la comunidad CNC sobre el título "CNC". En muchos sitios web, incluidos sitios como Oracle y LinkedIn, personas que han trabajado en el campo CNC durante muchos años han propuesto un nuevo título para reemplazar el término CNC tradicional. Uno de los más populares es "Arquitecto de sistemas JD Edwards" o " Arquitecto EnterpriseOne " o simplemente "Arquitecto JDE". Esto parece estar impulsado por el hecho de que muchos CNC senior se involucran en la planificación e implementación de la arquitectura CNC subyacente y que el término CNC realmente no transmite ningún significado en cuanto a la descripción real del trabajo. Mientras las discusiones dan vueltas y vueltas, los reclutadores que continúan usando la descripción del trabajo CNC o prescinden del término CNC pueden referirse al trabajo como "Administrador de sistemas JD Edwards". Lamentablemente, este último término es en gran medida malinterpretado por los reclutadores y el personal de TI que no está familiarizado con las complejidades de una implementación de JD Edwards y han dicho a los CNC que, a partir del título Administrador de sistemas JDE, sus responsabilidades son bastante simples y probablemente imitan las de un administrador de correo electrónico o un administrador de sistemas operativos que agrega/elimina usuarios y restablece contraseñas de usuario. A menudo se utiliza el término "Ingeniero de infraestructura" de JD Edwards, que explica mejor las funciones que van más allá de la simple administración. A pesar de los debates sobre la utilidad del título de CNC, TI parece volver a utilizarlo como la única forma aceptada en toda la industria para definir la descripción del puesto.
La función de CNC implica una serie de responsabilidades o funciones. Las grandes empresas pueden tener un equipo completo de CNC, algunos de los cuales trabajan en seguridad, otros en la gestión de cambios de software que implementan cambios en el sistema ERP de JDE a través de las distintas etapas de desarrollo, prueba y producción. Otros CNC solucionarán problemas de rendimiento, otros trabajarán en la automatización de procesos por lotes y, por último, un CNC sénior gestionará todo el grupo y, en esa capacidad, a menudo funcionará como el arquitecto jefe de sistemas de JDE.
Para respaldar esta arquitectura, los analistas de CNC realizan una amplia variedad de tareas. Una crítica frecuente al campo de CNC es que es demasiado complicado para aprenderlo en menos de 2 o 3 años. Están involucradas varias funciones superpuestas. [5] Algunas o todas las siguientes funciones:
Debido al alcance de la funcionalidad de CNC, la función CNC requiere una formación intensiva. [6] Oracle JD Edwards gestiona los cursos requeridos oficialmente, pero muchos socios comerciales de JDE también ofrecen formación. Una crítica frecuente a la formación en CNC es que hay demasiados formadores y los programas de estudio que emplean son tan complicados que son casi indescifrables para un novato que recién ingresa. La formación se redacta en un lenguaje técnico: términos como código de ruta , entorno y asignaciones OCM se utilizan con explicaciones superpuestas y circulares que dejan a los novatos y a los estudiantes introductorios de CNC bastante confundidos. [ cita requerida ] A partir de 2000, no existe un programa de certificación oficial. Una lista típica de clases es la siguiente:
Quest Oracle Community , una organización mundial, así como grupos de usuarios de JDE locales, estatales y regionales, tienen subgrupos de CNC que brindan soporte a los CNC de JDE. Entre los sitios web de usuarios útiles que brindan soporte a los CNC de JDE y a otros usuarios se encuentra JDELIST, cuyo sitio web se encuentra en jdelist.com.