Conecta con nosotros

A Fondo

EBD Platform 3.3

EBD es un entorno de desarrollo, integración y publicación de aplicaciones Web. Su facilidad de uso, interfaz amigable y escalabilidad lo han popularizado en los últimos meses para proyectos de gran envergadura. Analizamos esta solución en su última versión, sobre la que funciona esta web y otras del grupo Total Publishing Network.

Publicado el

EBD es un entorno de desarrollo, integración y publicación de aplicaciones web. Su facilidad de uso, interfaz amigable y escalabilidad lo han popularizado en los últimos meses para proyectos de gran envergadura. Analizamos la última versión, sobre la que funciona esta web y otras del grupo Total Publishing como MuyComputer.

Con una interfaz de administración sencilla y amigable, EBD consigue convertir la programación basada en editar ficheros de texto en algo visual e intuitivo. La organización lógica de todos sus elementos permite afrontar cualquier proyecto o retomar una aplicación ya implantada.


El producto de Oasyssoft ya está en la versión 3.3.

El único software necesario para desarrollar con EBD es un navegador como Internet Explorer o Mozilla Firefox y, gracias a una arquitectura modular, se garantizan la versatilidad y escalabilidad del sistema.

A lo largo del artículo haremos un recorrido sobre qué partes componen EBD, sus posibilidades a la hora de afrontar proyecto y sus necesidades técnicas.

Estructura y funciones de un desarrollo en eBD.

¿Qué es EBD?

EBD es un entorno completo de desarrollo para la producción, gestión, integración y publicación de contenidos a través de  Internet, desde un navegador web, sin necesidad de implementaciones complejas ni costosas y con posibilidad de escalar.

Esta solución responde a la necesidad de crear aplicaciones web multiplataforma que permitan trabajar con varias bases de datos y comunicarse con otras aplicaciones usando los protocolos estándar. Es un entorno de desarrollo web que cubre todas las fases del proyecto.

Ficha técnica

El programador puede trabajar desde su navegador sobre la máquina de producción (con unos mínimos requisitos de hardware), donde se almacena todo el código necesario para el funcionamiento de la aplicación y es accesible desde cualquier parte, algo básico para poder desarrollar un proyecto de forma descentralizada.

También desde EBD podemos definir y gestionar la interacción con bases de datos asociadas, sistemas de autentificación de usuarios, servicios web externos, importación XML, etc. Las páginas del proyecto se generan dinámicamente en función del código y las consultas establecidas por el programador dotando al sistema de una versatilidad muy interesante.

Arquitectura de EBD

Un desarrollo en EBD consta de varios servicios que interactúan entre ellos para proporcionar el acceso a las aplicaciones o funcionalidades desarrolladas. Así, es posible distribuir toda la arquitectura en varias capas, situar los componentes de cada servicio verticalmente y, gracias a que cada uno incorpora los elementos de control necesarios para organizarse en cluster, obtener una expasión horizontal teóricamente ilimitada.

Los servicios que componen un proyecto tipo de EBD son el módulo cliente (EBD Client) y el servidor (EBD Server), que a su vez interacciona con las bases de datos gracias al módulo dedicado (EBD Transaction Server). El módulo cliente de EBD ofrece al servidor web (HTTP Server) el mecanismo necesario para comunicarse con el servidor EBD (EBD Server) y mostrar la información que necesitemos (por ejemplo este artículo de MuyComputerPRO).

EBD Client proporciona una capa de comunicación entre EBD Server y el servidor web, validando cada petición y realizando un preproceso que agiliza el trabajo de EBD Server. Otra función clave en proyectos como MuyComputerPRO es actuar como caché de contenidos para optimizar el rendimiento final del sistema cuando aumenta el tráfico de manera inesperada. Este módulo es totalmente independiente y es posible configurar varios EBD Client (y habilitar, por ejemplo, sistemas de balanceo) para un único EBD Server sin necesidad de usar sistemas de sinronización adicional.

EBD Server consituye el «motor» de la aplicación y genera las páginas y contenidos que recibiran los usuarios finales a traves del servidor http. Los contenidos estáticos como imágenes, estilos o scripts se almacenan en el disco del servidor (o en un área común externa, si optamos por una configuración redundante).

Los contenidos dinámicos se generan en función del desarrollo en EBD y de los datos en las distintas bases de datos que use la aplicación u otras funciones integradas. Este desarrollo se encuentra almacena en el sistema y está compuesto por una base de datos y los ficheros necesarios, replicados en cada una de las máquinas. El servidor de EBD, además, incorpora subsistema de envíos de mensajes, tareas programadas, acceso a datos remotos y servicios webdav, entre otros.

EBD Server utiliza el servidor de transacciones  (eBD Transaction Server) para la ejecución de consultas a bases de datos, ya sean relacionales (usando SQL) o almacenadas en XML (usando XQuery). Este servicio matiene los pools de conexiones con las difrerentes bases de datos y se encarga de realizar todas las transacciones de forma segura.

Está programado en Java de alto rendimiento (usando la tecnologia Non Blocking I/O) que permite escalar el servidor según el número de peticiones de forma lineal y admite un elevado número de clientes simultáneos. Transforma las peticiones que realiza el EBD Server a base de dato mediante JDBC. En su funcionamiento se usa técnicas de pooling de conexiones y trasacciones distribuidas que optimizan el rendimiento de las bases de datos.

Las ventajas de EBD

La escalabilidad de la solución es uno de los valores principales de EBD como herramienta de desarrollo. Los servicios de EBD se pueden distribuir en varias capas para facilitar la gestión y garantizar la seguridad del proyecto. Lo más habitual es trabajar con tres capas: frontales web, servidores de EBD y backend de datos.

Cada capa es escalable e independiente de las otras, dotando de gran flexibilidad a los proyectos desarrollados bajo esta solución. La de frontales web se puede escalar añadiendo tantos servidores web como sea necesario, en función de la concurrencia. La capa de servidores también puede crecer de una forma similar, permitiendo incluso el balanceo de peticiones entre varios servidores cuando sea necesario.

La escalabilidad es una de las ventajas de EBD.

La capa de datos (backend) es escalable usando la tecnología de clustering que proporcione el fabricante de la base de datos elegida para el proyecto. EBD permite integrar múltiples fuentes de información, y trabajar con todas ellas de forma similar. Los desarrolladores no tienen que adaptarse a las peculiaridades de cada sistema, agilizando sobremanera el desarrollo de la aplicación y suponiendo un ahorro de costes y de tiempo.

Es posible definir nuevas bases de datos desde el entorno de desarrollo o vincular bases de datos ya existentes o vincular información exsterna publicada bajo XML. Gracias a un motor de procesado automático de XML es posible usar otros sistemas como fuentes de información XML tales como directorios LDAP, Web Services remotos o resultados de procedimientos almacenados en base de datos. La integración de aplicaciones y servicios es otro de los valores diferenciales de EBD.

Otro aspecto clave en el desarrollo de un proyecto es la seguridad. En este sentido EBD ofrece garantías a todos los niveles, arquitectura, web y autenticación.

Su seguridad en la arquitectura se basa en la posibilidad de separar los distintos componentes en equipos físicos diferentes, creando zonas de seguridad con niveles independientes. El servidor web actúa (en la parte pública) como proxy de peticiones hace los servidores de EBD, que están en la zona privada protegidos por un cortafuegos.

Partes tan sensibles como el código de la aplicación, ficheros y conexiones a base de datos se encuentras siempre a buen recaudo en la parte privada de forma que un ataque a los frontales web no podría acceder a ningún dato de forma directa. Todas las URLs que generan las aplicaciones de EBD están encriptadas, impidiendo que la modificación de un parámetro por parte de usuarios malintenciona acceda a páginas restringidas o modifique el código que visualiza.

El servidor web es estándar de forma que es posible configurar los sistemas de seguridad más habituales y trabajar con autenticación con certificados digitales (PKI).

¿Por qué EBD?

Un entorno de desarrollo como EBD aporta facililidad de uso y una excepcional experiencia a los usuarios finales sin renunciar a aspectos tan importantes como la potencia o a la seguridad. Es una solución escalable válida para proyectos muy diversos que cubre todo el ciclo de vida del producto: diseño, desarrollo, despliegue y gestión.

EBD se puede usar en cualquier sector vertical, portales, intrantes, gestión de contenidos, comercio electrónico, RIA, mashups gracias a su versatilidad y a que trabaja con estándares. Ya hay más de 450 licencias instaladas y entre sus clientes varios ocupan puestos en el Top 200 de Alexa Europa.

Para los desarrolladores EBD aporta un entorno amigable, un periodo de aprendizaje inferior al de otras soluciones y que permite obtener resultados visibles en menor tiempo. La solución cuenta con una comunidad de usuarios que sirven de apoyo a los que empiezan y suponen una importante fuente de resolución de problemas. Además el desarrollo se puede descentralizar, algo clave para grandes grupos de trabajo necesarios para afrontar proyectos complejos.

Especificaciones técnicas

Plataformas

Linux: CentOS, RedHat, SUSE, Debian
Unix: Solaris, HPUX
Windows: Windows Server 2000, 2003
Mac: OS X

Servidores web

Apache 2.0, 2.2
Internet Information Server 6, 7
Cualquier servidor de aplicaciones J2EE

Bases de datos

Conectores JDBC
MySQL, PostgreSQL, Microsoft SQL Server, Oracle, Informix, Progress,
Interbase, Db2, Db2/AS400 Soporta XQuery y XPath para consultas XML

Autenticación y Seguridad

Integración con LDAP, Samba, PAM y NTLM
Single Sign On
HTTPS
Certificados digitales de cliente (PKI)
Generación automática de CAPTCHAs

Comunicaciones

Soporta envios con SMTP (email) y SMPP (sms)
Acceso a buzones IMAP
Servidor WebDAV nativo
Soporta JSON para requests AJAX

Web Services

Sirve requests HTTP-GET, HTTP-POST y SOAP
Soporta WSDL y UDDI

Progamación

Java 1.5
Compatible con Servlets 2.5, Portlets 1.0 (JSR-168) y JSP
Perl 5.8
EBDML (eBD Markup Language)

Contenidos

Permite crear webs accesibles AAA (WAI)
Generación automatica de HTML o XHTML
URLs amigables para optimizar indexación en buscadores (SEO)
Transformaciones XSLT + FO


Requisistos de hardware para un entorno multicapa con alta concurrencia

Frontales web

Procesador Intel Core 2 Duo o AMD similar
1 Gbyte
2 Gbytes para la instalación de eBD + espacio necesario para la cache de ficheros estáticos (10 Gbytes libres suele ser suficiente)
Linux (recomendado RedHat o CentOS)
Windows Server 2003 o 2008

Servidor de aplicaciones

Intel Dual Core Xeon

2/4 Gbytes
2 Gb para la instalación de eBD + espacio necesario para el desarrollo, backups, etc. (20 Gbytes libres suele ser
suficiente)
Linux (recomendado RedHat o CentOS)
Windows Server 2003 o 2008

Responsable de tecnología en TPNET y editor en varias webs del grupo, como MC y MCPRO.

Lo más leído