stringtranslate.com

JADE (lenguaje de programación)

El logotipo de Jade Software Corporation

JADE es un producto patentado de plataforma de desarrollo e implementación de software orientado a objetos de Jade Software Corporation , con sede en Nueva Zelanda , lanzado por primera vez en 1996. [1] [2] Consiste en el lenguaje de programación JADE, un entorno de desarrollo integrado y depurador , un servidor de aplicaciones integrado y un 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 lenguaje desde el servidor de base de datos hasta los clientes , también proporciona API para otros lenguajes, incluidos .NET Framework , [3] Java , C / C++ y servicios web .

Si bien hay disponible una licencia limitada gratuita para el desarrollo, el uso de la plataforma JADE requiere el pago de 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 se derivó de Pascal. Si bien incluye innovaciones que no tienen Pascal ni Modula-2, carece de ciertas características de otros lenguajes orientados a objetos modernos, como C# y Java. [4]

JADE puede importar y ejecutar programas LINC 4GL y inicialmente era su función principal.

Modelo de programación

Al igual que todos los demás lenguajes de programación populares que se utilizan para crear software basado en bases de datos, JADE está 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]

Las clases en JADE se guardan juntas en esquemas . Los esquemas cumplen la misma función que los paquetes Java o los espacios de nombres en .NET, pero tienen una jerarquía y heredan las clases de los superesquemas. Esto resulta especialmente útil cuando se programa utilizando la metodología modelo-vista-controlador , ya que las clases de modelo se pueden colocar en un esquema y luego las clases de controlador y vista se pueden crear sobre las clases de modelo en un subesquema.

Estructura del programa

Los programas JADE se desarrollan utilizando una interfaz de usuario que permite a los programadores crear visualmente clases y definir sus propiedades y métodos. En lugar de ubicar los métodos en archivos grandes, los programadores seleccionan el método que desean editar y solo se muestra el código de ese método en particular. Además, en lugar de compilar todo el código de un programa a la vez, en JADE, cada método se compila individualmente tan pronto como se completa el método, lo que significa que el código se puede verificar 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 la concurrencia y, dado que cada fragmento de código es un objeto independiente en la base de datos, a menudo es posible recodificar un sistema mientras está activo y en línea, siempre y cuando las partes del sistema que se están modificando 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 aplicación que funcionara 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 llamativa entre JADE y otros lenguajes de programación orientados a objetos es que su base de datos de objetos es una parte nativa de su lenguaje. Por ejemplo, al crear un objeto en JADE, se puede crear como transitorio o persistente. Crear un objeto como transitorio es similar a crear objetos en otros lenguajes de programación orientados a objetos: el objeto simplemente se crea en la memoria y luego se pierde cuando finaliza el programa. Por otro lado, cuando un objeto se crea como persistente , cuando el programa termina, el objeto seguirá existiendo y estará allí 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 almacenar y recuperar el objeto en la base de datos cuando sea necesario. Los objetos persistentes se pueden distribuir entre varios servidores cooperativos, y JADE se encarga automáticamente del 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 parezca al programador como si todos los objetos de la base de datos estuvieran en la memoria local. La mayor parte del tiempo, la base de datos orientada a objetos de JADE se utiliza en un sistema multiusuario, por lo que JADE hace que parezca al programador como si todos los objetos de la base de datos estuvieran almacenados en una memoria compartida a la que pueden acceder todos los usuarios conectados al sistema, incluso desde diferentes computadoras.

Con todo el código del programa centralizado en el servidor de base de datos, así como los datos, todos los nodos del cliente se pueden programar como si estuvieran ejecutándose en el servidor de base de datos.

La base de datos de JADE está inherentemente orientada a objetos y es compatible con ACID , y tiene todas las características estándar, tales como transacciones atómicas, bloqueo, reversión, recuperación de fallas y la capacidad de mantener uno o más servidores de base de datos secundarios sincronizados con la base de datos principal para fines de respaldo, recuperación ante desastres y razones de rendimiento.

Para interoperar con bases de datos relacionales con fines 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 utilizar una metodología de tres niveles , en la que las aplicaciones se dividen en tres niveles: almacenamiento de datos, procesamiento y presentación. En los niveles de almacenamiento y procesamiento de datos, los sistemas JADE son una colección de servidores cooperativos, llamados nodos , y en cada nivel pueden estar involucrados varios nodos. Cada tipo de nodo tiene un nombre diferente y todos son capaces de manipular objetos y ejecutar lógica empresarial. Se puede implementar una colección de nodos en una o varias máquinas. Los servidores de bases de datos se encargan del almacenamiento de datos y también pueden ejecutar lógica empresarial, 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 proporciona 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 crearían combinando tres programas y haciendo que se comuniquen para formar un sistema. Tener los diferentes programas separados de esta manera tiene muchas ventajas, la principal es que el sistema se vuelve escalable, es decir, aumentar la potencia del sistema implica simplemente agregar más nodos.

El diseño de un sistema como este ofrece al programador una decisión que debe tener en cuenta cada vez que desee codificar una función en particular. 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 comenzar a codificar, 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 están codificadas 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 base de datos, como si todo el almacenamiento, procesamiento y presentación de datos ocurriera en una sola computadora. Cuando el programa se ejecuta en tres niveles, JADE sabe automáticamente que debe ejecutar todo el código de manera predeterminada en el servidor de aplicaciones y enviar solicitudes de base de datos al servidor de 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 en la que se ejecuta un método en particular y moverlo a un nivel diferente modificando la firma del método. Debido a esto, la decisión sobre dónde se debe ejecutar un fragmento de código en particular se puede tomar en una etapa avanzada del ciclo de desarrollo, y la refactorización del código para que se ejecute en diferentes partes del sistema termina siendo mucho más fácil debido 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:

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 JADE

Las aplicaciones de JADE Forms están formadas por formularios, como sugiere el nombre. Los clientes deben conectarse a través del cliente ligero inteligente JADE o del cliente estándar para poder ejecutar aplicaciones que utilicen JADE Forms.

El cliente ligero inteligente funciona conectándose a un servidor de aplicaciones que generalmente realiza todo el procesamiento en nombre del cliente ligero inteligente, lo que significa que el cliente ligero solo debe ser responsable de mostrar formularios y tomar datos de entrada. Esto significa que la computadora que ejecuta el cliente ligero no tiene que ser una computadora muy potente y no requiere una conexión de red rápida, ya que no carga datos de la base de datos; los clientes ligeros JADE a menudo se ejecutan a través de una conexión de acceso telefónico. Esta es la razón por la que se los llama clientes ligeros, ya que no hay un gran requisito de potencia computacional para ejecutar estos clientes.

El cliente estándar es simplemente el cliente ligero inteligente combinado con el servidor de aplicaciones en una máquina. En este caso, el nodo que ejecuta el cliente realiza todo el procesamiento, así como la presentación. Los clientes estándar tienen mayores demandas de potencia computacional 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:

Las desventajas son:

Sin embargo, los formularios JADE tienen un giro interesante. De hecho, es posible ejecutar una aplicación de formularios JADE a través de un navegador web cambiando su modo a habilitado para web . Cuando esto sucede, JADE genera automáticamente código HTML para crear páginas que se parezcan a los formularios y controles , sin ninguna modificación del código. Esta es una forma muy rápida para que los programadores que no son competentes con HTML y otras tecnologías web puedan entregar un programa a través de la web.

Documentos HTML

JADE permite la implementación de aplicaciones en la Web a través de su función de documentos HTML. Estos funcionan de manera muy similar a 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:

Las desventajas son:

Servicios web

Los servicios web se utilizan para permitir que distintos programas se comuniquen entre sí desde ubicaciones remotas en un formato orientado a objetos. Los usuarios humanos no pueden acceder directamente a los servicios web. Uno de los usos 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 es capaz de interactuar con otros programas a través de API de lenguajes (incluidos .NET, Java, C/C++), llamadas DLL, objetos ActiveX/COM y ensambles .NET. Esto permite que otros programas accedan a objetos y ejecuten métodos, y se puede utilizar para proporcionar una interfaz diferente a una aplicación JADE. JADE 6.2 proporcionaba una API de Java, integración de ensambles .NET y la capacidad de ejecutar clientes ligeros inteligentes en dispositivos Windows Mobile. JADE 6.3 proporciona una API para lenguajes .NET.

Habilidades multilingües

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

JADE cambiará automáticamente al idioma que detecte en el sistema si el desarrollador lo proporciona. [5]

Portabilidad

Actualmente, las aplicaciones JADE solo se pueden ejecutar en Windows. Se ha eliminado 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 muestran algunos ejemplos breves de código JADE.

¡Hola Mundo!

Este es el código "¡Hola mundo!" en JADE:

Hola Mundo();comenzar  aplicación .msgBox( "¡Hola, mundo!" , "¡Hola, mundo!" , MsgBox_OK_Only + MsgBox_Information_Icon ); fin ;

o

Hola Mundo();comienza  escribiendo  "¡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 presenta Jade 7.1". ZDnet . Consultado el 21 de diciembre de 2019 .
  3. ^ "Scoop Independent News – JADE 6.3" . Consultado el 21 de diciembre de 2019 .
  4. ^ ab Toady, Tim (3 de junio de 2009). "JADE: lenguaje de programación poco conocido del mes". DevTopics . Consultado el 12 de marzo de 2021 .
  5. ^ ab 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 creación de prototipos 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".

Enlaces externos