Download Guía Comparativa de Funcionalidad de Servoy con Microsoft ® .NET
Document related concepts
no text concepts found
Transcript
Guía Comparativa de Funcionalidad de Servoy con Microsoft ® .NET Resumen Ejecutivo Tradicionalmente, los ISV (Vendedores Independientes de Software) han tenido mucho éxito desarrollando e implementando sus productos en entornos 4-GL tan conocidos como : Uniface, FoxPro, Progress, Acces, PowerBuilder, Magic, Filemaker Pro, etc. Sin embargo, estos entornos 4GL no han evolucionado con las tendencias tecnológicas modernas, teniendo un soporte limitado o nulo de aplicaciones web, Software como Servicio (SaaS), o distribución multi-site; estos entornos utilizan tecnologías propietarias cerradas que los aíslan en ambientes corporativos. La solución para los ISV es migrar a entornos abiertos basados en estándares, más generalizados, como Java y .NET. Servoy es un entorno de desarrollo y distribución basado en Java que hace mucho más productiva la programación en Java – solucionando los problemas tradicionales de implantación y reduciendo la acentuada curva de aprendizaje de Java. Al comparar a Servoy con la plataforma .NET de Microsoft, los ISV deben de tener en consideración lo siguiente: 1. ¿El tiempo de lanzamiento al mercado es importante? Estudios independientes demuestran que Servoy permite completar proyectos de 2 a 5 veces más rápido que utilizando .NET. 2. ¿Es importante ofrecer una aplicación multiplataforma? Las aplicaciones en .NET de Microsoft sólo se ejecutan en su propio Sistema Operativo. Aunque Windows es actualmente el sistema operativo más dominante, la adopción de sistemas como Linux, Mac OS y Solaris crece como la espuma. Sin ningún esfuerzo adicional de desarrollo, Servoy puede ser distribuido y ejecutado en cualquier Sistema Operativo moderno, tanto a nivel cliente como servidor. 1 3. ¿Actualiza a menudo su software? Cuando distribuye nuevas versiones de su software, Servoy le permite avanzar y retroceder entre versiones y revisiones. Gracias a la estructura modular del código en Servoy, sus clientes tienen la capacidad de confgurar las aplicaciones de Servoy a medida sin romper la funcionalidad “base”. 4. ¿Cuáles son los conocimientos de su equipo de desarrollo? Servoy puede aprenderse en muy poco tiempo – los fundamentos pueden aprenderse en una semana. Como parte del Servoy Assurance Program para ISVs, los empleados pueden ser adiestrados “in situ” con resultados garantizados – así que no hay necesidad de invertir dinero en una formación externa costosa que a menudo puede conducir a resultados pobres e inesperados. 5. ¿Necesito soportar escenarios de implantación múltiples o mixtos? Las aplicaciones en Servoy pueden ejecutarse como cliente/servidor, a través de la web, monopuesto y en dispositivos móviles – todo desde el mismo código base. En aplicaciones con interfaz de usuario .NET, muchas veces la base de la lógica de negocio necesita ser reescrita por cada plataforma distinta donde se vaya a implementar. 6. ¿Compite mi producto con cualquiera de los que ofrece Microsoft? Microsoft ofrece software de CRM, ERP, Contabilidad, Gestión de Proyectos, TPV y otras soluciones comerciales. Si usted, como ISV, ofrece soluciones en cualquiera de estas áreas, tendrá que plantearse si quiere realizar su solución en una plataforma que le suministra su competidor. Servoy no compite con los ISV – más bien nos asociamos con ellos. 7. ¿Ofrece mi proveedor un programa que ayude específicamente al ISV? Servoy dispone de un programa comprobado – el Servoy ISV Assurance Program – que ayuda a los ISV a migrar de su entorno actual a Servoy en un plazo de tiempo y un precio fjos con una forma de pago fexible, incluyendo todas las licencias de desarrollo y de usuario fnal. 8. ¿Está mi proveedor comprometido con mi éxito? En Servoy no podemos tener éxito a menos que usted lo tenga. Trabajamos con nuestros clientes ISV como socios en su éxito. Nuestros equipos de venta y desarrollo trabajan estrechamente con su personal para ayudarle en cada paso del camino. Escuchamos a nuestros 2 clientes, a menudo incorporando características específcas en la Suite de Productos de Servoy a petición. También somos accesibles. Servoy es lo sufcientemente grande para darle el soporte que usted necesita y bastante pequeño para darles acceso directo a nuestros ejecutivos de alto nivel según sus necesidades. Si usted es un directivo de un ISV, puede tener contacto directo con nuestro CEO, Jan Aleman por email: jaleman@servoy.com ; o mediante teléfono: +31 33 455 9877. Al comparar y contrastar los benefcios y las limitaciones de Servoy y .NET es importante entender el qué, el cómo y el quién de cada entorno. Acerca de Este Documento El propósito de este documento es ayudar a los directivos y a los desarrolladores de los ISV a comprender las diferencias de tecnología entre Servoy y .NET en términos de arquitectura, metodología de desarrollo y técnicas de integración; y para mostrar un ejemplo real de TCO (Coste Total de Propiedad). Servoy y .NET son productos completamente diferentes – cada uno con su propio conjunto de fortalezas y limitaciones. La clave es escoger la herramienta apropiada para el trabajo que se quiere hacer. ¿A qué entornos se dirige cada uno? .NET .NET fue presentado por primera vez en 2002 como una alternativa a la plataforma Java. .NET se utiliza en grupos de trabajo de tamaño medio y grande dentro de grandes compañías y algunos ISV – ninguno de los cuales necesitando una solución multiplataforma, cuya intención es usar tecnología “sólo Windows” y que ya han realizado una fuerte inversión en otras tecnologías Microsoft, como SQL Server y ASP. Servoy Servoy fue presentado por primera vez en 2001, está construido sobre la plataforma Java diseñada por SUN (importante competidor de Microsoft) y soportado por grandes compañías: Oracle, IBM, Apple, etc. Servoy se utiliza en ISVs, grupos de trabajo de tamaño medio y grande dentro de grandes compañías y consultores independientes de software que realizan aplicaciones a medida para sus clientes. 3 ¿Cuáles son las competencias básicas de cada entorno? .NET El framework de .NET permite a los desarrolladores escribir aplicaciones en varios lenguajes diferentes (C#,VB NET, J#, ASP.NET) y ofrece una integración estrecha con otras tecnologías de Microsoft como SQLServer. Las aplicaciones en .NET pueden ser ejecutadas en clientes Windows vía aplicación nativa o como aplicación web utilizando ASP.NET. El servidor debe ser una máquina Windows. El cliente debe ser igualmente un usuario Windows por defecto. Aunque es posible escribir aplicaciones para navegador que puedan ejecutarse en multiplataforma no es la opción predeterminada en .NET, y requiere realizar un esfuerzo signifcativo. El framework de .NET proporciona varias librería de clases, que los desarrolladores utilizan para crear sus aplicaciones. Las aplicaciones después se ejecutan en el Common Language Runtime (CLR), que actúa como máquina virtual de la aplicación. Ambas, librería de clases y CLR, conforman el framework de .NET. Todo el framework de .NET está bajo el control de Microsoft y su código fuente está completamente cerrado. Servoy Servoy tiene la capacidad de ejecutar la misma aplicación bajo un cliente nativo multiplataforma – Servoy Smart Client –, vía Java WebStart, en Mac OS X, Windows, Linux, y Solaris; y a través de un navegador Web – Servoy Web Client – en cualquier plataforma que soporte JavaScript incluyendo: Mac OS X, Windows, Linux, Solaris, Dispositivos Windows Mobile, iPhone, Palm Treo y otros. La misma base de código puede utilizarse para ejecutarse en un Smart Client o en un Web Client, sin que sea necesario reescribir la aplicación. Tanto la lógica de negocio (código de la aplicación) como las interfaces de usuario pueden compartirse entre plataformas y metodologías de despliegue. Servoy trae incluído SQL Anywhere de iAnywhere , una base de datos SQL de tipo empresarial sin ningún coste adicional – pero CUALQUIER base de datos SQL (o múltiples) puede ser utilizada incluyendo: Sybase, Oracle, IBM DB2, MS SQL Server, MySQL, PostgreSQL, y cualquier otra base de datos SQL compatible ANSI 92 mediante driver JDBC. 4 Servoy Server puede funcionar con cualquier Sistema Operativo incluyendo: Mac OS X, Windows, Linux, Unix, BSD, o Solaris; y se escala según el hardware – desde portátiles hasta mainframes IBM Z Series. Java lleva alrededor de ocho años más que .NET en el mercado, y Sun recientemente publicó Java bajo licencia GPL, haciéndolo open-source y realmente libre. Los desarrolladores escriben sus aplicaciones en Servoy utilizando JavaScript, o con Java puro. Servoy ofrece una capa JavaScript para procesos y fujos de trabajo de negocio típicos. En tiempo de ejecución, este JavaScript es compilado a byte code nativo para conseguir rendimiento y seguridad. Usted obtiene la facilidad de uso de un lenguaje de script, combinado con la seguridad y el rendimiento de un lenguaje compilado. Además, Servoy viene con centenares de funciones incorporadas que le permiten implementar de forma transparente funcionalidades sin tener que escribir usted mismo todo el código – haciendo que su aplicación tenga menos líneas de código. ¿Cómo trabajan estos productos desde un punto de vista de arquitectura global? .NET y Servoy toman prácticamente direcciones opuestas en lo que se refere a la arquitectura global. .NET se basa en tecnología propietaria; Servoy en Java open-source al 100%. Más abajo compararemos y contrastaremos los dos entornos para darle una visión general básica de las líneas de productos y para lo que se utiliza cada uno. .NET .NET ofrece una tecnología cliente/servidor mediante aplicaciones basadas en web escritas en ASP.NET bajo un servidor Windows que ejecuta IIS. Para aplicaciones gráfcas cliente de escritorio, .NET no proporciona ninguna herramienta para la distribución automatizada de su aplicación. El desarrollador debe compilar la aplicación y realizar su instalación en cada cliente. Tampoco tiene un servidor de aplicaciones para .NET. – esto quiere decir que no existe una forma centralizada para administrar su solución y los clientes. La mayoría de desarrolladores en .NET utilizan el IDE (Entorno de Desarrollo Integrado) Visual Studio para desarrollar sus aplicaciones. .NET no incorpora control de versiones, aunque puede confgurar su propio servidor SVN/CVS para lograr compartir código entre múltiples desarrolladores. 5 Otras tecnologías de Microsoft, como SQL Server y Active Directory, tienen APIs disponibles para .NET de forma que los desarrolladores pueden escribir código para integrar esos servicios en sus aplicaciones. Tenga en cuenta que aunque la API está disponible, el framework de .NET no hace mucho por usted automáticamente. El desarrollador en .NET debe controlar todo manualmente mediante código. Servoy Servoy se basa en tecnología cliente/servidor Java e incluye Servoy Developer – un generador de aplicaciones, Servoy Smart Client – un cliente gráfco nativo de escritorio basado en Java –, Servoy Web Client – una versión 100% HTML/CSS/AJAX para navegadores web –, y Servoy Server – un servidor de aplicaciones –. Servoy también ofrece un “Servidor Multidesarrollador” opcional que permite que más de un desarrollador pueda dedicarse al mismo proyecto al mismo tiempo – y difunde todos los cambios a todos los miembros del equipo de desarrollo, Servoy Headless Client – una API para cliente Java sin interfaz que permite a los desarrolladores escribir páginas JSP que interactuen con sus aplicaciones y con otros servicios web; – se incluye sin costo adicional con Servoy Server estándar;y Servoy Disconnected Client – que se ejecuta en un ordenador desconectado, y al conectar permite la sincronización con uno o más orígenes SQL utilizando el software opcional MobiLink de iAnywhere. Servoy interactúa con una base de datos centralizada(o múltiples bases de datos) sobre JDBC, y puede gestionar todas las consultas SQL que usted solicite. Es posible escribir su propio SQL, pero no es un requerimiento. Con Servoy, usted puede integrarse con otros servicios, como: LDAP, SOAP, etc. a través de la API Java de Servoy; y hay muchos plugins incluidos en Servoy que ya han sido programados para interactuar con estas tecnologías. Los componentes externos como Applets Java, JavaBeans y otras Clases Java, son también de instalación cero; y pueden ser enviados automáticamente a servidores remotos y a usuarios de cliente nativo sin necesidad de software adicional. Examinando el “Cómo” de la Generación de Aplicaciones Realización de Aplicaciones en .NET Los desarrolladores construyen sus aplicaciones con Visual Estudio. La aplicación(es) consta de archivos físicos de disco en la máquina local del desarrollador. La gestión del servidor de la base de datos se realiza fuera de la aplicación, generalmente con una herramienta de administración proporcionada por el vendedor de la base de datos. 6 Las aplicaciones gráfcas cliente de escritorio están por lo general escritas en C#,VB.NET, o J#. Al utilizar el IDE Visual Studio, usted puede utilizar el compilador y la GUI (Interfaz Gráfca de Usuario) para desarrollar sus aplicaciones. El IDE también proporciona una forma de conectar la GUI con su código, pero todo el databinding debe realizarlo manualmente por código el desarrollador. Lo mismo debe hacerse para el databroadcasting, ya que el framework de .NET no proporciona capacidades de difusión de eventos y datos entre clientes. Las aplicaciones basadas en web se escriben generalmente en ASP.NET. Todo la GUI debe hacerse en HTML. Cualquier GUI realizada inicialmente para una aplicación gráfca cliente no puede ser reutilizada, así que tiene que ser recreada completamente en HTML. Sin embargo, el framework de .NET proporciona una forma de compartir lógica de negocio entre una aplicación basada en web y otra basada en escritorio. Realización de Aplicaciones en Servoy Los desarrolladores construyen sus aplicaciones en Servoy con Servoy Developer y las implementan en Servoy Server. Los usuarios luego pueden conectarse para ejecutar su aplicación al servidor de aplicaciones de Servoy mediante el Servoy Smart Client o el Servoy Web Client. Servoy no tiene formato propietario de archivo. Toda la información acerca de su solución se guarda como metadatos en forma de flas y registros en un repositorio de la base de datos SQL (el repositorio puede ser cualquier base de datos SQL que usted elija). Servoy Developer es un IDE visual que trae una gran variedad de funciones y plugins incorporados que el desarrollador utiliza para crear su aplicación. Todo el Servoy Developer se ejecuta en la Máquina Virtual Java - Java Runtime Environment (JRE). Para generar aplicaciones para cliente gráfco de escritorio y para web, usted puede usar la misma lógica de negocio y la misma solución realizada en Servoy Developer, y ejecutarlas sin cambios en ambos entornos. Usted no necesita recrear ninguna GUI ni ninguna lógica de negocio. Los desarrolladores en Servoy también pueden aprovecharse de una gran cantidad de elementos de formulario y datos – desde “portales” que muestra datos relacionados, pasando por botones, gráfcos que actúan como botones, hasta herramientas de dibujo como líneas, recuadros, círculos y polígonos. Los desarrolladores también pueden especifcar campos con 7 datos de entrada automáticos; y designar columnas que contengan datos de otras tablas – gestionado automáticamente por Servoy. Servoy también soporta JavaBeans y Java Applets directamente en la aplicación. Un JavaBean es un componente reutilizable que puede manipularse visualmente con las herramientas de desarrollo. Un Java Applet es una pequeña aplicación Java que generalmente se ejecuta en un navegador. Los JavaBeans habitualmente tienen algún tipo de elemento para interfaz de usuario como por ejemplo: un control deslizante, un reloj, un panel para arrastrar y soltar, etc. Un Java Applet es por lo general una aplicación pequeña que realiza algo: conversión monetaria, mostrar datos de una molécula en 3D, etc. Además, la API para Plugins de Servoy permite a los desarrolladores crear fácilmente sus propios plugins, o utilizar clases Java de terceros ya disponibles– permitiendo que las aplicaciones en Servoy puedan interactuar con Web Services, SOAP, LDAP, etc. Servoy también soporta eventos en los objetos. Por ejemplo, algunos eventos de campo son: OnFocusGained, onFocusLost, onDataChange, y onAction. Los formularios incluyen los siguientes eventos: OnShow, onLoad, onRecordEditStart, onRecordEditEnd, onRecordSelection, onHide, así como personalizar los eventos de todas las opciones estándar del menú: OnFind, onNextRecordCmd, onPreviousRecordCmd, onNewRecord, onDeleteRecord, etc. Tener tal variedad de eventos a disposición del desarrollador es una ayuda enorme en lo que se refere a reforzar las reglas de negocio; reutilizar código a lo largo de la aplicación; cambiar o resaltar datos dinámicamente; mostrar/ocultar/deshabilitar objetos, etc. El soporte de estos eventos proporciona a los desarrolladores en Servoy el control que necesitan para crear aplicaciones adaptables, confgurables y fexibles. Mayoritariamente, los clientes de Servoy comentan que sus desarrolladores pueden crear programas de 5 a 10 veces más rápido con Servoy que otros entornos de desarrollo, como .NET. Implantación de las Aplicaciones Completadas - Cliente/Servidor Distribución de una Aplicación en .NET El framework de .NET debe ser instalado en cada cliente para ejecutar cualquier versión de una aplicación de escritorio. Para instalar el framework, el usuario debe tener privilegios del Administrador. En Windows XP y en versiones anteriores, el framework de .NET no viene instalado por defecto. 8 Sin embargo, viene instalado en todas las versiones de Vista. Las nuevas versiones del framework de .NET introducen nuevas funcionalidades que en muchos casos son mutuamente exclusivas. Por ejemplo: las aplicaciones desarrolladas en .NET 1.2 no funcionan en la 2.0, y viceversa. Las grandes corporaciones que tienen aplicaciones desarrolladas en ambas versiones ya experimentan esta restricción como un problema serio. Mediante Visual Studio, usted debe compilar y exportar su solución como un archivo del Instalador de Windows (Windows Installer). A partir de ahí, es decisión suya el encargarse de la instalación de la aplicación en cada cliente. Usted o debe construir su solución de implantación, o debe comprar una solución externa (si está disponible). El mismo escenario se plantea en otras áreas como la difusión de datos, el control de versiones, y la administración de clientes. El desarrollador en .NET también debe gestionar él mismo el control de versiones de su solución, y la actualización del cliente .NET no proporciona ninguna funcionabilidad incorporada – dando como resultado un problema enorme en grandes instalaciones y en aplicaciones que necesitan estar actualizadas a menudo. Si una aplicación ha sido instalada en 1000 puestos y se saca una nueva versión, ésta tiene que ser instalada simultáneamente en todos los puestos para una correcta actualización. Aunque hay herramientas para semiautomatizar la instalación, es un proceso muy propenso a errores. Habitualmente, los clientes WAN (Wide Area Network – Red de Área Amplia) deben acceder a una aplicación de cliente gráfco en .NET a través de Terminal Services (TS) para tener un buen rendimiento. Esta capa adicional de software causa muchos dolores de cabeza de confguración, como: impresión; confguración de impresora; acceso a los fcheros locales; acceso al hardware local; compartir datos con las aplicaciones locales; etc. Distribución de una Aplicación en Servoy El software Servoy Client también tiene que ser instalado en cada puesto – pero en vez de instalar manualmente o realizar una instalación en red, el cliente sólo tiene que abrir un navegador (apuntando a la dirección IP de Servoy Server) y pulsar un botón. El software cliente se descargará una vez (una descarga de aproximadamente 3MB), se instalará a sí mismo,se autoconfgurará, y después se ejecutará. No son necesarios derechos de Administrador para esta instalación, y el cliente instalado corre bajo un entorno aislado y seguro. Tanto el cliente como la aplicación desarrollada se alojan en caché local. Después cada vez que se lanza la aplicación en Servoy – desde navegador; desde un acceso directo del escritorio; o mediante un “deeplink” en su propio portal o website – comprueba en el servidor de aplicaciones de Servoy si es necesaria una actualización. Si existe una 9 actualización, Servoy la descargará, la instalará y la confgurará por si misma automáticamente y luego la ejecutará. Usted NUNCA tiene que actualizar manualmente el software – ni una sóla vez - con Servoy. Una vez que el desarrollador Servoy – o el equipo de desarrollo – tiene su aplicación lista para distribuirla , es una tarea tan sencilla como exportar la solución fuera de la base de datos del repositorio de Servoy (mediante Servoy Developer), subirla al servidor de aplicaciones (mediante página web) y decir a la versión recién instalada que se active marcando una caja de selección (checkbox). Usted puede avanzar a una nueva release, o retroceder a una release anterior, en cualquier momento. No hay limitación en el número de releases que usted puede tener – POR solución, POR servidor. Implantación de las Aplicaciones Completadas – Web Distribuyendo una Aplicación Web en .NET La mayoría de las aplicaciones web están escritas en ASP.NET, y pueden ser desplegadas subiendo los archivos .asp al Microsoft Web Server ejecutando IIS. Toda la GUI se realiza en HTML, y la lógica de negocio es en su mayor parte ASP.NET con la posibilidad de integrar otros lenguajes .NET. Visual Studio de Microsoft fomenta que los programadores codifquen las interfaces de usuario para que sólo se ejecuten en el navegador web IE 6 de la compañía, y en IE 7 para versiones más recientes de .NET. Hay algunas diferencias fundamentales en la renderización entre estas dos versiones de IE que puede provocar problemas para soportar ambas versiones del navegador. El servidor web no está incluido en el framework .NET, por lo que el desarrollador debe confgurarlo y mantenerlo por separado. El único servidor web soportado por defecto es IIS, que no es la primera elección hoy en día en cuanto a tecnología de servidor web desde el punto de vista de seguridad, escalabilidad y disponibilidad. Al acceder los clientes a la aplicación en .NET a través de un navegador web, la representación de la GUI y la impresión se basará en su navegador y en la confguración relacionada con el navegador – provocando inconsistencias y dolores de cabeza cuando se necesitan formularios de impresión estándar y precisos o consistencia entre múltiples navegadores. 10 Distribuyendo una Aplicación Web en Servoy Servoy ofrece dos formas diferentes de publicar su aplicación en la web. La primera, y quizás la forma más sencilla, es utilizar el Servoy Web Client. No se necesita código específco – usted puede confgurar a los usuarios para que lancen una página que muestre todas las soluciones disponibles (algo parecido al cuadro de diálogo “Abrir”) apuntando a: http://suIP/servoy-client. Los usuarios entonces pueden pulsar sobre una solución en particular y Servoy automáticamente mostrará la aplicación en HTML y CSS puro; así como también aprovechar la tecnología AJAX (Javascript y XML Asíncrono) para actualizar dinámicamente la página web sin refrescarla – todo sin que usted/el desarrollador tenga que escribir ningún código. Además, si a usted le gustaría personalizar sus páginas web fuera de Servoy, puede editar las páginas con un editor externo HTML, como Dreamweaver, y añadirle su propio HTML , CSS, Javascript, o componentes externos. Usted también puede utilizar la API Servoy Headless Client y JSP (Java Server Pages) para acceder a su solución. Ésta es realmente una gran forma de escribir aplicaciones web personalizadas a la vez que comparte la misma lógica de negocio que la aplicación en Servoy Smart Client. Simplemente incluya unas ocho líneas de código, y usted puede acceder a los métodos y datos de su solución; y puede pasar los parámetros de los métodos desde el navegador y recibir la respuesta en HTML, datos – e incluso objetos Java como recordsets, datos binarios y demás. Debido a que la API Servoy Headless Client sabe cómo conectarse a su solución, usted no tiene que especifcar una conexión con la base de datos, o el nombre de una tabla, o una consulta SQL. Al desarrollar sus métodos en Servoy usted puede aprovechar el depurador paso a paso de Servoy al desarrollar sus métodos – y reutilizar su lógica de negocios y sus validaciones existentes. Con Servoy, toda la impresión va automáticamente a través de PDF (sin codifcación adicional) – haciendo que sea muy directa la impresión perfectamente maquetada incluyendo saltos de página. El PDF se genera en el servidor, y luego se envía al cliente, proporcionando consistencia entre todos los usuarios, plataformas y navegadores. Mantenimiento y modifcaciones en su aplicación Haciendo Cambios en una Aplicación en .NET Si el desarrollador necesita hacer cambios en una aplicación existente, el framework de .NET no proporciona ninguna forma automatizada de distribuir los cambios en todos los usuarios. Mediante Visual Studio, usted debe compilar y reexportar su solución como un archivo de Windows Installer (Instalador de Windows). Después de eso, es decisión suya el realizar la 11 actualización de la aplicación en cada cliente. Usted debe construir su propia solución de distribución, o debe comprar una solución externa (si estuviera disponible). Para aplicaciones web en ASP.NET, usted tiene que hacer cambios en los archivos .asp y volver a subirlos al servidor web. Uno de los mayores problemas en este área es el control de dependencias. Queda poco claro cuando se ha realizado una actualización del código, ya afecte este cambio de código en otras partes de la aplicación o no. Por este tema, los procedimientos de testeo extensos tienen que estar disponibles para asegurar que las actualizaciones nuevas no rompen una funcionalidad existente. Tanto para cliente gráfco de escritorio como para aplicaciones web, el Framework .NET no proporciona herramientas de control de versiones, así que usted no puede actualizar o devolver automáticamente a una versión si hubiera un problema. Esto debe realizarse manualmente. Haciendo Cambios en una Aplicación en Servoy Con Servoy, usted simplemente exporta su solución fuera del repositorio de desarrollo – mediante Servoy Developer – y luego la importa en el repositorio de producción mediante un navegador web (independientemente de donde esté ubicado físicamente el servidor). Usted luego puede activar la nueva release con o sin clientes conectados, o puede forzar a los clientes para que vuelvan a cargar la solución para obtener la nueva versión, o que simplemente continúen usando la versión anterior. Es decisión suya. Este proceso actualizará tanto el cliente gráfco como el cliente web al mismo tiempo – automáticamente. No hay necesidad para volver a arrancar el servidor de aplicaciones para poner en marcha nuevas versiones de su aplicación. Servoy también le deja volver a una versión previa en producción sin tener que volver a subir la antigua versión. El servidor de aplicaciones tiene un sistema de versionado incorporado para mantener versiones anteriores de las aplicaciones en espera para redistribución cuándo sea necesaria. 12 Actualización de las Aplicaciones Actualización en .NET De vez en cuando, Microsoft lanzará al mercado una actualización de su framework de .NET. El framework debe ser actualizado en cada puesto de usuario. El framework de .NET no proporciona ninguna forma automatizada de realizar esto, por lo que el desarrollador debe hacer cada instalación manualmente, o comprar una herramienta externa (si estuviera disponible). En muchos casos, verse forzado a actualizar el framework de .NET para cada usuario también requerirá reescribir grandes partes de la aplicación para utilizar las nuevas funciones disponibles. Este defecto se deba probablemente al hecho de que .NET es un framework relativamente joven e inmaduro. Java siendo 7 años mayor, no padece de estos problemas. Por ejemplo: Durante más de diez años, JDBC ha sido la forma estándar para conectarse a una base de datos en Java; con .NET, la forma a conectarse a una base de datos ha cambiado más de 4 veces desde que el framework de .NET fue inicialmente introducido. Actualización en Servoy Las actualizaciones en Servoy son muy faciles. Servoy Developer tiene un mecanismo propio para autoactualizarse. Si aparece una nueva versión de Servoy, le aparece automáticamente cuando lanza la aplicación un mensaje para hacer la descarga y actualizar a una versión más reciente. Actualizar Servoy Server es sencillo – simplemente ejecute el actualizador del servidor y vuelva a arrancar el servidor de aplicaciones (o el servicio o daemon). Eso es todo. Servoy se autoconfgura completamente y las versiones previas de sus soluciones continuarán trabajando. Métodos y Costes de Licenciamiento. Costes en .NET La instalación del entorno de runtime de .NET es gratuita. Microsoft SQL Server 2005 Enterprise Edition cuesta 24.999 $ por procesador. El entorno de desarrollo Visual Studio son 2.499 $ por desarrollador. Debido a que las aplicaciones en .NET sólo funcionan con Windows, usted debe comprar una licencia de Windows Server, Terminal Services (TS) y de CAL (Licencia de Acceso de Cliente) para cada conexión cliente. El siguiente ejemplo se basa en una conexión de 20 usuarios una aplicación gráfca de cliente sobre una WAN, lo cual requiere licencias de TS. 13 Costes en Servoy Servoy se licencia por usuario concurrente, no por puesto – lo que signifca que si usted tuviera 100 personas en su organización, pero sólo 85 usaran la aplicación a la vez, usted sólo necesitaría adquirir 85 licencias. Usted puede elegir lanzar mediante Servoy Smart Client o Servoy Web Client (o una mezcla de ambos) desde el mismo Servoy Server al mismo tiempo. El coste por cada cliente concurrente es $349, SIN cargo adicional por Servoy Server – y NINGÚN cargo adicional para el motor de la base de datos Sybase iAnywhere SQL (cuando se utiliza con su aplicación de Servoy). Servoy Smart Client utiliza tan poco ancho de banda para los usuarios WAN que usted no necesita comprar ningúna licencia adicional de Terminal Services o de Citrix. Tanto Servoy como Microsoft .NET ofrecen descuentos para la compra de múltiples licencias. Pero, cuando usted examina los costes de licenciamiento, Servoy es casi el 66% menos caro que .NET. NOTA: El ejemplo abajo mostrado sólo toma en cuenta costes de licencias. Incluyendo todos los costos de desarrollo, implementación y mantenimiento – TCO, esta diferencia será aún más signifcativa. Item Licencias Cliente (100 para .NET, 85 para Servoy) Licencia Servidor de Base de Datos Servoy .Net $19.465 $0 $0 $49.998 (Sybase incluído) (SQL Server) $3.245 $12.495 $22.710 $62.493 $3.188 $3.188 Microsoft Windows Server Enterprise Edition $0 $3.999 Microsoft TS para Usuarios WAN (20) $0 $2.979 Microsoft Windows CALs (80) $0 $3.196 $3.188 $13.362 $25.898 $75.855 Licencias de Desarrollo (5) Subtotal Licencias Software Nuevo Servidor de Producción Subtotal Hardware/Licencias SO TOTAL 14 * Precios basados en un un Dell PowerEdge 2900 con (2) Dual Core Intel Xeon ® 5130, 533MHz (4x512MB) 4MB Cache, 2.00GHz, 1333MHz FSB, DIMMs 2GB 533 Mhz (4x512MB) Single Ranked DIMMs, Disco Duro 36GB, SAS,15K RPM de 3.5 pulgadas,Microsoft Business Server 2003 Standard Edition – valorado en marzo del 2007. Conclusión Desde una perspectiva organizativa, el framework de .NET está más dirigido a compañías que trabajan completamente en Windows; y que no necesitan preocuparse por la compatibilidad entre plataformas. Desde una perspectiva de desarrollo, el framework de .NET está más orientado a desarrolladores que preferen escribir sus propios frameworks completamente desde el principio. Si usted es una compañía o desarrollador que requiere de aplicaciones multiplataforma, facilidad en la instalación y la implementación, y un framework de desarrollo ya escrito que le permita crear sus aplicaciones rápidamente, entonces el framework de .NET se queda corto en sus necesidades. Servoy es la respuesta a sus problemas. Servoy le permite construir aplicaciones multiplataforma con una sola base de código, y sin esfuerzo alguno distribuir sus aplicaciones sobre una WAN y una LAN vía cliente gráfco Servoy Smart Client, o a través de un navegador web con Servoy Web Client. Servoy viene con un framework que le ayuda a crear sus aplicaciones rápidamente y a conectarse con la(s) base(s) de datos de su elección.Y usted aún puede extender su aplicación integrándola con otras tecnologías (incluyendo las de Microsoft) utilizando el Servoy Java API. Con Servoy, usted tiene todas estas características en una aplicación basada en estándares que cuesta menos, y le permite construir sus aplicaciones empresariales más rápido que con el framework de .NET. El planteamiento de ambos entornos es muy diferente: .NET intenta ser una versión sólo Windows de la plataforma tradicional Java con algunas pequeñas mejoras en términos de interfaces de usuario más vistosos y ligeras mejoras en la productividadque con la programación Java. El enfoque de Servoy es radicalmente diferente: Servoy ha sido diseñado desde el principio para hacer más productivos a los programadores y permitir a las compañías distribuir y mantener sus aplicaciones a un coste inferior. 15 Acerca de Servoy BV Servoy BV es una compañía privada establecida para desarrollar, vender y soportar la suite de productos Servoy. La idea de Servoy fue iniciada en 1998 por los cuatro fundadores de la compañía – frustrados por un lado con las limitaciones de las herramientas de base de datos de escritorio disponibles, y por otro lado por la complejidad, la pronunciada curva de aprendizaje y el largo tiempo de desarrollo de las herramientas de desarrollo web. Hoy, unas 1.500 compañías y más de 10.000 desarrolladores están trabajando con la suite de productos Servoy. Compañías como Symantec, Stanford University,Verizon y el hospital UCLA, confían en Servoy para gestionar y presentar datos a sus clientes y empleados – ofrenciendo completas aplicaciones sobre LAN, WAN, y conexiones de Internet. Servoy cuenta con Apple, Oracle y Sybase entre sus socios tecnológicos. Las ofcinas principales de Servoy están ubicadas en Países Bajos (Amersfoort) donde está centralizado y coordinado todo el I+D, así como las ventas internacionales y las actividades de marketing. Servoy Inc., la ofcina estadounidense de Servoy, es responsable de todas las ventas y todos los eventos de marketing en EE.UU. Ofcinas Centrales Servoy B.V. Algolweg 9A 3821 BG Amersfoort Países Bajos Voz: +31 33 455 9877 Fax: +31 84 883 2297 Servoy EEUU Servoy Inc. 299 W. Hillcrest Drive Suite 115 Thousand Oaks, CA 91360 Voz: (805) 624-4959 Fax: (805) 624-4958 16 ESTE DOCUMENTO SE FACILITA “TAL CUAL” SIN GARANTÍA DE NINGUNA CLASE, Y SERVOY BV NO SE RESPONSABILIZA DE TODAS LAS GARANTÍAS, YA SEAN EXPRESAS O IMPLÍCITAS, INCLUYENDO, PERO NO LIMITANDO, LAS GARANTÍAS IMPLICITAS DE MERCANTIBILIDAD O ADAPTABILIDAD PARA UN PROPÓSITO PARTICULAR, O LA GARANTÍA DE NO INFRACCIÓN. EN NINGÚN CASO SERVOY O SUS PROVEEDORES SERÁN RESPONSABLES EN ABSOLUTO DE CUALQUIER DAÑO DIRECTO O INDIRECTO, INCIDENTAL, DE PERDIDA DE BENEFICIOS EMPRESARIALES, PUNITIVOS O DAÑOS ESPECIALES, INCLUSO SI SERVOY BV O SUS PROVEEDORES HAN SIDO AVISADOS DE LA POSIBILIDAD DE SEMEJANTES DAÑOS. ALGUNOS ESTADOS NO PERMITEN LA EXCLUSION O LA LIMITACIÓN DE DAÑOS. SERVOY BV PUEDE, EN CUALQUIER MOMENTO, Y SIN PREVIO AVISO HACER CAMBIOS EN ESTE DOCUMENTO. ESTE DOCUMENTO PUEDE ESTAR DESACTUALIZADO Y SERVOY NO SE COMPROMETE A ACTUALIZAR ESTA INFORMACIÓN. © 2007 Servoy Inc. Todos los derechos reservados. Servoy es una marca registrada de Servoy, Inc., registrada en EE.UU y otros países. Todos los demás marcas registradas que se mencionan son propiedad de sus dueños respectivos. Las especifcaciones del producto y la disponibilidad están sujetas a cambio sin previo aviso. 17