Open Source Tools for Java Projects
-
Upload
jose-gutierrez -
Category
Technology
-
view
2.830 -
download
2
description
Transcript of Open Source Tools for Java Projects
![Page 1: Open Source Tools for Java Projects](https://reader033.fdocuments.in/reader033/viewer/2022061300/54cb2ed54a795903268b45ca/html5/thumbnails/1.jpg)
Herramientas Open Source para Desarrollo de Software con Java
Spring Tours UPeU 2009José Luis Gutiérrez
![Page 2: Open Source Tools for Java Projects](https://reader033.fdocuments.in/reader033/viewer/2022061300/54cb2ed54a795903268b45ca/html5/thumbnails/2.jpg)
Descripción General Beneficios de Open Source Herramientas
◦ Control de Versiones◦ Manejo de Artefactos◦ Entorno de Desarrollo de Software◦ Integración Continua◦ Pruebas de Rendimiento y Funcionalidad
Agenda
![Page 3: Open Source Tools for Java Projects](https://reader033.fdocuments.in/reader033/viewer/2022061300/54cb2ed54a795903268b45ca/html5/thumbnails/3.jpg)
Free and Open Source Software (FOOS) es un término general usado para referirnos a aplicaciones de sistemas que son soportados por una comunidad de desarrolladores no compensadas.
FOOS es una ideal sustitución de software comercial y su uso en empresas corporativas ha ido en aumento en los últimos años.
Descripción General
![Page 4: Open Source Tools for Java Projects](https://reader033.fdocuments.in/reader033/viewer/2022061300/54cb2ed54a795903268b45ca/html5/thumbnails/4.jpg)
Precio. Generalmente no tiene cargos. Fiabilidad. Menos errores en el software. Innovación. Basado en el talento creativo de una
larga lista de desarrolladores. Licenciamiento. Proporciona amplios derechos a
los usuarios finales. Actualizaciones. Las FOOS son activamente
soporta, mejorando errores y capacidades. Interoperabilidad. No impone restricciones y se
adhieren abiertamente a interfaces con otros sistemas.
Escalable.
Algunos beneficios de Open Source son:
![Page 5: Open Source Tools for Java Projects](https://reader033.fdocuments.in/reader033/viewer/2022061300/54cb2ed54a795903268b45ca/html5/thumbnails/5.jpg)
Control de Versiones
![Page 6: Open Source Tools for Java Projects](https://reader033.fdocuments.in/reader033/viewer/2022061300/54cb2ed54a795903268b45ca/html5/thumbnails/6.jpg)
Sistema Open Source para control de versiones, originalmente diseñado para reemplazar CVS.
Administra archivos y directorios al mismo tiempo.
Maneja un árbol de archivos en un repositorio central.
Subversion puede ser accedido desde cualquier punto de red la cual permite ser usado por personas en diferentes computadoras.
Plugins para IDEs
Subversion
http://subversion.tigris.org
![Page 7: Open Source Tools for Java Projects](https://reader033.fdocuments.in/reader033/viewer/2022061300/54cb2ed54a795903268b45ca/html5/thumbnails/7.jpg)
Manejo de Artefactos
![Page 8: Open Source Tools for Java Projects](https://reader033.fdocuments.in/reader033/viewer/2022061300/54cb2ed54a795903268b45ca/html5/thumbnails/8.jpg)
Herramienta de secuencia de comandos para automatizar la construcción de procesos Java.
Leguaje de secuencia de comandos basado en XML.
Puede ser extendido usando clases Java. Ejemplo buid.xml
Apache Ant
<project name=”TestProject” default=”dist” basedir=”.”> <property name=”src” location=”src”/> <property name=”build” location=”build”/> <property name=”dist” location=”dist”/> <target name=”init”> <mkdir dir=”${build}”/> </target> <target name=”compile” depends=”init” description=”compile the source ” > <javac srcdir=”${src}” destdir=”${build}”/> </target> <target name=”dist” depends=”compile” description=”generate the distribution” > <mkdir dir=”${dist}/lib”/> <jar jarfile=”${dist}/lib/MyProject-${DSTAMP}.jar” basedir=”${build}”/> </target></project>
http://ant.apache.org
![Page 9: Open Source Tools for Java Projects](https://reader033.fdocuments.in/reader033/viewer/2022061300/54cb2ed54a795903268b45ca/html5/thumbnails/9.jpg)
Herramienta Open Source para manejos de proyectos y manejo de artefactos.
Esta basado en tecnología XML llamado Project Object Model (POM)
Maven automatiza las secuencias de comando normalmente escritos en Ant.
Soporta multiples projectos incluidos con herencias, repositorio pre configurado y usa plugins extensibles
Ejemplo del archivo pom.xml
Maven
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<version>1.0</version>
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-artifact</artifactId> <version>${mavenVersion}</version>
</dependency>
</dependencies>
</project> http://maven.apache.org
![Page 10: Open Source Tools for Java Projects](https://reader033.fdocuments.in/reader033/viewer/2022061300/54cb2ed54a795903268b45ca/html5/thumbnails/10.jpg)
Ivy administra dependencias Java. Toda las dependencias pueden ser especificadas en un
archivo Ivy XML. Integración con Apache Ant Provee reportes de dependencia incluyendo reportes
graficos para ver dependencias transitivas Ejemplo ivy:
Ivy
<ivy-module version="2.0"> <info organisation="apache" module="hello-ivy"/> <dependencies> <dependency org="commons-lang" name="commons-lang" rev="2.0"/> <dependency org="commons-cli" name="commons-cli" rev="1.0"/> </dependencies></ivy-module>
http://ant.apache.org/ivy
![Page 11: Open Source Tools for Java Projects](https://reader033.fdocuments.in/reader033/viewer/2022061300/54cb2ed54a795903268b45ca/html5/thumbnails/11.jpg)
Entorno de Desarrollo Integrado(IDE)
![Page 12: Open Source Tools for Java Projects](https://reader033.fdocuments.in/reader033/viewer/2022061300/54cb2ed54a795903268b45ca/html5/thumbnails/12.jpg)
Eclipse
http://www.eclipse.org
Eclipse es una colección de proyectos Open Source.
Eclipse integra diversos módulos llamados “Plug-in”.
Es iniciado como un Java IDE, pero tambien tiene cobertura para mas lenguajes estáticos y dinamicos;
![Page 13: Open Source Tools for Java Projects](https://reader033.fdocuments.in/reader033/viewer/2022061300/54cb2ed54a795903268b45ca/html5/thumbnails/13.jpg)
Eclipse Plug-ins
http://www.eclipse.org
Mayormente los plug-ins usados son: Por defecto; WTP, Ant, JUnit, Axis, BIRT y otros. Subclipse; soporte para subversion dentro del
Eclipse IDE. Hibernate Tools; Soporte para integracion con
Hibernate. Spring IDE; Soporte para Spring Beans y
Webflow Maven; para iniciar tareas Maven y manejo de
dependencias. PMD, CheckStyle; para verificación de reglas
de compilación.
![Page 14: Open Source Tools for Java Projects](https://reader033.fdocuments.in/reader033/viewer/2022061300/54cb2ed54a795903268b45ca/html5/thumbnails/14.jpg)
Integración Continua
![Page 15: Open Source Tools for Java Projects](https://reader033.fdocuments.in/reader033/viewer/2022061300/54cb2ed54a795903268b45ca/html5/thumbnails/15.jpg)
Hudson
https://hudson.dev.java.net
Hudson es un motor extensible de Integración Continua que puede ser iniciada en un contenedor de Servlet (Tomcat, GlassFish).
Soporta herramientas SCM incluyento CVS, Subversion.
Los proyectos pueden ser ejecutados a travez de tareas programadas
![Page 16: Open Source Tools for Java Projects](https://reader033.fdocuments.in/reader033/viewer/2022061300/54cb2ed54a795903268b45ca/html5/thumbnails/16.jpg)
Sonar Plataforma que maneja la calidad del código
fuente, dedicado a analizar y medir la calidad técnica basado en estándares de reglas de compilación tales como PMD y CheckStyle.
Algunas características son: Visualiza dashboard de proyectos con
información resumida de métricas de software como Mantenibilidad, Escalabilidad, Complejidad, Portabilidad.
Provee información de Métricas de Código Provee información de evaluación de cobertura.
http://sonar.codehaus.org
![Page 17: Open Source Tools for Java Projects](https://reader033.fdocuments.in/reader033/viewer/2022061300/54cb2ed54a795903268b45ca/html5/thumbnails/17.jpg)
Pruebas de Rendimientoy
Funcionalidad
![Page 18: Open Source Tools for Java Projects](https://reader033.fdocuments.in/reader033/viewer/2022061300/54cb2ed54a795903268b45ca/html5/thumbnails/18.jpg)
JMeter Apache JMeter una aplicación 100% puro
Java, aplicación para escritorio, diseñado para cargar pruebas de funcionamiento y medir el rendimiento.
Puede ser usado para pruebas de rendimiento en fuentes estáticas y dinámicas (Files, Servlets, Perl scripts, Java Objects, Data Bases and Queries, FTP Servers y más).
Puede soportar diferentes tipos de servidores: Web, SOAP, JDBC, LDAP, JMS, Mail.
http://jakarta.apache.org/jmeter
![Page 19: Open Source Tools for Java Projects](https://reader033.fdocuments.in/reader033/viewer/2022061300/54cb2ed54a795903268b45ca/html5/thumbnails/19.jpg)
Selenium Apache JMeter una aplicación 100% puro
Java, aplicación para escritorio, diseñado para cargar pruebas de funcionamiento y medir el rendimiento.
Puede ser usado para pruebas de rendimiento en fuentes estáticas y dinámicas (Files, Servlets, Perl scripts, Java Objects, Data Bases and Queries, FTP Servers y más).
Puede soportar diferentes tipos de servidores: Web, SOAP, JDBC, LDAP, JMS, Mail.
http://jakarta.apache.org/jmeter
![Page 20: Open Source Tools for Java Projects](https://reader033.fdocuments.in/reader033/viewer/2022061300/54cb2ed54a795903268b45ca/html5/thumbnails/20.jpg)
Cómo trabaja Selenium?
![Page 21: Open Source Tools for Java Projects](https://reader033.fdocuments.in/reader033/viewer/2022061300/54cb2ed54a795903268b45ca/html5/thumbnails/21.jpg)
¿Preguntas?