Universidad de Guayaquil Facultad de Ciencias Matemáticas y Físicas 1 Carrera de Ingeniería en Sistemas Computacionales y Networking

SERVIDORES WEB CON REPOSITORIO SERVLETS JBOSS, TOMCAT, GLASSFISH

Integrantes : Angel Calvas, Josue Cardozo, Alexis Enriquez, Jorge Sanchez

I. INTRODUCCIÓN RESUMEN En este artículo se pretende considerar las En este documento se define de modo breve los alternativas tecnológicas disponibles para el distintos servidores de aplicaciones, incluye desarrollo de aplicaciones web y servidores de secciones donde se analiza las características y aplicación como lo es Glassfish, Tomcat y Jboss. funcionalidades de los diferentes aplicativos para Esto amplia el conocimiento del lector sobre dichas desarrollo de aplicaciones en servidores además de tecnologías para que identifiquen la utilidad de cada ejemplos básicos de cada tecnología y la estructura software y pueda realizar una elección acorde a sus que maneja cada recurso. proyectos. Tomcat, Jboss y Glassfish son servidores de Un servidor de aplicación es el software que aplicaciones que trabajan bajo estándares y permite el procesamiento de datos y peticiones de especificaciones como JEE y EJB que permiten la una aplicación cliente, trabajan a manera de bloques ejecución de lenguaje de programación en , los cuales se pueden desarrollar de forma arquitecturas distribuidas y componentes cliente- independiente y llaman funciones externas las servidor. cuales los hacen dinámicos y menos complejos. Universidad de Guayaquil Facultad de Ciencias Matemáticas y Físicas 2 Carrera de Ingeniería en Sistemas Computacionales y Networking

II. GLASSFISH Glassfish proviene de una versión comercial llamada el Sun Glassfish Enterprise Server esta es una contenedor de aplicaciones web para correr servlets y paginas JSP una de sus principaes orientación fue que trabaja con JavaEE (“Java Entreprise Editions”) pero también entre unas de sus mejoras es J2EE (“Java 2 Entreprise Editons”) en donde se dice que es un conjunto de especificaciones para , una arquitectura de sitemas distribuida, y las definiciones para el paquete de componentes distribuidos para el desarrollo es un estandar definido para los servicios de desarrollar aplicaciones. En donde esta III. FUNCIONABILIDAD DE GLASSFISH plataforma se puede utilizar en multiples capas es decir tenemos multiples de herramientas para poder Funciona como un servidor de aplicaciones web realizar funcionabilidades mutuas en las dos es Modulares, Integrables, Extendibles en donde la decir este ambiente fue uno de los que entrudujo en arquitectura puede descargase e instalar solamente los sistemas distribuidos para ambiente web “multi- de los módulos que se necesiten para las APPS, lo nivel” La seguridad de este componente vital en las cual resta el tiempo de inicio, consumo de memoria aplicaciones empresariales para J2EE y y espacio en disco. Entre sus posible funciones es GLASSFISH es de que ofrece mecanismos ejecutar Glassfish dentro de una máquina virtual sin integrados de seguridad más seguros, que se puedan necesidad de disponer de instalar un servidor de añadir manualmente. J2EE proporciona aplicaciones.es decir Glassfish como una librería mecanismos de autentificación y autorización de más en la , seleccionando solo acceso a los usuarios, así como recursos para el lo que se necesita y probando pequeñas aplicaciones acceso anónimo si se necesita. Es posible webs sin necesidad de correr todo el AppServer, especificar quien tiene acceso a cada método de un teniendo en cuenta las limitaciones del .Glassfish Enterprise Bean. pero este ambiente de desarrollo tambien nos permite subdividir nuestro servidores quiso mejorar en donde recluto a Java Server Page, de aplicaciones atravez de los dominios estos sirven Java Server Face, Entreprise JavaBeans etc.Para para agrupar apicaciones que pueden compartir: realizar aplicación complementarias hechas por su – Librerías mismo ambiente de desarrollo para aplicaciones – Logs web en onde existiría un soporte para cada uno de – Configuraciones ellos hecho por Glassfish. Universidad de Guayaquil Facultad de Ciencias Matemáticas y Físicas 3 Carrera de Ingeniería en Sistemas Computacionales y Networking

 libros: Librerías compartidas entre las aplicaciones del dominio  applications: Donde están almacenadas la Todos los dominios están almacenados en información de las aplicaciones. “glassfish_home/domains” todos los dominios tiene una “Clave maestra” que sirve para administrar el dominio, configurando como activados de manera independiente.

IV. LEVANTAMIENTO DE SERVIDOR GLASSFISH Para poder levantar un servidor en Glassfish tenemos una consola de administración con multiples de funciones. Los dominios mantienen una estructura de carpetas bien definida. De todas entre unas de las principales tenemos:  config: Fichero de configuración del dominio /bin/asadmin

Debemos indicarle por consola que dominio queremos levanter para asi poder distirguir la omision de dominios en caso que exista uno levantado. Star-domain[] Ahora se ejecuta el comando. Glassfish nos informa del estado del proceso. ● Glassfish levanta un servidor de RMI y un control de log por defecto. ● Lo más relevante de la información del comando es la lista de puertos. Universidad de Guayaquil Facultad de Ciencias Matemáticas y Físicas 4 Carrera de Ingeniería en Sistemas Computacionales y Networking

- Java Web Technologies (Servlet 2.5, JSP 2.1, JSF 1.2) - Metro Web Services Stack - .NET 3.0 Web Services Interoperability ● Dentro de la consola de administración es fácil - EJB 3.0 - JPA 1.0 (TopLink) - Grizzly (Java NIO) para un dominio  GLASSFISH V3

Stop-domain[] Esta versión tiene como principales características: altamente modular y extendible. Además de que es totalmente compatible con Java EE 6. Características de esta version: V. VERSIONES DE GLASSFISH - Java Web Technologies (Servlet 3.0, JSP 2.2, JSF 2.0)  GLASSFISH V1 - Metro Web Services Stack Después de un año, ésta fue la primera versión que - .NET 3.5 Web Services Interoperability fue liberada. El principal objetivo de ésta versión, - EJB 3.1 fue desarrollar un servidor de aplicaciones - JPA 2.0 (EclipseLink) totalmente compatible con Java EE 5, y lo lograron, - Grizzly (Java NIO) recibiendo excelentes criticas en esta version . A la - Arquitectura Modular Basada en OSGi vez que se liberaba la primera versión de Glassfish, - CORBA también se lanzaba un producto correspondiente de Glassfish bajo el Sun Java System 9.0 Platform Edition. Entre una de las diferencias de la versión Open VI. HISTORIA DE GLASFISH Source y el producto de Sun fue: marca de Sun, mejor instalador, drivers de DataDirect JDBC e indemnización limitada. Todo lo demás era En Junio de 2005. Primer lanzamiento del Proyecto exactamente lo mismo dandole paso a la version donde se tuvo mucha atencion para el desarrollo web pero en el siguiente exactamente en mayo de  GLASSFISH V2 2006 fue la primera versión que soporta la La versión fue liberada en Septiembre del 2007, especificación Java EE 5.Pero como siempre java junto con algunas actualizaciones, éstas incluían siguio desarrolandose y asi en mayo de 2007. mejoras de bugs y algunos parches. El principal Tuvo como proyecto Project SailFin se anuncia en enfoque de la versión v2 fue agregar varias características empresariales. Las tres palabras clave JavaOne como un subproyecto bajo GlassfFish. que resumen ésta versión son: Rápido, Fácil SailFin es un proyecto que añade nuevas funcionalidades, como el servlet de Session  GLASSFISH V2.1 Initiation Protocol (SIP).pero en septiembre de 2007. Aparece la versión 2 (también conocida como Diciembre del 2008, dónde se repararon más de 500 Sun Java System 9.1) con problemas. Permite el uso de SailFin 1.0 e incluye capacidades de cluster y nuevas características de muchísimas mejoras de calidad. Las características principales de esta versión son: interconexión entre servicios web pero en - Java EE5 Diciembre de 2008, y la Universidad de Guayaquil Facultad de Ciencias Matemáticas y Físicas 5 Carrera de Ingeniería en Sistemas Computacionales y Networking comunidad lanza GlassFish 2.1 (Sun GlassFish VII. Enterprise Server 2.1), el que sirve como la base Apache tomcat comenzó siendo una para el proyecto Sailfin SIP AppServer project implementación de servlets, donde fue uniciada por (también conocido como Sun Communication James Duncan Davidson, que trabajabó como arquitecto de software en Sun Microsystem en Application Server).Ya en Diciembre de 2009 donde trabajo desde el año (1997- 2001) es autor y aparece la versión 3 que soporta la especificación co-aoutor de varios libros de software ya que aparte Java EE 6 asta en la actulidad en su foro de de crear tomcat creo una herramienta llamada Glassfish estan patentando La última versión de HORMIGA que también fue desarollada en el GlassFish Server Open Source Edition es 4.0, ambiente JAVA dirigió sus intereses de aparecido en 24/06/2013. Inicialmente fue agregado programación y la atención en el sentido de Ruby a nuestra base de datos en 19/06/2010 pero seguira on Rails . Junto con el conocido gurú Rails Mike Clark, Davidson ha diseñado y construido algunos creciendo esta aplicacion por medio crese la de los más complejos y robustos Rails temprana necesidad de las empresas que trabajan con esta aplicaciones que en lo posterior ayudó al proyecto plataformas exelentes para realizar servidores web. de código abierto. Este apache fue desarrollado bajo el nombre de por la Apache Software Fundation bajo la licencia Apache 2.0. Se podría definir como la capa web de cualquier aplicación es también conocido como Jakarta Tomcat, es una implementación de software open source de las tecnologías Java servlet y javaServer Pages.Cuando uno realiza la investigacion de esta tecnologia tenemos que terner muy encuenta que existe versions de toncat donde realiza la misma funcion El servidor Jakarta Tomcat es una aplicación web basada en Java creada para ejecutar servlets y páginas JSP (“ Java Server Page)” ,siendo la implementación oficial de referencia de las especificaciones Servlet 2.3 y JavaServer Pages 1.2.Pero antes de continuar es necesario tener un conocimiento básico del concepto de Aplicación Web una aplicación web es un conjunto de Link http://glassfish-server-open-source- programa informático que en lugar de edition.updatestar.com/es ejecutarse en un ordenador personal en adelante, una aplicación de escritorio, se ejecuta parcialmenteen un servidor remoto, al que se accede a través de Internet o intranet por medio de un navegador web donde te envía a la aplicación web.Aparche tomcat que fue implementado en la versión 2.2 de la especificación servlet. De acuerdo con esta especificación, una aplicación web es una colección de servlets, páginas Java Servelts Page, clases Java, archivos de descripción de la aplicación, documentos estáticos entre uno de ellos HTML, XHTML. Se pueden ser empaquetados y ejecutados en distintos servidores de diferentes Universidad de Guayaquil Facultad de Ciencias Matemáticas y Físicas 6 Carrera de Ingeniería en Sistemas Computacionales y Networking proveedores es decir Se puede ejecutar sobre compartir entre varios servidores Web y otros cualquier sistema operativo, previa instalación de la dispositivos que sirven contenido diferente. Al igual máquina virtual de Java aunque, también se puede que los servidores WEBx, TOMCAT tiene tres usar con MAMPP (Mac OS X), LAMPP terminales de salida genéricos para acceder a los (GNU/Linux), WAMPP (Windows) o XAMPP servicios externos de los scripts del volumen de (cualquier sistema operativo).Este servidor funciona bajo java devolment kit contenido. El terminal db se usa para acceder a diversas bases de datos; el terminal fs se usa para acceder a almacenamiento de archivos compartidos (mediante NFS); y el terminal aux se crea para enviar mensajes de correo electrónico a un servidor SMTP.El terminal de registro debe utilizarse para conectar TOMCAT a un sistema de archivos compartido, donde TOMCAT puede almacenar archivos de registro.

La configuración del servidor se define mediante VIII. FUNCIONAMIENTO DE APACHE diversas propiedades. Estas propiedades están TOMCAT diseñadas para cubrir la mayoría de las variantes de uso de una forma fácil de configurar y, en la mayor Para poder realizar el funcionamiento de Tomcat parte de los casos, solamente hay que configurar con la licencia de Aparche es necesario tener en unas cuantas con valores no predeterminados.Para nuestro servidores un sistemas operativo de poder realizar un ejemplo de la aplicación Tomcat cualquier tipo y en tener el parquete instalodo Java realizaremos un desarrollo HOLAMUNDO Devolment Kit para realizar la utilización. Funciona mas como un servidor de paginas. El uso de las IX. HOLAMUNDO herramientas ANT y CVS no será abordado en esta ocasión, pero podemos decir que ambas son herramientas para descargar y compilar las Se creó un arreglo de los nombres de los integrantes versiones de código fuente de Tomcat Los servidor del grupo 7 para poder presentar en el navegador una página web con los nombres de cada uno de los Web basado es una máquina de Java Sun y Apache integrantes listados. Tomcat, un servlet de Java y un contenedor de A continuación se debe compilar el archivo páginas de JavaServer desarrollado. La HelloWorld.java pero para evitar tener errores en documentación principal de Tomcat se encuentra en tiempo de compilación se debe de agregar la opción tomcat.apache.org. Tomcat ofrece compatibilidad –classpath conforme a los estándares para servlets y JSP. Tomcat puede funcionar como servidor Web independiente o como servidor de aplicaciones. TOMCAT sirve contenido Web estático, implementa automáticamente aplicaciones Web y ejecuta servlets y páginas de JavaServer a partir de un volumen de contenido configurable por el usuario. Las rutas a los documentos son configurables, para que el mismo volumen se pueda Universidad de Guayaquil Facultad de Ciencias Matemáticas y Físicas 7 Carrera de Ingeniería en Sistemas Computacionales y Networking

Este proceso es necesario para indicarle en qué ruta se encuentra las librerías de Apache tomcat ya que si se lo compila sin hacer lo indicado saldrá error Donde: diciendo que no se ha encontrado la librería  Servlet-name: es el nombre del servlet javax.servlet.*  Servlet-class: indica el nombre del archivo que acabamos de compilar  url-pattern: Se crea una ruta virtual para así poder acceder al servlet Y como paso final iniciamos el servidor web de Apache Tomcat para así poder ver en el navegador lo que se desea presentar.

Una vez hecho esto se debe de crear un archivo para así poder acceder al servlet sin que exista ningún problema Universidad de Guayaquil Facultad de Ciencias Matemáticas y Físicas 8 Carrera de Ingeniería en Sistemas Computacionales y Networking

X. CARACTERITICAS DE APACHE TOMCAT A partir de la versión 4.x Tomcat fue lanzado con el contenedor de servlets Catalina, con el contenedor HTTP "Coyote" y un motor para JSP llamdo "Jasper". Las principales características de estos tres componentes son Catalina donde este componente implementa las especificaciones de servlets y JSP. Para Apache Tomcat el elementos principal es una base de datos de nombres de usuarios, password y roles a estos usuarios permitiendo a Catalina integrarse donde ya existe información de autenticaciónes como describe la especificación de servlets.Mienstras que Coyote es un componente conector que admite el protocolo HTTP 1.1 para el servidor web y que escucha en un puerto TCP especificado por el servidor y envía la solicitud al motor Tomcat para que éste procese la solicitud y envíe una respuesta al cliente.Jasper analiza archivos JSP para compilar el código Java y, si se producen cambios, éste los vuelve a compilar. Desde la versión 5.x se usa Jasper 2 que es JavaServer para webs 2.0. Jasper 2 ha introducido las siguientes novedades:

 Recompilación al producirse un cambio.  Incorpora el compilador JDT de Java.  Puesta en común de etiquetas JSP. Universidad de Guayaquil Facultad de Ciencias Matemáticas y Físicas 9 Carrera de Ingeniería en Sistemas Computacionales y Networking

Sus características y evolución del  HTTPS producto y sus principales características  Alojamiento compartido de cada una de las versiones han sido.  CGI o interfaz de entrada común Tomcat 3.x que fue una de las primeras en distrbuise esta implementación a  Servlets de Java partir de Servlet 2.2 y JSP 1.1 utiliza las  SSI Recarga de servlets y tiene como unas  Consola de administrador. de sus principales Funciones básicas de HTTP.

XI. EVOLUCION APACHE TOMCAT XII. JBOSS Es un servidor de aplicaciones de Java EE con Tomcat 4.x fue implementado a partir de licencia LGPL, compatible con cualquier sistema las especificaciones Servlet 2.3 y JSP 1.2 operativo para el que esté disponible la JVM.[1] es como un Contenedor de servlets únicamente un "EJB Container" y es por esto que rediseñado como Catalina.El motor JSP generalmente se utiliza en conjunción con un "Web- rediseñado con Jasper y el Conector Container", en nuestro caso Tomcat. Coyote.Java Management Extensions Este lenguaje es de codigo abierto donde puede (JMX), JSP y administración basada en realizarce en multiples sistmeas operativos sirve Struts. para el desarrollo y despliegue de la Tomcat 5.x fue implementado a partir de empresa Java aplicaciones, aplicaciones Web y los las especificaciones Servlet 2.4 y JSP servicios y portales . J2EE permite el uso de 2.0.Recoleccióno de basura reducida componentes modulares estandarizados y permite a capa envolvente nativa para Windows y la plataforma Java para manejar muchos aspectos de Unix para la integración de las la programación automáticamente.Es una aplicacion plataformas en el análisis rápido JSP. multiplataforma es muy felixible es decir muy Tomcat 6.x fue implementado de Servlet utilizados por lo pragramadores que an utilizado el 2.5 y JSP 2.1 como un soporte para lenguaje java para realizer aplicaciones web este Unified Expression Language 2.1 tambien lenguaje nos ofrece permiso de persistencia de Diseñado para funcionar en Java SE 5.0 y objeto y realciones aument el rendimiento de posteriors es un soporte para Comet a aplicaciones través de la interfaz CometProcessor. Tomcat 7.x fue implementado de Servlet 3.0 JSP 2.2 y EL 2.2 para unas de sus mejoras para detectar y prevenir "fugas de memoria" en las aplicaciones web y limpieza interna de código. Soporte para la inclusión de contenidos externos directamente en una aplicación web. Tomcat 8 como una de las principales características que soporta la última versión estable son:

 Autenticación de acceso básico.  Negociación de credenciales Universidad de Guayaquil Facultad de Ciencias Matemáticas y Físicas 10 Carrera de Ingeniería en Sistemas Computacionales y Networking

XIII. HISTORIA DE JBOSS Es la solución para la integración de data que permite a las organizaciones acceder a múltiples Marc Fleury empezó el proyecto Jboss en 1999, en recursos necesarios al tiempo requerido. el año 2004 fundo la empresa Jboss Inc. que Incluye una herramienta de diseño gráfico basado proporcionaba software middleware de código . abierto en instalaciones o la nube para desarrollar, implementar y administrar aplicaciones Java. Competían con empresas líderes como las de IBM, BEA systems, Oracle, Sun MicroSystems. En abril del 2006, Red Hat realizo la adquisición de Jboss la compañía y en la actualidad se pueden considerar Servidor web basado en Tomcat, provee una los siguientes productos: plataforma de desarrollo para JSP (Java Server Pages), Java Servlets, PHP, and CGI. Red Hat Jboss Enterprise Application Platform

Ofrece una plataforma de alojamiento de aplicaciones que proporciona una arquitectura preparada para la nube con una potente gestión y automatización del sistema y una productividad del desarrollador de clase mundial. Jboss Web Server v3

Red Hat Jboss Web Server - Inclusión de Tomcat 8. - Actualización del Apache HTTP Un servidor web que combina el servidor Web Server v2.4. Apache y Apache Tomcat para proporcionar una - Actualización: versión de solución única para los sitios web de gran escala y Tomcat7. aplicaciones web ligeras de Java. - Actualización: versión de . Red Hat Jboss Data Grid - Actualización de versión de mod_cluster. Una cuadrícula de datos en memoria para acelerar el - Soporte para Java 8. rendimiento de las aplicaciones, ofreciendo un - Adición del mod_security for acceso rápido distribuido de datos. Apache HTTP Server.

Red Hat Jboss Portal

Poderoso pero ligero portal para la construcción de Jboss Web Server v2.1 aplicaciones de alto impacto y auto servicio aprovechando al máximo el valor de sus sistemas - Soporte Java existentes. comunicación full-duplex cliente-servidor Red Hat Jboss Fuse Service Works Plataforma de diseño, desarrollo e integración que permite a las organizaciones la transición y apertura Jboss Web Server v2 a las nubes hibridas. - Inclusión de Tomcat 7. Red Hat Jboss Data Virtualization - Inclusión de Hibernate. Universidad de Guayaquil Facultad de Ciencias Matemáticas y Físicas 11 Carrera de Ingeniería en Sistemas Computacionales y Networking

- Politicas SELinux para Apache Servicios de Middleware para cualquier objeto de HTTPD y Tomcat 6-7. java. - Versiones Actualizadas de Fácil integración con otros servicios desarrollados Apache HTTPD y Tomcat 6. en la plataforma de Java. - Actualización: versión de mod_cluster conector. Soporte completo para JVM. - Soporte para Solaris 11 Soporte completo para cualquier arquitectura de Máquina Virtual de Java.

Jboss Web Server v1 XV. CONCLUSION - Inclusion Apache Tomcat 5 – 6 - Soporte para Solaris 9 – 10 Con la profundidad de esta investigación se - mod_cluster (carga balanceada establece el conocimiento de las tecnologías para HTTP) desarrollo de aplicaciones web y aplicaciones con - Jboss Hibernate repositorio Servlets, las cuales están basadas en código abierto y multiplataforma. Tanto Glassfish, Tomcat y Jboss nos permiten desarrollar diversos servicios sobre aplicaciones web y servidores, pero las características propias como la administración, XIV. CARACTERÍSTICAS los servicios que se pueden manejar además de los estándares y complejidad de la programación es lo Software de licencia LGPL sin costo adicional. que nos lleva a la elección de dichas tecnologías Es un producto de licencia de código abierto (Lesser dependiendo de las necesidades y requerimientos de General Public License), que promueve la nuestros proyectos. distribución de software libre para todos los usuarios. XVI. AGRADECIMIENTO Cumple los estándares. Los autores agradecen la colaboración prestada del El sistema y los datos se conectan fácilmente, Ing. Antón por la revisión de este documento, por certificados Java EE. darnos de la motivación para realizar una investigación a fondo de las tecnologías Seguro y confiable a nivel de empresa. mencionadas y por trasmitirnos su interés por la Plataforma integral con servicios de seguridad para materia con sus experiencias y conocimientos claros nivel empresarial. del este tema.

GLOSARIO Incrustable, Orientado a arquitectura de servicios. Soluciones SOA (Arquitectura Orientada a Java EE Servicios) con una alineación directa a los procesos Java Platform, Enterprise Edition o Java EE de negocio. (anteriormente conocido como Java 2 Platform, Enterprise Edition o J2EE hasta la versión 1.4; Flexibilidad consistente. traducido informalmente como Java Empresarial), Innovación de servicios a clientes y una adaptación es una plataforma de programación—parte de la ágil ante cambios. Plataforma Java—para desarrollar y ejecutar software de aplicaciones en el lenguaje de Universidad de Guayaquil Facultad de Ciencias Matemáticas y Físicas 12 Carrera de Ingeniería en Sistemas Computacionales y Networking programación Java. Permite utilizar arquitecturas de N capas distribuidas y se apoya ampliamente en componentes de software modulares ejecutándose sobre un servidor de aplicaciones.[2]

EJB Los Enterprise JavaBeans son una de las API que forman parte del estándar de construcción de aplicaciones empresariales JEE) de Oracle. Su especificación detalla cómo los servidores de aplicaciones proveen objetos desde el lado del servidor.[3] XVII. REFERENCIAS [1] JSP Red Hat Inc. “Jboss Technology” [En línea]. Java Servlet Pages ' (JSP) es una tecnología que Disponible en: . ayuda a los desarrolladores de software a crear páginas web dinámicas basadas en HTML, XML, [2] entre otros tipos de documentos. JSP es similar a . “Java EE” [En linea]. PHP, pero usa el lenguaje de programación Java. Disponible en: . Para desplegar y correr JavaServer Pages, se requiere un servidor web compatible con contenedores servlet como Apache Tomcat o . [3] Oracle Corporation. “EJB” [En linea]. Disponible Servlets en: . El servlet es una clase en el lenguaje de programación Java, utilizada para ampliar las [4] capacidades de un servidor. Aunque los servlets Free Software Fundation, Inc. “Common pueden responder a cualquier tipo de solicitudes, Development and Distribution License (cddl) éstos son utilizados comúnmente para extender las version 1.0” [En línea] 2004. Disponible en: aplicaciones alojadas por servidores web, de tal . manera que pueden ser vistos como applets de Java que se ejecutan en servidores en vez de navegadores [5] web. Free Software Fundation, Inc. “GNU Lesser General Public License” [En línea] CDDL 2007.Disponible en: . CDDL es una licencia de código abierto (OSI) y libre, producida por Sun Microsystems, basada en la Mozilla Public License o MPL, versión 1.1.[4]

LGPL Lesser General Public License es la licencia más ampliamente usada en el mundo del software y garantiza a los usuarios finales (personas, organizaciones, compañías) la libertad de usar, estudiar, compartir (copiar) y modificar el software. Su propósito es declarar que el software cubierto por esta licencia es software libre y protegerlo de intentos de apropiación que restrinjan esas libertades a los usuarios [5]