SlideShare a Scribd company logo
1 of 21
Herramientas Open Source para Desarrollo de Software con Java Spring Tours UPeU 2009 José Luis Gutiérrez
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
Free and Open Source Software (FOOS) es un término general usadoparareferirnos a aplicaciones de sistemasque son soportadosporunacomunidad 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
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:
Control de Versiones
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
Manejo de Artefactos
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 <projectname=”TestProject” default=”dist” basedir=”.”>  <propertyname=”src” location=”src”/>  <propertyname=”build” location=”build”/>  <propertyname=”dist”  location=”dist”/>   <target name=”init”>    <mkdirdir=”${build}”/>  </target>   <target name=”compile” depends=”init”        description=”compile thesource ” >    <javacsrcdir=”${src}” destdir=”${build}”/>  </target>   <target name=”dist” depends=”compile”        description=”generatethedistribution” >    <mkdirdir=”${dist}/lib”/>    <jarjarfile=”${dist}/lib/MyProject-${DSTAMP}.jar” basedir=”${build}”/>  </target></project> http://ant.apache.org
Herramienta Open Source para manejos de proyectos y manejo de artefactos. Esta basado en tecnología XML llamado Project ObjectModel (POM) Maven automatiza las secuencias de comando normalmente escritos en Ant.  Soporta multiplesprojectos 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
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
Entorno de Desarrollo Integrado (IDE)
Eclipse ,[object Object]
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;  http://www.eclipse.org
Eclipse Plug-ins ,[object Object]
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.http://www.eclipse.org

More Related Content

What's hot

12 programación-orientada-a-objetos-expo1-1..2
12 programación-orientada-a-objetos-expo1-1..212 programación-orientada-a-objetos-expo1-1..2
12 programación-orientada-a-objetos-expo1-1..2zeta2015
 
Celso rios
Celso riosCelso rios
Celso riosCelso28
 
Componentes de eclipse
Componentes de eclipseComponentes de eclipse
Componentes de eclipsejaquiiMc
 
Soap y Pruebas Automatizadas
Soap y Pruebas AutomatizadasSoap y Pruebas Automatizadas
Soap y Pruebas AutomatizadasRubnFras3
 
Articulo tipos de ide y ajax control toolkit
Articulo   tipos de ide y ajax control toolkitArticulo   tipos de ide y ajax control toolkit
Articulo tipos de ide y ajax control toolkitCesar Escalante
 
Proyectoytzelyalonso (1)
Proyectoytzelyalonso (1)Proyectoytzelyalonso (1)
Proyectoytzelyalonso (1)Ytzel Hernandez
 
Ide Eclipse, Breve Guía
Ide Eclipse, Breve GuíaIde Eclipse, Breve Guía
Ide Eclipse, Breve GuíaBenedeti
 

What's hot (11)

12 programación-orientada-a-objetos-expo1-1..2
12 programación-orientada-a-objetos-expo1-1..212 programación-orientada-a-objetos-expo1-1..2
12 programación-orientada-a-objetos-expo1-1..2
 
Celso rios
Celso riosCelso rios
Celso rios
 
Manualcake
ManualcakeManualcake
Manualcake
 
Componentes de eclipse
Componentes de eclipseComponentes de eclipse
Componentes de eclipse
 
Soap y Pruebas Automatizadas
Soap y Pruebas AutomatizadasSoap y Pruebas Automatizadas
Soap y Pruebas Automatizadas
 
Intro jsf
Intro jsfIntro jsf
Intro jsf
 
Articulo tipos de ide y ajax control toolkit
Articulo   tipos de ide y ajax control toolkitArticulo   tipos de ide y ajax control toolkit
Articulo tipos de ide y ajax control toolkit
 
Colegio particular
Colegio particularColegio particular
Colegio particular
 
Proyectoytzelyalonso (1)
Proyectoytzelyalonso (1)Proyectoytzelyalonso (1)
Proyectoytzelyalonso (1)
 
Ide Eclipse, Breve Guía
Ide Eclipse, Breve GuíaIde Eclipse, Breve Guía
Ide Eclipse, Breve Guía
 
Eclipse tutorial
Eclipse tutorialEclipse tutorial
Eclipse tutorial
 

Similar to Open Source Tools for Java Projects

pruebas SOAP y las pruebas automatizadas en General Roderick Beriguete 19-071...
pruebas SOAP y las pruebas automatizadas en General Roderick Beriguete 19-071...pruebas SOAP y las pruebas automatizadas en General Roderick Beriguete 19-071...
pruebas SOAP y las pruebas automatizadas en General Roderick Beriguete 19-071...Roderickx12
 
Herramientas case[procesamiento de lenguaje analisis de p
Herramientas case[procesamiento de lenguaje   analisis de pHerramientas case[procesamiento de lenguaje   analisis de p
Herramientas case[procesamiento de lenguaje analisis de pManuel Villalta
 
Lenguajes de desarrollo web
Lenguajes de desarrollo webLenguajes de desarrollo web
Lenguajes de desarrollo webEvelioHdez
 
Tecnologías web.pptx
Tecnologías web.pptxTecnologías web.pptx
Tecnologías web.pptxGabrielCarbas
 
Probando aplicaciones AngularJS
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJSRodrigo Pimentel
 
Seminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring InsightSeminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring InsightParadigma Digital
 
herramientas tecnológicas
herramientas tecnológicasherramientas tecnológicas
herramientas tecnológicasGerardo Linares
 
Taller mobile by trustparency
Taller mobile by trustparencyTaller mobile by trustparency
Taller mobile by trustparencytrustparency
 
Desarrollo de software orientado a la web. alex vaca
Desarrollo de software orientado a la web. alex vacaDesarrollo de software orientado a la web. alex vaca
Desarrollo de software orientado a la web. alex vacaAlexa Romero
 
Programacion web-Lenguajes del lado del servidor
Programacion web-Lenguajes del lado del servidorProgramacion web-Lenguajes del lado del servidor
Programacion web-Lenguajes del lado del servidorJose Felix Moran Agusto
 
Desarrollo de aplicaciones multiplataforma 2/2
Desarrollo de aplicaciones multiplataforma 2/2Desarrollo de aplicaciones multiplataforma 2/2
Desarrollo de aplicaciones multiplataforma 2/2Ignacio Muñoz Vicente
 

Similar to Open Source Tools for Java Projects (20)

Sercicios web
Sercicios webSercicios web
Sercicios web
 
Curso introductorio a Raptor.js con Node.js
Curso introductorio a Raptor.js con Node.jsCurso introductorio a Raptor.js con Node.js
Curso introductorio a Raptor.js con Node.js
 
introducción a flutter
introducción a flutterintroducción a flutter
introducción a flutter
 
pruebas SOAP y las pruebas automatizadas en General Roderick Beriguete 19-071...
pruebas SOAP y las pruebas automatizadas en General Roderick Beriguete 19-071...pruebas SOAP y las pruebas automatizadas en General Roderick Beriguete 19-071...
pruebas SOAP y las pruebas automatizadas en General Roderick Beriguete 19-071...
 
Tutorial hacer un crud con prado
Tutorial hacer un crud con pradoTutorial hacer un crud con prado
Tutorial hacer un crud con prado
 
Herramientas case[procesamiento de lenguaje analisis de p
Herramientas case[procesamiento de lenguaje   analisis de pHerramientas case[procesamiento de lenguaje   analisis de p
Herramientas case[procesamiento de lenguaje analisis de p
 
Lenguajes de desarrollo web
Lenguajes de desarrollo webLenguajes de desarrollo web
Lenguajes de desarrollo web
 
Herramientas Digitales
Herramientas DigitalesHerramientas Digitales
Herramientas Digitales
 
Tecnologías web.pptx
Tecnologías web.pptxTecnologías web.pptx
Tecnologías web.pptx
 
Probando aplicaciones AngularJS
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJS
 
Seminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring InsightSeminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring Insight
 
Tarea 6
Tarea 6Tarea 6
Tarea 6
 
herramientas tecnológicas
herramientas tecnológicasherramientas tecnológicas
herramientas tecnológicas
 
Taller mobile by trustparency
Taller mobile by trustparencyTaller mobile by trustparency
Taller mobile by trustparency
 
Javascript
JavascriptJavascript
Javascript
 
Desarrollo de software orientado a la web. alex vaca
Desarrollo de software orientado a la web. alex vacaDesarrollo de software orientado a la web. alex vaca
Desarrollo de software orientado a la web. alex vaca
 
Java basico
Java basicoJava basico
Java basico
 
ATIX20
ATIX20ATIX20
ATIX20
 
Programacion web-Lenguajes del lado del servidor
Programacion web-Lenguajes del lado del servidorProgramacion web-Lenguajes del lado del servidor
Programacion web-Lenguajes del lado del servidor
 
Desarrollo de aplicaciones multiplataforma 2/2
Desarrollo de aplicaciones multiplataforma 2/2Desarrollo de aplicaciones multiplataforma 2/2
Desarrollo de aplicaciones multiplataforma 2/2
 

Recently uploaded

EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 

Recently uploaded (10)

EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 

Open Source Tools for Java Projects

  • 1. Herramientas Open Source para Desarrollo de Software con Java Spring Tours UPeU 2009 José Luis Gutiérrez
  • 2. 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
  • 3. Free and Open Source Software (FOOS) es un término general usadoparareferirnos a aplicaciones de sistemasque son soportadosporunacomunidad 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
  • 4. 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:
  • 6. 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
  • 8. 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 <projectname=”TestProject” default=”dist” basedir=”.”>  <propertyname=”src” location=”src”/>  <propertyname=”build” location=”build”/>  <propertyname=”dist”  location=”dist”/>   <target name=”init”>    <mkdirdir=”${build}”/>  </target>   <target name=”compile” depends=”init”        description=”compile thesource ” >    <javacsrcdir=”${src}” destdir=”${build}”/>  </target>   <target name=”dist” depends=”compile”        description=”generatethedistribution” >    <mkdirdir=”${dist}/lib”/>    <jarjarfile=”${dist}/lib/MyProject-${DSTAMP}.jar” basedir=”${build}”/>  </target></project> http://ant.apache.org
  • 9. Herramienta Open Source para manejos de proyectos y manejo de artefactos. Esta basado en tecnología XML llamado Project ObjectModel (POM) Maven automatiza las secuencias de comando normalmente escritos en Ant. Soporta multiplesprojectos 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
  • 10. 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
  • 11. Entorno de Desarrollo Integrado (IDE)
  • 12.
  • 13. Eclipse integra diversos módulos llamados “Plug-in”.
  • 14. Es iniciado como un Java IDE, pero tambien tiene cobertura para mas lenguajes estáticos y dinamicos; http://www.eclipse.org
  • 15.
  • 16. Por defecto;WTP, Ant, JUnit, Axis, BIRT y otros.
  • 17. Subclipse; soporte para subversion dentro del Eclipse IDE.
  • 18. Hibernate Tools; Soporte para integracion con Hibernate.
  • 19. Spring IDE; Soporte para Spring Beans y Webflow
  • 20. Maven; para iniciar tareas Maven y manejo de dependencias.
  • 21. PMD, CheckStyle; para verificación de reglas de compilación.http://www.eclipse.org
  • 23.
  • 24. Soporta herramientas SCM incluyento CVS, Subversion.
  • 25. Los proyectos pueden ser ejecutados a travez de tareas programadashttps://hudson.dev.java.net
  • 26.
  • 28. Visualiza dashboard de proyectos con información resumida de métricas de software como Mantenibilidad, Escalabilidad, Complejidad, Portabilidad.
  • 29. Provee información de Métricas de Código
  • 30. Provee información de evaluación de cobertura.http://sonar.codehaus.org
  • 31. Pruebas de Rendimiento y Funcionalidad
  • 32.
  • 33. 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).
  • 34. Puede soportar diferentes tipos de servidores: Web, SOAP, JDBC, LDAP, JMS, Mail.http://jakarta.apache.org/jmeter
  • 35.
  • 36. 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).
  • 37. Puede soportar diferentes tipos de servidores: Web, SOAP, JDBC, LDAP, JMS, Mail.http://jakarta.apache.org/jmeter