Os presentamos a continuación, un resumén de la intervención ENREDA en la "Libre Software World Conference / Conferencia Internacional de Software Libre" en el Taller: Desarrollo Web Avanzado, en el que también participaron otras empresas: Opentia, Isotrol y la CICE de la Junta de Andalucía

DESARROLLO WEB AVANZADO
¿Qué es un desarrollo web avanzado?
Nosotros creemos que hoy en día el desarrollo de un portal web es avanzado en cualquier sentido sea un blog o un portal corporativo, dado que un blog (basado en Wordpress) que podríamos considerar como el CMS o aplicación web de las más simple ya cuenta con 138.515 lineas de código, evidentemente está muy lejos de las cerca de 1.780.000 con las que cuenta Liferay. Pero implica un desarrollo muy elevado que sería prácticamente imposible de asumir por ningún cliente o empresa hoy en día si no estuviera soportado sobre una comunidad de Software Libre. Por ello nuestro primer apunte es que toda aplicación web avanzada se tiene que sustentar en SL y la comunidad que haya detrás será un elemento a tener en cuenta para decidirse por una u otra solución. En la imagen siguiente se puede ver como ha evolucionado el desarrollo de ambos proyectos y la magnitud de ellos.
WordPress vs Liferay Portal(Fuente: ohloh.net)

Cambiemos de perspectiva, ¿hasta dónde puede llegar un desarrollo web avanzado?
Pues dependiendo de la necesidad o complejidad del sistema que deseemos podemos encontrar proyectos avanzados, pero con orientaciones muy distintas: la seguridad, alta disponibilidad, rendimiento, Interoperabilidad, integración, funcionalidades avanzadas, SaaS, etc..Como dijimos antes para que el desarrollo sea posible, habrá que sustentarlo en SL, echemos un vistazo a qué nos ofrece la situación actual de proyectos de SL en los que podamos apoyarnos; este mapa conceptual realizado por Real Story Group es un ejemplo de la multitud de posibilidades y caminos que podemos tomar para el desarrollo de sistemas web avanzados. Este grupo se encarga de hacer estudios que puedan ayudar a las empresas a elegir las mejores soluciones según sus necesidades.

(La imagen a tamaño completo, Fuente: Real Story Group )

Si se observa este mapa una de las primeras conclusiones es la multitud de proyectos que nos encontramos, partiendo de un estudio previo y años de experiencia nosotros finalmente nos decidimos como opciones más optimas para el Desarrollo de Soluciones Web: Drupal y Joomla.
En este estudio no entraremos en profundidad en explicar porqué usamos una u otra, pero sí daremos algunas razones por las que encajan con el razonamiento general de la exposición:

  1. Ambos sistemas son SL y están ampliamente desarrollados. Disponen de unas comunidades fuertemente afianzadas y en continuo crecimiento.
  2. Ambos se basan en la combinación de: (Linux) + Apache + PHP + MySQL. Y ciertamente son una solución perfecta tan válida como o mejor (dependiendo de las necesidades del proyecto) como JAVA,Ruby on Rails o .NET; y si quiere profundizar puede consultar "compare php java"
  3. El coste de desarrollo y mantenimiento es mucho más bajo que en otros sistemas y otras plataformas. Los costes de servicio (hosting, servidores, mantenimiento, ...) también son menores.
  4. El concepto de "sistema base+extensión" en ambos es similar, y permite desarrollar reutilizando extensiones de la comunidad que cubren practicamente por completo todas las funcionalidades posibles que se nos puedan ocurrir.
  5. Por otro lado nos permite desarrollar de forma muy fácil nuevas funcionalidades que no estén ya hechas sin tener que tocar el sistema base, lo que facilitará el mantenimiento, las actualizaciones y desarrollos futuros. En resumén será un sistema más sostenible.
  6. Otro elemento que no hay que olvidar es que todos estos sistemas, y en concreto con los que trabajamos cumplen con todos los estándares actuales (W3C,XHTML,CSS2.0...) y están perfectamente adaptado al SEO.

Algunas de las características anteriores se pueden apreciar fácilmente en este gráfico comparativo:
Drupal (Core) vs Liferay Portal vs Drupal (contributions)(Fuente: ohloh.net)

Como se puede observar el Core o sistema base de Drupal está en unas 170.000 líneas de código pero dispone de casi 8millones de líneas de código en módulos, esto nos da una idea muy clara de lo dicho anteriormente. Además de esto si se compara en detella el desarrollo de uno y otro sistema, se puede entender porque decidimos usar PHP frente a otras opciones. Drupal se reparte sólo entre PHP, CSS y Javascript; mientras que en Liferay: Java, HTML, XML,JavaScript y Otros.

Fuentes: ohloh.net/p/liferay y ohloh.net/p/drupal .

Otros datos que pueden ayudarnos a justificar nuestra elección (fuente Drupal.org): 7.063 Modulos (extensiones), 874 Themes y 3.751 Desarrolladores activos. ¿Qué empresa se puede permitir estas cifras?
Y podríamos seguir comentando la diferencia entre ambos, o entre este y otros proyectos; pero en lo que más nos interesa es destacar sus ventajas.
Sus ventajas fundamentales rádican en que son muy escalables, hay una comunidad enorme que los soporta, tiene una gran cantidad de extensiones que permiten desarrollos prácticamente de cualquier funcionalidad, son fáciles de integrar con otros sistemas, se puede desarrollar facilmente nuevas extensiones, son más económicos de mantener y actualizar, están en continua evolución, etc...
Poniendo un caso concreto, un desarrollo complejo de un portal institucional con Drupal o Joomla nos permitiría alcanzar los objetivos del proyecto a un menor coste y en menor tiempo que con otros sistemas, lo que supone fundamentalmente para el cliente un ahorro considerable; pero que sobre todo supondría que el sistema en general estaría mucho mejor realizado y sería más sostenible (económica y socialmente)Ejemplos y casos de uso que hablan por sí solos, en algunos casos sobran los comentarios:
Web institucional de altísimo nivel, La Casa Blanca: whitehouse.gov
Integración con otros sistemas, Drupal + Alfresco, una muestra de como interoperar entre dos sistemas : activision.com
Web comercial y comunidad de software libre que sustenta todo su presencia en la red en un portal desarrollado con Drupal: ubuntu.com
Gestión de datos, un ejemplo de como se pueden realizar desarrollos muy específicos y de gran complejidad pero basados en un desarrollo sostenible: data.worldbank.org
Portal institucional realizado con Joomla: Centro Regional de Información de la ONU (UNRIC)