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:
[email protected] ; 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