The online documentation is produced by a web publishing technology created by us to read the documents origins in OpenOffice Writer (ODT) and Microsoft Word (docx) formats and produces native web and PDF versions. In this way we maintain Louder project documentation update and in sync on each of its formats.
Cuando la web se empezó a tomar más en serio, no solo para presentar sitios Web con contenido estático ó simplemente informativo y se dio paso a la prestación de servicios con contenido dinámico, la estructuración y profesionalización de las aplicaciones Web se hace evidente como una forma de ofrecer calidad y confiabilidad a clientes, proveedores, inversionistas, empleados y todo el entorno de las empresas y organizaciones en forma novedosa y eficiente.
La aceptación general del lenguaje PHP como herramienta especializada en el entorno Web y su amplio desenvolvimiento así como sencillez de uso, han aportado considerablemente al crecimiento y capacidad de implementación de alta tecnología en la Web.
Kumbia Enterprise es un paso adelante en la evolución de los frameworks y de PHP como plataforma de desarrollo de carácter general.
Sobre PHP y la Web
A través de los años PHP se ha convertido en un estándar de facto para la construcción de software para Internet de alta escalabilidad y velocidad. Muchos de los sitios más populares y concurridos en la actualidad incluyendo Wikipedia, Yahoo! y Facebook.
Introducción
Kumbia Enterprise Framework es un conjunto de tecnologías para la producción de software que integra una novedosa plataforma de middleware proporcionando servicios de persistencia, transacciones, mensajes y clustering a aplicaciones basadas en PHP que esten orientadas a la Web.
Por años la madurez del desarrollo empresarial en PHP ha evolucionado incrementalmente y hoy en día se cuenta con productos maduros que pueden proporcionar alternativas que reduzcan los costos de tecnologías de información y puedan ser aplicados a entornos empresariales desde la mediana y pequeña empresa hasta grandes aplicaciones orientadas al cliente final.
Nuestra plataforma pretende unificar la plataforma tecnológica de backend y frontend acelerando los procesos de desarrollo e implementación de software usando middleware multiplataforma escalable con tecnologia open-source. Para lograr esto una de nuestras fichas claves es Kumbia Enterprise Framework.
Kumbia Enterprise es un framework especialmente orientado al entorno empresarial, que implementa las mejoras prácticas de desarrollo de software y prácticas orientadas a las Web de la actualidad e intenta fomentar principalmente la generación de aplicaciones profesionales, potentes, seguras y mantenibles en el tiempo para empresas que deseen adoptar software abierto y tecnología PHP.
Gracias al apoyo de diferentes empresas patrocinadoras y de LouderTechnology ahora es posible implementar aplicaciones con una base de código más sólida, estable y funcional junto con un servicio de soporte que asegure que su desarrollo y mejoramiento será continuo en el tiempo.
Características del Framework
Sumadas a las de su hermano comunitario, Kumbia Enterprise Framework posee las siguientes características:
Arquitectura Modelo-Vista-Controlador (Múltiples aplicaciones extendible con Plugins y Eventos)
Contenedor para aplicaciones y servicios web
Componente de Cacheo Flexible
Object-Relational-Mapping (ORM) potente y robusto (Transacciones, Validadores, Joins, Unions, Generadores, Multiplicidad de Relaciones, Herencia)
Business Process Management (BPEL)
Servicios Web (Integración y Orquestamiento) (Soap, Rest, SCA)
Componente de Administrador de Sesión (Session Handling) Flexible (Memcached, Database, LouderCache, Files)
Componente de Autenticación (LDAP, Model, KerberosV, Radius) con soporte para Sesión Activa y Expiración de Sesión
Componente de Access List Control (ACL) Flexible (Model, Memory, Xml)
Componente de Auditoria de Sistemas
Sistema de Logging Flexible (File, Compressed, Mail, Database,Stream,SCA)
Localización (Traducción, Fechas, Monedas) independiente de la plataforma
Monitoreo de Aplicaciones (CommonEventInfrastructure)
Componente para generación de reportes empresariales en múltiples formatos (Pdf, Excel, Html)
Componente para implementación de servicios WebDAV
Componentes de conexión a motores de base de datos certificados (Oracle y MySQL)
Componentes de conexión a bases de datos NoSQL (MongoDB)
Semi-Compilador para el Framework y las aplicaciones
GarbageCollector de Sesión
Plantillas rápidas y flexibles
Filtros y Validación Integrada
Tests de Unidad
Debug, Traza y Profiling avanzado
Componente de Configuración Flexible (Ini, Xml, PHP)
Documentos PDF con PdfDocument
Integración con Louder Clustering Technology
Integración con Louder Cache
Integración con IBM WebSphere sMash
PHP en entornos críticos
El lenguaje PHP no ha tenido una gran participación en entornos de aplicaciones críticas y en un muchos casos ha sido relegado a la creación de sitios Web y portales. Algunas características del lenguaje PHP como la tipificación débil y su carácter interpretado pueden y han hecho desconfiar a organizaciones en su implementación en software grande y complejo.
Kumbia Enterprise Framework ha sido diseñado para mantener estrictos controles de validación de tipos e integridad de datos, garantizando en gran medida que los procesos, entrada y salida de datos, cumplan a satisfacción con los requerimientos de negocio sin perder la potencia y capacidades para el desarrollo rápido que ofrece la tecnología PHP.
Proyectos y productos como APC (Alternative PHP Cache), Zend Optimizer, eAccelator, Zend Guard y otros más, permiten llevar aplicaciones en PHP a un carácter semi-interpretado y hasta proteger la propiedad intelectual del código fuente del software.
En resumen se puede decir que existe actualmente entornos y tecnología que permiten el desarrollo e implementación satisfactoria de aplicaciones para entornos críticos basados en el lenguaje PHP.
Preguntas frecuentes sobre Kumbia Enterprise
¿Para qué otro framework PHP? Como se ha mencionado anteriormente PHP ha sido un lenguaje usado para la creación de software y sitios web. Los frameworks actuales han avanzado mucho en este sentido y ofrecen todas las herramientas necesarias para llevar a cabo estos proyectos. La inmediatez en el desarrollo es algo que todos los desarrolladores PHP hoy en día normalmente buscan.
Por otro lado cuando el objetivo es desarrollar aplicaciones de misión critica, con procesos de negocio complejos, cientos ó miles de usuarios, concurrencia muy alta, necesidad de integrarse a otros sistemas en otras plataformas de desarrollo y además se requiere que sean monitorizadas y que se adapten rápidamente a la evolución de los requerimientos del negocio, el panorama cambia.
Para asegurar el éxito de proyectos complejos de software, aparte de la inversión de recursos de gerencia y administración, se requiere asegurar que esta inversión no se vaya a perder por seleccionar las herramientas equivocadas para llevar a cabo el proyecto.
Es difícil determinar cuando un proyecto va a crecer más de lo que se espera y como esto puede a obligar a cambiar sobre el camino un diseño erroneo ó en el peor de los casos reescribir parte de los componentes de las aplicaciones para adaptarse a los cambios.
Kumbia Enterprise nació precisamente cuando un software en PHP tuvo que prepararse para soportar 250.000 peticiones diarias (más de 7 millones al mes), 15000 transacciones y además ofrecer funcionalidad reusable a otras aplicaciones haciendo más mantenible toda la infraestructura de sistemas de una empresa. La enseñanza: Es mejor pensar en grande ahora, tardar un poco más en desarrollar y no preocuparse en el futuro por el crecimiento, ni en las posibles oportunidades comerciales ó de requerimientos y adaptabilidad del negocio que se puedan presentar en el ciclo de vida de un conjunto de sistemas.
¿Por qué un framework para SOA? SOA es un concepto, no una tecnología. Un desarrollador puede implementar una arquitectura orientada a servicios usando otro lenguaje u otro framework, no necesariamente debe ser Kumbia Enterprise. SOA tampoco es apto para cualquier proyecto, esto debe ser una decisión planeada y estrategica que beneficie y propenda por los objetivos de negocio de una empresa u organización.
SOA se ha convertido en un estándar de la industria para la implementación de infraestructuras de sistemas que requieran una alta reusabilidad y flexibilidad de los componentes de las aplicaciones tanto internamente como externamente. Grandes compañias de software como IBM, JBoss y Oracle invierten grandes cantidades de recursos en el desarrollo y mejoramiento de soluciones para empresas que busquen implementar este tipo de arquitecturas.
Puede que tarde más tiempo en implementar una arquitectura eficiente y estable a partir de componentes poco acoplados de otros frameworks generandole contratiempos y en el peor de los casos perdidas en su inversión en IT. Kumbia Enterprise ha sido diseñado para facilitar la definición y construcción de SOA utilizando el lenguaje PHP mediante un contenedor de aplicaciones y servicios web diseñado específicamente para este tipo de arquitecturas y también para aplicaciones orientadas a la web comunes.
¿Kumbia Enterprise ofrece más o menos funcionalidad que el Kumbia PHP Comunitario? Kumbia Enterprise es un proyecto con objetivos claros diferentes por los que trabaja el Kumbia Comunitario ó otros frameworks como Symfony ó CakePHP. Este framework ha implementado muchos de los componentes que se requieren para construir aplicaciones Web pero además ofrece características empresariales únicas que facilitan el desarrollo de grandes y medianas aplicaciones con procesos de negocio complejos y que debido a su naturaleza requieran de alguna funcionalidad especifica del framework.
¿Por qué Kumbia Enterprise no parece ser completamente libre y manejado por la comunidad como lo es el Kumbia PHP Comunitario? Kumbia Enterprise tiene una licencia abierta llamada New BSD que ofrece libertades similares a la LGPL. El desarrollador no tiene problema en crear, distribuir y comercializar software basado en el framework gracias a esta licencia. LouderTechnology busca liderar y asegurar el desarrollo activo y mejoramiento continuo del framework permitiendo que empresas y desarrolladores adopten el software tranquilamente y se puedan enfocar en sus propias aplicaciones ofreciendo el espacio para que puedan retroalimentar aportar y colaborar al proyecto retroactivamente.
¿Trabajo ó he trabajado en Zend Framework, como puedo integrarlo con Kumbia Enterprise? Los componentes del Zend Framework pueden ser integrados a Kumbia Enterprise cargandolos como extensiones ya sea estáticamente ó dinámicamente. Componentes de usuario pueden registrar componentes de auto-carga de zend ó hacer uso de los mismos.
¿Conozco ó he trabajado desarrollando en Java, que puedo esperar de Kumbia Enterprise?
Este framework ha sido diseñado para ser familiar en muchos aspectos a los desarrolladores Java y también a los desarrolladores PHP. Kumbia Enterprise tiene estrictos controles de validación en busca de encontrar más problemas y de tratar de identificar potenciales posibles problemas que puedan tener los componentes desarrollados.
Kumbia Enterprise además permite ejecutar aplicaciones bajo IBM WebSphere sMash permitiendo integrar código nativo Java en aplicaciones PHP y viceversa aprovechando código y experiencia existente del desarrollador.