Articulo de referencia

JADE (lenguaje de programación)

JADE es un producto de plataforma de desarrollo e implementación de software orientado a objetos de propiedad exclusiva de Jade Software Corporation, con sede en Nueva Zelanda, ...

JADE es un producto de plataforma de desarrollo e implementación de software orientado a objetos de propiedad exclusiva de Jade Software Corporation, con sede en Nueva Zelanda, lanzado por primera vez en 1996. [ 1 ] [ 2 ] Consta del lenguaje de programación JADE, entorno de desarrollo integrado y depurador , servidor de aplicaciones integrado y sistema de gestión de bases de datos de objetos .

Diseñado como un entorno de desarrollo de extremo a extremo para permitir que los sistemas se codifiquen en un solo lenguaje desde el servidor de base de datos hasta los clientes , también proporciona interfaces de programación de aplicaciones ( API ) para otros lenguajes, incluidos .NET Framework, [ 3 ] Java , C , C++ y servicios web .

La plataforma JADE cuenta con doble licencia . Para el desarrollo, se proporciona la licencia de desarrollo Jade gratuita y limitada . Para la implementación, una licencia de software propietaria impone tarifas por proceso.

Idioma

En cuanto a la sintaxis , JADE es muy similar a Pascal ; su sintaxis se basa en el lenguaje Modula-2 , que a su vez deriva de Pascal. Si bien incluye innovaciones ausentes en Pascal o Modula-2, carece de ciertas características de otros lenguajes modernos orientados a objetos como C# y Java. [ 4 ]

JADE es capaz de importar y ejecutar programas LINC 4GL , y esa era inicialmente su función principal.

Modelo de programación

Al igual que todos los demás lenguajes de programación populares utilizados para crear software basado en bases de datos, JADE es completamente orientado a objetos . JADE fue diseñado para tener todas las características más importantes de la programación orientada a objetos, pero no admite la sobrecarga de métodos u operadores y, hasta Jade 2018, carecía de constructores parametrizados . [ 4 ]

En JADE, las clases se agrupan en esquemas . Los esquemas cumplen la misma función que los paquetes o espacios de nombres de Java en .NET, pero tienen una jerarquía y heredan clases de superesquemas. Esto resulta especialmente útil al programar con la metodología modelo-vista-controlador , ya que las clases del modelo se pueden ubicar en un esquema, y ​​luego las clases del controlador y la vista se pueden construir sobre las clases del modelo en un subesquema.

Estructura del programa

Los programas JADE se desarrollan mediante una interfaz de usuario que permite a los programadores crear clases visualmente y definir sus propiedades y métodos. En lugar de buscar los métodos en archivos extensos, los programadores seleccionan el método que desean editar y solo se muestra el código correspondiente. Además, en lugar de compilar todo el código de un programa a la vez, en JADE cada método se compila individualmente una vez finalizado, lo que permite revisar el código de inmediato.

Todo el código de una aplicación JADE se almacena en su base de datos orientada a objetos. Esto permite el desarrollo multiusuario, ya que la base de datos mantiene el control de concurrencia . Además, al ser cada fragmento de código un objeto independiente en la base de datos, a menudo es posible recodificar un sistema mientras está en funcionamiento y en línea, siempre que las partes del sistema que se modifican no estén en uso.

Características

El objetivo principal de JADE era crear un lenguaje de programación perfectamente integrado que permitiera a los desarrolladores crear una única aplicación de principio a fin, en lugar de tener que escribir tres aplicaciones separadas para el servidor de base de datos , el servidor de aplicaciones y el cliente de presentación , y luego escribir el código para que se comunicaran entre sí.

Base de datos de objetos

La diferencia más notable entre JADE y otros lenguajes de programación orientados a objetos radica en que su base de datos de objetos es una parte nativa del lenguaje. Por ejemplo, al crear un objeto en JADE, este puede ser transitorio o persistente. Crear un objeto transitorio es similar a crear objetos en otros lenguajes de programación orientados a objetos: el objeto simplemente se crea en memoria y se pierde al finalizar el programa. En cambio, cuando un objeto se crea como persistente , al finalizar el programa, el objeto seguirá existiendo y estará disponible la próxima vez que se inicie el programa. Por lo tanto, cuando un objeto es persistente , JADE trabaja automáticamente en segundo plano para almacenarlo y recuperarlo en la base de datos cuando sea necesario. Los objetos persistentes pueden distribuirse entre varios servidores que cooperan entre sí, y JADE gestiona automáticamente el almacenamiento en caché de objetos y la coherencia de la caché.

Existen muy pocas diferencias entre manipular objetos transitorios y persistentes, por lo que JADE hace que el programador perciba que todos los objetos de la base de datos se encuentran en la memoria local. En la mayoría de los casos, la base de datos orientada a objetos de JADE se utiliza en un sistema multiusuario, por lo que JADE hace que el programador perciba que todos los objetos de la base de datos están almacenados en una memoria compartida a la que pueden acceder todos los usuarios conectados al sistema, incluso desde diferentes ordenadores.

Al estar todo el código del programa y los datos centralizados en el servidor de la base de datos, todos los nodos cliente pueden programarse como si se ejecutaran en dicho servidor.

La base de datos de JADE es intrínsecamente orientada a objetos, cumple con las propiedades ACID y cuenta con todas las características estándar, como transacciones atómicas, bloqueo, reversión, recuperación ante fallos y la capacidad de mantener uno o más servidores de bases de datos secundarios sincronizados con la base de datos principal por motivos de copia de seguridad, recuperación ante desastres y rendimiento.

Para interactuar con bases de datos relacionales en tareas de generación de informes, inteligencia empresarial y almacenamiento de datos, JADE ofrece desde 2010 un "Servicio de Población Relacional" que permite replicar automáticamente objetos desde su base de datos nativa orientada a objetos a una o más bases de datos relacionales . Esta función es compatible con las versiones 2000, 2005 y 2008 de Microsoft SQL Server .

Modelo de tres niveles

El software basado en bases de datos suele emplear una metodología de tres niveles , donde las aplicaciones se dividen en tres capas: almacenamiento, procesamiento y presentación de datos. En las capas de almacenamiento y procesamiento, los sistemas JADE constan de un conjunto de servidores que cooperan entre sí, denominados nodos , y cada capa puede contar con varios nodos. Cada tipo de nodo tiene un nombre diferente y todos son capaces de manipular objetos y ejecutar lógica de negocio. Un conjunto de nodos puede implementarse en una o varias máquinas. Los servidores de bases de datos gestionan el almacenamiento de datos y también pueden ejecutar lógica de negocio, mientras que los servidores de aplicaciones se encargan del procesamiento. En un modelo de tres niveles, los clientes de presentación proporcionan la interfaz de usuario. JADE también ofrece un cliente de dos niveles que combina las capacidades de un servidor de aplicaciones y un cliente de presentación. Tradicionalmente, estos tres niveles se creaban combinando tres programas que se comunicaban entre sí para formar un único sistema. La separación de los programas de esta manera ofrece numerosas ventajas; la principal es la escalabilidad del sistema, es decir, aumentar su capacidad implica simplemente añadir más nodos.

Diseñar un sistema de este tipo obliga al programador a tomar una decisión cada vez que quiera codificar una función específica. Debe decidir si la función se ejecutará mejor en el servidor de base de datos, el servidor de aplicaciones o el cliente de presentación antes de empezar a programar, ya que será difícil cambiar esa decisión una vez que la funcionalidad esté codificada en uno de los niveles.

Esto es diferente para las aplicaciones JADE, ya que se codifican como una sola aplicación de principio a fin. Al crear una aplicación JADE, el programador puede pensar como si estuviera creando un programa que se ejecutará en el servidor de la base de datos, como si todo el almacenamiento, procesamiento y presentación de datos ocurrieran en un solo equipo. Cuando el programa se ejecuta en tres niveles, JADE sabe automáticamente que debe ejecutar todo el código por defecto en el servidor de la aplicación y enviar las solicitudes de la base de datos al servidor de la base de datos y la información de la interfaz de usuario al cliente de presentación. Sin embargo, es muy fácil para el programador cambiar la ubicación donde se ejecuta un método en particular y moverlo a un nivel diferente modificando la firma del método. Por ello, la decisión sobre dónde debe ejecutarse una parte específica del código puede tomarse al final del ciclo de desarrollo, y la refactorización del código para que se ejecute en diferentes partes del sistema resulta mucho más sencilla gracias a la forma en que JADE permite el desarrollo de software de principio a fin.

Tipos de clientes

Los programadores tienen la posibilidad de permitir que tres tipos diferentes de clientes se conecten a un sistema JADE. Estos tres tipos de clientes se denominan:

  • Formularios de JADE
  • Documentos HTML
  • Servicios web

En el mismo esquema, un desarrollador de JADE puede crear muchas aplicaciones completamente separadas que pueden proporcionar diferentes interfaces para acceder a la misma base de datos.

Formularios de JADE

Las aplicaciones JADE Forms se componen de formularios, como su nombre indica. Los clientes deben conectarse a través del cliente ligero JADE Smart o del cliente estándar para poder ejecutar aplicaciones que utilizan JADE Forms.

El cliente ligero inteligente funciona conectándose a un servidor de aplicaciones que, por lo general, realiza todo el procesamiento en su nombre. Esto significa que el cliente ligero solo necesita mostrar formularios y recibir datos. Por lo tanto, el ordenador que ejecuta el cliente ligero no tiene que ser muy potente ni requerir una conexión de red rápida, ya que no carga datos de la base de datos. Los clientes ligeros JADE suelen funcionar mediante conexión telefónica. De ahí su nombre: clientes ligeros, ya que no requieren una gran capacidad de procesamiento.

El cliente estándar es simplemente el cliente ligero inteligente combinado con el servidor de aplicaciones en una sola máquina. En este caso, el nodo que ejecuta el cliente realiza todo el procesamiento y la presentación. Los clientes estándar requieren mayor potencia de cálculo que los clientes ligeros, ya que deben cargar datos de la base de datos y realizar su propio procesamiento.

Las ventajas de utilizar JADE Forms incluyen:

  • De los tres tipos de clientes, JADE Forms ofrece el menor tiempo de desarrollo de aplicaciones JADE.
  • Permite a los desarrolladores utilizar la misma tecnología de principio a fin.
  • Los clientes ligeros inteligentes se pueden empaquetar para que se puedan instalar y ejecutar en los ordenadores cliente con tan solo unos clics.

Las desventajas son:

  • No puede llegar a una audiencia mundial como es posible en la World Wide Web.

Las aplicaciones JADE Forms se pueden ejecutar en un navegador web mediante el modo web. La plataforma genera automáticamente HTML para replicar los formularios y controles de la interfaz , lo que permite implementar aplicaciones existentes en la web sin necesidad de modificar el código subyacente ni de escribir HTML directamente.

documentos HTML

JADE permite la implementación de aplicaciones web mediante su función de documentos HTML. Esta función es muy similar a la de ASP.NET, donde los desarrolladores crean plantillas de páginas HTML y dejan partes en la plantilla para que el programa las complete.

Las ventajas de utilizar documentos HTML son:

  • Permite que una aplicación llegue a una audiencia mundial.

Las desventajas son:

  • Cuando las aplicaciones JADE utilizan documentos HTML, ya no emplean la misma tecnología de principio a fin. Por ejemplo, la verificación en la interfaz del sistema puede realizarse mediante JavaScript.
  • Delegar parte del procesamiento a los clientes front-end ya no es tan fácil ni seguro.

Servicios web

Los servicios web se utilizan para permitir que diferentes programas se comuniquen entre sí desde ubicaciones remotas de forma orientada a objetos. Los usuarios humanos no pueden acceder directamente a los servicios web. Una de las aplicaciones de los servicios web con JADE es permitir que otras tecnologías, como .NET o Java, utilicen JADE como base de datos orientada a objetos. Los servicios web también permiten que los sistemas JADE interactúen con servicios proporcionados por otros sistemas que no son JADE.

Interoperabilidad

Además de los servicios web, JADE también puede interactuar con otros programas mediante API de lenguaje (incluidos .NET, Java, C/C++), llamadas a DLL, objetos ActiveX/COM y ensamblados .NET. Esto permite que otros programas accedan a objetos y ejecuten métodos, y puede utilizarse para proporcionar una interfaz diferente a una aplicación JADE. JADE 6.2 ofrecía una API de Java, integración con ensamblados .NET y la capacidad de ejecutar clientes ligeros inteligentes en dispositivos Windows Mobile. JADE 6.3 ofrece una API para lenguajes .NET .

Habilidades multilingües

JADE admite de forma nativa programas multilingües . [ 5 ] Lo hace de varias maneras:

  • Las cadenas de texto pueden marcarse como traducibles , lo que significa que cambiarán dependiendo del idioma actual.
  • Se pueden crear múltiples versiones del mismo formulario para adaptarlas a cada idioma. Esto significa que las interfaces pueden tener un aspecto completamente diferente de un idioma a otro.
  • El desarrollador dispone de métodos para acceder a la configuración regional actual del sistema y, por lo tanto, puede implementar sus propias funciones dependientes del idioma.

JADE cambiará automáticamente al idioma que detecte en un sistema, si ese idioma está disponible en el sistema. [ 5 ]

Portabilidad

A partir de 2025Las aplicaciones JADE solo funcionan en Windows; se eliminó la compatibilidad con Linux. JADE 6.2 permite que los clientes ligeros inteligentes y un cliente estándar especializado se ejecuten en dispositivos Windows Mobile.

Ejemplos de código

En esta sección se incluyen algunos ejemplos breves de código JADE.

¡Hola Mundo!

Estos son los programas "Hola, mundo" de JADE :

Hola Mundo(); begin app .msgBox( "Hola, mundo!" , "Hola, mundo!" , MsgBox_OK_Only + MsgBox_Information_Icon ); end ;

o

Hola Mundo(); comenzar escribir "¡Hola, mundo!" ; fin ;

Historia

JADE fue concebido originalmente por Sir Gilbert Simpson y actualmente es desarrollado por Jade Software Corporation. [ 6 ]

La primera versión de JADE fue JADE 3, lanzada en septiembre de 1996.

La versión actual es JADE 2022, que reemplaza a JADE 2020 [ 7 ].

Véase también

Referencias

  1. "Jade – Quiénes somos" . Jade Software Corporation .
  2. "Jade Software lanza Jade 7.1" . ZDnet . Consultado el 21 de diciembre de 2019 .
  3. "Noticias exclusivas de Scoop Independent – ​​JADE 6.3" . Consultado el 21 de diciembre de 2019 .
  4. 1 2 Toady, Tim (3 de junio de 2009). "JADE: Lenguaje de programación poco conocido del mes" . DevTopics . Recuperado el 12 de marzo de 2021 .
  5. 1 2 Witten, Ian H.; Birtwistle, Graham M.; Cleary, John; Hill, David R.; Levinson, Danny; Lomow, Greg; Neal, Radford; Peterson, Murray; Unger, Brian W.; Wyvill, Brian (julio de 1983). "Jade: un entorno de prototipado de software distribuido" . ACM SIGOPS Operating Systems Review . 17 (3): 10– 23. doi : 10.1145/850742.850744 . ISSN 0163-5980 . 
  6. Corporación de Software Jade
  7. "Última versión" .
  • Sitio web oficial
  • Ejemplos y tutoriales para programadores de JADE
  • JADE 6.1 ofrece replicación de datos a Microsoft SQL Server.