Prest es un sistema de gestión de bases de datos integrado ( ODBMS ) orientado a objetos , de código abierto , de doble licencia . Tanto el lenguaje de programación Java como el lenguaje de programación C# son compactos y Prest se ha implementado en teléfonos inteligentes que ejecutan los sistemas operativos Android y Windows Phone (WP7) .
Prest se lanzó en 2003 en Rusia. Fue diseñado para lograr un alto rendimiento integrando estrechamente la base de datos con el lenguaje de programación: Prest almacena datos directamente en los objetos del lenguaje. En 2006, McObject LLC, con sede en Issaquah, WA, se hizo cargo del desarrollo de Prest. Continúa ofreciendo descargas gratuitas y ha agregado opciones de licencia comercial.
Prest se escribió por primera vez en Java y se transfirió a C#. Aunque originalmente se diseñó para software de escritorio y servidor, Prest también se ha utilizado para proporcionar administración de bases de datos para aplicaciones móviles que se ejecutan en dispositivos como teléfonos inteligentes . Estos dispositivos móviles suelen tener limitaciones de hardware, con RAM limitada y pocos ciclos de CPU disponibles y requisitos operativos no estándar (para sistemas de bases de datos) (como soporte para Java ME o Silverlight en la plataforma móvil Windows Phone 7). [1] [2] [3] [4]
Las versiones actualmente disponibles de Prest son Prest para .NET , Prest para Java y Prest Lite. Prest para Java y Prest Lite están incluidos en una única distribución de software.
Prest para .NET admite las versiones 1.0 y 2.0 de C# con el mismo código fuente. Se proporciona soporte para características específicas de C# 2.0 (como clases de plantilla) en el momento de la compilación. Es compatible con marcos .NET estándar y compacto, así como con Silverlight, y puede funcionar tanto en Microsoft Windows Phone 7 (WP7) como en Windows Embedded Compact (anteriormente Windows CE).
Prest para Java admite las versiones 1.3 y 1.4 de J2SE / J2EE , así como la versión 5 de J2SE/J2EE. Es compatible con el entorno de teléfonos inteligentes Android.
Prest Lite es la implementación de Prest para Java que se ejecuta en dispositivos (como teléfonos inteligentes BlackBerry) basados en la plataforma de dispositivos móviles Java ME (J2ME). Tiene un consumo de memoria aproximadamente un 30 por ciento menor que el Prest estándar. [5]
El tamaño del motor Prest es de 5.000 líneas de código fuente y sus necesidades de memoria de acceso aleatorio (RAM) en tiempo de ejecución oscilan entre 30 K y 300 K. [6] ]
Las transacciones Prest admiten las propiedades ACID (atomicidad, consistencia, aislamiento, durabilidad) con recuperación automática.
Prest proporciona un subconjunto de SQL para filtrar elementos de una clase contenedora . Para acceder a los objetos almacenados, Prest implementa clases de colección especializadas que incluyen:
Para facilitar los cambios en el diseño de una base de datos existente ( esquema de base de datos ), Prest implementa una evolución del esquema de base de datos "perezosa" . Cuando se carga una instancia de objeto desde la base de datos, su descriptor de clase se compara con el formato de la clase en la aplicación. Si no son idénticos y se va a cambiar el objeto, entonces el objeto se convierte y se almacena en el nuevo formato. Con una evolución del esquema "ansiosa", los cambios de formato se extenderían por la base de datos todos a la vez.
ProScout es un midlet de demostración para utilizar Prest Lite en el entorno Java ME. La demostración es de una instalación discreta para tomar notas para un reclutador deportivo. Implementado originalmente para Blackberry , también se implementó en el Nokia S60 . [11]
McObject proporciona una aplicación de demostración de un sistema CRM que utiliza Prest para .NET, incluida una base de datos de contactos con capacidad de búsqueda de texto completa que se ejecuta en el navegador de escritorio en Silverlight. [12] Andy Wigley, de appamundi, portó esta aplicación de demostración a Windows Phone y describió el proyecto en una serie de publicaciones en el blog. [13]
Los usuarios pueden redistribuir y/o modificar Prest según los términos de la Licencia Pública General GNU (versión 2 o posterior) publicada por la Free Software Foundation . Para personas u organizaciones que no pueden o no desean cumplir con la GPL, McObject dispone de una licencia comercial.