Maven es una herramienta para la gestión y construcción de proyectos Java creada por Jason Van Zyl. Permite describir el proyecto, sus dependencias y configuración a través de un archivo XML llamado pom.xml. Maven usa repositorios para descargar dependencias y gestiona el ciclo de vida del proyecto a través de fases como compilación, pruebas y empaquetado.
Maven es un framework para gestionar proyectos de software que permite compilar, empaquetar y ejecutar pruebas. Los proyectos de Maven se definen mediante un archivo POM que describe metadatos como dependencias, plugins y configuración. Maven usa "goals" o comandos como mvn compile para compilar y mvn package para empaquetar el proyecto en un archivo JAR.
Este documento describe cómo configurar un entorno de integración continua utilizando las herramientas Jenkins, Subversion y Sonar. Explica cómo instalar y configurar Subversion para almacenar el código fuente, Jenkins para automatizar las compilaciones, e integra el plugin Sonar para realizar análisis de calidad del código después de cada compilación. El objetivo final es permitir prácticas de inspección y integración continua para identificar errores de forma rápida y mantener un build estable.
Este documento describe las herramientas de gestión de software utilizadas por Beeva, incluyendo Maven para control de dependencias, Jenkins para integración continua, y Subversion para control de versiones. Explica conceptos como versionado, uso de versiones estables y en desarrollo, y estructura de proyectos en el repositorio.
Este documento describe cómo automatizar procesos de desarrollo de software usando el framework Maven. Maven permite automatizar el ciclo completo de desarrollo incluyendo validación, compilación, pruebas, empaquetado, integración, verificación, instalación y despliegue. También permite gestionar la configuración del proyecto a través de artefactos como documentos, código fuente y otros. El documento incluye una serie de talleres para instalar y configurar Maven e implementar sus funcionalidades para automatizar las etapas
Maven es una herramienta para gestionar y construir proyectos Java. Utiliza un modelo de configuración basado en XML llamado Project Object Model (POM) para describir el proyecto, sus dependencias y orden de construcción. Maven provee acceso a repositorios con versiones de proyectos Open Source en Java y permite subir artefactos al repositorio luego de construir la aplicación.
atSistemas - Presentación Integración Continua AUG Barcelona enero13atSistemas
Este documento describe el proceso de integración continua. Explica que la integración continua permite compilar y probar el código automáticamente cada vez que hay cambios, lo que ayuda a detectar errores temprano. Luego detalla las etapas del procedimiento, incluyendo que los desarrolladores compilan y prueban su código localmente antes de confirmarlo, y luego la herramienta de integración continua compila y prueba el código en un servidor para verificar que no hay errores. Finalmente, presenta un caso práctico donde se
El documento describe las herramientas Selenium IDE y Selenium RC que permiten automatizar pruebas en sitios web. Selenium IDE graba secuencias de navegación para crear casos de prueba que luego son exportados a diferentes lenguajes de programación y ejecutados por Selenium RC en un navegador. El proceso involucra grabar y exportar casos de prueba con Selenium IDE, enviar órdenes a Selenium RC a través de HTTP, y ejecutar las órdenes en un navegador.
Maven es un framework para gestionar proyectos de software que permite compilar, empaquetar y ejecutar pruebas. Los proyectos de Maven se definen mediante un archivo POM que describe metadatos como dependencias, plugins y configuración. Maven usa "goals" o comandos como mvn compile para compilar y mvn package para empaquetar el proyecto en un archivo JAR.
Este documento describe cómo configurar un entorno de integración continua utilizando las herramientas Jenkins, Subversion y Sonar. Explica cómo instalar y configurar Subversion para almacenar el código fuente, Jenkins para automatizar las compilaciones, e integra el plugin Sonar para realizar análisis de calidad del código después de cada compilación. El objetivo final es permitir prácticas de inspección y integración continua para identificar errores de forma rápida y mantener un build estable.
Este documento describe las herramientas de gestión de software utilizadas por Beeva, incluyendo Maven para control de dependencias, Jenkins para integración continua, y Subversion para control de versiones. Explica conceptos como versionado, uso de versiones estables y en desarrollo, y estructura de proyectos en el repositorio.
Este documento describe cómo automatizar procesos de desarrollo de software usando el framework Maven. Maven permite automatizar el ciclo completo de desarrollo incluyendo validación, compilación, pruebas, empaquetado, integración, verificación, instalación y despliegue. También permite gestionar la configuración del proyecto a través de artefactos como documentos, código fuente y otros. El documento incluye una serie de talleres para instalar y configurar Maven e implementar sus funcionalidades para automatizar las etapas
Maven es una herramienta para gestionar y construir proyectos Java. Utiliza un modelo de configuración basado en XML llamado Project Object Model (POM) para describir el proyecto, sus dependencias y orden de construcción. Maven provee acceso a repositorios con versiones de proyectos Open Source en Java y permite subir artefactos al repositorio luego de construir la aplicación.
atSistemas - Presentación Integración Continua AUG Barcelona enero13atSistemas
Este documento describe el proceso de integración continua. Explica que la integración continua permite compilar y probar el código automáticamente cada vez que hay cambios, lo que ayuda a detectar errores temprano. Luego detalla las etapas del procedimiento, incluyendo que los desarrolladores compilan y prueban su código localmente antes de confirmarlo, y luego la herramienta de integración continua compila y prueba el código en un servidor para verificar que no hay errores. Finalmente, presenta un caso práctico donde se
El documento describe las herramientas Selenium IDE y Selenium RC que permiten automatizar pruebas en sitios web. Selenium IDE graba secuencias de navegación para crear casos de prueba que luego son exportados a diferentes lenguajes de programación y ejecutados por Selenium RC en un navegador. El proceso involucra grabar y exportar casos de prueba con Selenium IDE, enviar órdenes a Selenium RC a través de HTTP, y ejecutar las órdenes en un navegador.
Este documento introduce los conceptos de integración continua y describe cómo configurar un entorno de integración continua utilizando las herramientas Jenkins, Sonar y Maven. Explica qué es cada herramienta, cómo instalarlas y configurarlas, y demuestra su uso conjunto mediante un ejemplo de integración continua para un proyecto de gestión de alumnos alojado en GitHub.
Este documento presenta una introducción a Docker, incluyendo: qué es Docker y sus principales componentes como imágenes, contenedores y Dockerfile; la instalación de Docker; consideraciones para trabajar con Docker como mantener los contenedores efímeros y evitar que crezcan; el uso de volúmenes para almacenar datos de forma persistente; y Docker Compose, una herramienta para definir y ejecutar aplicaciones compuestas por múltiples contenedores.
Este documento define Selenium y describe sus componentes principales. Selenium es un entorno de pruebas para aplicaciones web que permite grabar y reproducir pruebas a través de Selenium IDE. Incluye un lenguaje de dominio específico llamado Selanese para escribir pruebas en varios lenguajes de programación. Los principales componentes de Selenium son Selenium IDE, Selenium Client API, Selenium Remote Control y Selenium WebDriver.
Jenkins - don't break my builds! is an introductory talk in spanish I gave at the PHP Conference 2013 in Argentina. I spoke about how I met Contintinuous Integration at Google in 2005, and how my experience has been since. I also gave tips on how to start using it in projects that have no "integration" to speak of (such as most PHP projects).
Con Selenium 2.0 y Webdriver la ejecución de TDD y BDD se ve beneficiado por las fortalezas de ambos proyectos.
Introduciremos el API Java basado en PageObjects y veremos ejemplos de creación de pruebas cross-browser para un interfaz de aplicación web con Ajax
El documento habla sobre la integración continua, que consiste en compilar y ejecutar pruebas de forma automática y frecuente para detectar fallos tempranamente. Jenkins es una herramienta de integración continua de código abierto que automatiza el proceso de compilar, probar y implementar software. Con Jenkins, cuando se realizan cambios en el repositorio del proyecto, se descarga automáticamente, compila y ejecutan las pruebas para verificar que no se han introducido errores.
Desplegando código con Phing, PHPunit, Coder y JenkinsLa Drupalera
Este manual va dirigido a personas con conocimientos de despliegue entre entornos, así como con nociones básicas de programación (orientado a PHP), especialmente del CMS Drupal (en su versión 7 u 8), que quieran automatizar ciertas tareas rutinarias y dar un paso más allá en el despliegue de entornos ejecutando diversas pruebas de calidad a nuestro código antes de iniciar el proceso de deployment final. Con este procedimiento no solo automatizamos y aseguramos nuestros despliegues, sino que garantizamos la integridad y calidad del código desde el primer momento de vida de nuestro desarrollo de software.
1º Parte: http://www.ladrupalera.com/drupal/desarrollo/drupal8/desplegando-codigo-con-jenkins-phing-coder-y-phpunit-parte-i
Docker y Kubernetes por partida doble. Sábado 19 con dos charlas sobre Docker y Kubernetes impartidas por Adrián García Casas y Javier Provecho respectivamente en la Agencia de Innovación de Valladolid
Este documento describe Spring Roo, una herramienta de desarrollo ágil para crear aplicaciones Spring. Spring Roo permite generar rápidamente una aplicación base incluyendo frameworks populares como Spring MVC, GWT y JSF. También cubre temas como el acceso a datos mediante repositorios JPA, consultas personalizadas, relaciones entre entidades y la creación de un proyecto Roo.
Simple y breve introducción a Apache Ant: herramienta usada en programación para la realización de tareas mecánicas y repetitivas, normalmente durante la fase de compilación y construcción (build).
Este documento presenta una introducción a Spring Boot. Explica que Spring Boot simplifica el desarrollo de aplicaciones Spring mediante características como configuración automática, servidores embebidos y empaquetado en JAR. También cubre temas como pruebas, desarrollo web, logging, Actuator y empaquetamiento. El objetivo de Spring Boot es acelerar y facilitar la creación de aplicaciones Spring, tanto web como autónomas.
Desenredando el toolchain de JavascriptSoftware Guru
El documento habla sobre las herramientas utilizadas en el desarrollo de aplicaciones web con JavaScript en 2017, incluyendo lenguajes como JavaScript, CoffeeScript y TypeScript, frameworks como Angular y React, herramientas como Webpack, Babel y npm, y conceptos como el toolchain y el manejo de paquetes. Explica que el ecosistema de JavaScript sigue evolucionando rápidamente y que las nuevas herramientas permiten crear aplicaciones más complejas, aunque algunas siguen siendo complicadas.
Este documento proporciona una guía práctica sobre el uso de Vagrant y Docker. Explica qué son Vagrant, Docker y VirtualBox, e incluye instrucciones detalladas sobre cómo instalarlos y usar sus comandos y características básicas como levantar máquinas virtuales, compartir carpetas, publicar puertos y crear e implementar contenedores de Docker personalizados.
El documento presenta información sobre Pablo Godel, un desarrollador argentino viviendo en Estados Unidos desde 1999. Fundó la primera lista de discusión de PHP de habla hispana y la compañía ServerGrove. Luego, discute sobre el despliegue de aplicaciones PHP, incluyendo metas, desafíos comunes y ejemplos de herramientas como Capistrano.
Estas son las slides que utilicé en la charla de la reunión de Septiembre de 2014 del GDG de Madrid.
Desde hace tiempo, los desarrolladores venimos utilizando scripts para automatizar y facilitarnos la construcción automática de nuestros proyectos.
En los intentos de estandarización de esos Scripts, la primera herramienta fue Ant, muy flexible, pero muy tediosa por lo verboso y por que siempre había que empezar desde cero.
La llegada de Maven supuso una cierta convención en las tareas y fases de construcción de un proyecto. Pero también incluía una tremenda facilidad para la gestión de librerías y dependencias. A cambio, impone una cierta rigidez en la estructura del script.
Gradle ha venido a buscar lo mejor de los dos mundos: la fexibilidad de Ant, la convención de Maven, la gestión de librerías de Ivy o Mvn.... y todo ello con un lenguaje de scripting más parecido al código que al XML en el que se basan las dos precedesoras.
Desde hace meses, Google ya ha apostado por Gradle como sistema de construcción de proyectos para Android en su Android Studio.
En esta charla, haremos una introducción a Gradle como herramienta de construcción de proyectos.
Este documento presenta una introducción al ecosistema Docker. Docker es un proyecto de código abierto que permite empaquetar aplicaciones en contenedores ligeros que pueden ejecutarse en cualquier lugar. El documento describe las principales características de Docker como su comunidad de más de 200,000 usuarios, su compañía patrocinadora Docker Inc, y los principales componentes de su ecosistema como herramientas de desarrollo, sistemas operativos, gestión de configuraciones y más.
Este documento describe cómo analizar documentos XML usando las APIs SAX y DOM en Java. Explica cómo construir analizadores SAX simples y cómo usar los eventos SAX para procesar documentos XML. También muestra cómo usar DOM para recorrer y extraer información de documentos XML. Finalmente, introduce la biblioteca JDOM para crear y manipular árboles DOM en Java.
Este documento describe cómo crear imágenes de Docker efectivas. Explica qué son las imágenes de Docker y los contenedores, cómo funcionan los layers, el uso de Dockerfile y Docker Registry. También cubre buenas prácticas como usar multi-stage builds, evitar instalar paquetes directamente y nombrar los pasos de construcción.
Orquestadores para las cuatro estaciones (swarm, kubernetes, mesos y rancher)Adrian Garcia Casas
Slides de como orquestas despliegues con Docker Swarm y Rancher. Ejemplo sencillos de cómo hacerlo y disponer de persistencia de datos en los casos que nos interese.
Casi todos los desarrolladores, han oído hablar de Docker en mayor o menor medida,pero no tantos han podido ponerlo en práctica.
Hacemos un repaso de los conceptos principales relacionados con docker, aplicando los casos de uso típicos con contenedores, siempre desde la perspectiva del programador.
* Docker como herramienta de ayuda a la programación
* Docker como sistema de empaquetado de nuestras apps.
* Docker como entorno de despliegue (docker-compose).
Este documento presenta la biografía y experiencia de Rodrigo Branas, incluyendo sus certificaciones y experiencia laboral en empresas como EDS, HP y Citibank. También introduce el framework Maven, explicando su propósito de gestionar la configuración, compilación y dependencias de proyectos de software, y resumiendo los pasos básicos para instalar Maven e iniciar un nuevo proyecto.
Este documento describe cómo crear módulos con Maven. Explica que se creará un proyecto padre con cuatro módulos: un módulo modelo con lógica de negocio, y módulos web, móviles y web service. Detalla los pasos para crear el POM padre, y luego los POM hijos para cada módulo usando arquetipos de Maven.
Este documento introduce los conceptos de integración continua y describe cómo configurar un entorno de integración continua utilizando las herramientas Jenkins, Sonar y Maven. Explica qué es cada herramienta, cómo instalarlas y configurarlas, y demuestra su uso conjunto mediante un ejemplo de integración continua para un proyecto de gestión de alumnos alojado en GitHub.
Este documento presenta una introducción a Docker, incluyendo: qué es Docker y sus principales componentes como imágenes, contenedores y Dockerfile; la instalación de Docker; consideraciones para trabajar con Docker como mantener los contenedores efímeros y evitar que crezcan; el uso de volúmenes para almacenar datos de forma persistente; y Docker Compose, una herramienta para definir y ejecutar aplicaciones compuestas por múltiples contenedores.
Este documento define Selenium y describe sus componentes principales. Selenium es un entorno de pruebas para aplicaciones web que permite grabar y reproducir pruebas a través de Selenium IDE. Incluye un lenguaje de dominio específico llamado Selanese para escribir pruebas en varios lenguajes de programación. Los principales componentes de Selenium son Selenium IDE, Selenium Client API, Selenium Remote Control y Selenium WebDriver.
Jenkins - don't break my builds! is an introductory talk in spanish I gave at the PHP Conference 2013 in Argentina. I spoke about how I met Contintinuous Integration at Google in 2005, and how my experience has been since. I also gave tips on how to start using it in projects that have no "integration" to speak of (such as most PHP projects).
Con Selenium 2.0 y Webdriver la ejecución de TDD y BDD se ve beneficiado por las fortalezas de ambos proyectos.
Introduciremos el API Java basado en PageObjects y veremos ejemplos de creación de pruebas cross-browser para un interfaz de aplicación web con Ajax
El documento habla sobre la integración continua, que consiste en compilar y ejecutar pruebas de forma automática y frecuente para detectar fallos tempranamente. Jenkins es una herramienta de integración continua de código abierto que automatiza el proceso de compilar, probar y implementar software. Con Jenkins, cuando se realizan cambios en el repositorio del proyecto, se descarga automáticamente, compila y ejecutan las pruebas para verificar que no se han introducido errores.
Desplegando código con Phing, PHPunit, Coder y JenkinsLa Drupalera
Este manual va dirigido a personas con conocimientos de despliegue entre entornos, así como con nociones básicas de programación (orientado a PHP), especialmente del CMS Drupal (en su versión 7 u 8), que quieran automatizar ciertas tareas rutinarias y dar un paso más allá en el despliegue de entornos ejecutando diversas pruebas de calidad a nuestro código antes de iniciar el proceso de deployment final. Con este procedimiento no solo automatizamos y aseguramos nuestros despliegues, sino que garantizamos la integridad y calidad del código desde el primer momento de vida de nuestro desarrollo de software.
1º Parte: http://www.ladrupalera.com/drupal/desarrollo/drupal8/desplegando-codigo-con-jenkins-phing-coder-y-phpunit-parte-i
Docker y Kubernetes por partida doble. Sábado 19 con dos charlas sobre Docker y Kubernetes impartidas por Adrián García Casas y Javier Provecho respectivamente en la Agencia de Innovación de Valladolid
Este documento describe Spring Roo, una herramienta de desarrollo ágil para crear aplicaciones Spring. Spring Roo permite generar rápidamente una aplicación base incluyendo frameworks populares como Spring MVC, GWT y JSF. También cubre temas como el acceso a datos mediante repositorios JPA, consultas personalizadas, relaciones entre entidades y la creación de un proyecto Roo.
Simple y breve introducción a Apache Ant: herramienta usada en programación para la realización de tareas mecánicas y repetitivas, normalmente durante la fase de compilación y construcción (build).
Este documento presenta una introducción a Spring Boot. Explica que Spring Boot simplifica el desarrollo de aplicaciones Spring mediante características como configuración automática, servidores embebidos y empaquetado en JAR. También cubre temas como pruebas, desarrollo web, logging, Actuator y empaquetamiento. El objetivo de Spring Boot es acelerar y facilitar la creación de aplicaciones Spring, tanto web como autónomas.
Desenredando el toolchain de JavascriptSoftware Guru
El documento habla sobre las herramientas utilizadas en el desarrollo de aplicaciones web con JavaScript en 2017, incluyendo lenguajes como JavaScript, CoffeeScript y TypeScript, frameworks como Angular y React, herramientas como Webpack, Babel y npm, y conceptos como el toolchain y el manejo de paquetes. Explica que el ecosistema de JavaScript sigue evolucionando rápidamente y que las nuevas herramientas permiten crear aplicaciones más complejas, aunque algunas siguen siendo complicadas.
Este documento proporciona una guía práctica sobre el uso de Vagrant y Docker. Explica qué son Vagrant, Docker y VirtualBox, e incluye instrucciones detalladas sobre cómo instalarlos y usar sus comandos y características básicas como levantar máquinas virtuales, compartir carpetas, publicar puertos y crear e implementar contenedores de Docker personalizados.
El documento presenta información sobre Pablo Godel, un desarrollador argentino viviendo en Estados Unidos desde 1999. Fundó la primera lista de discusión de PHP de habla hispana y la compañía ServerGrove. Luego, discute sobre el despliegue de aplicaciones PHP, incluyendo metas, desafíos comunes y ejemplos de herramientas como Capistrano.
Estas son las slides que utilicé en la charla de la reunión de Septiembre de 2014 del GDG de Madrid.
Desde hace tiempo, los desarrolladores venimos utilizando scripts para automatizar y facilitarnos la construcción automática de nuestros proyectos.
En los intentos de estandarización de esos Scripts, la primera herramienta fue Ant, muy flexible, pero muy tediosa por lo verboso y por que siempre había que empezar desde cero.
La llegada de Maven supuso una cierta convención en las tareas y fases de construcción de un proyecto. Pero también incluía una tremenda facilidad para la gestión de librerías y dependencias. A cambio, impone una cierta rigidez en la estructura del script.
Gradle ha venido a buscar lo mejor de los dos mundos: la fexibilidad de Ant, la convención de Maven, la gestión de librerías de Ivy o Mvn.... y todo ello con un lenguaje de scripting más parecido al código que al XML en el que se basan las dos precedesoras.
Desde hace meses, Google ya ha apostado por Gradle como sistema de construcción de proyectos para Android en su Android Studio.
En esta charla, haremos una introducción a Gradle como herramienta de construcción de proyectos.
Este documento presenta una introducción al ecosistema Docker. Docker es un proyecto de código abierto que permite empaquetar aplicaciones en contenedores ligeros que pueden ejecutarse en cualquier lugar. El documento describe las principales características de Docker como su comunidad de más de 200,000 usuarios, su compañía patrocinadora Docker Inc, y los principales componentes de su ecosistema como herramientas de desarrollo, sistemas operativos, gestión de configuraciones y más.
Este documento describe cómo analizar documentos XML usando las APIs SAX y DOM en Java. Explica cómo construir analizadores SAX simples y cómo usar los eventos SAX para procesar documentos XML. También muestra cómo usar DOM para recorrer y extraer información de documentos XML. Finalmente, introduce la biblioteca JDOM para crear y manipular árboles DOM en Java.
Este documento describe cómo crear imágenes de Docker efectivas. Explica qué son las imágenes de Docker y los contenedores, cómo funcionan los layers, el uso de Dockerfile y Docker Registry. También cubre buenas prácticas como usar multi-stage builds, evitar instalar paquetes directamente y nombrar los pasos de construcción.
Orquestadores para las cuatro estaciones (swarm, kubernetes, mesos y rancher)Adrian Garcia Casas
Slides de como orquestas despliegues con Docker Swarm y Rancher. Ejemplo sencillos de cómo hacerlo y disponer de persistencia de datos en los casos que nos interese.
Casi todos los desarrolladores, han oído hablar de Docker en mayor o menor medida,pero no tantos han podido ponerlo en práctica.
Hacemos un repaso de los conceptos principales relacionados con docker, aplicando los casos de uso típicos con contenedores, siempre desde la perspectiva del programador.
* Docker como herramienta de ayuda a la programación
* Docker como sistema de empaquetado de nuestras apps.
* Docker como entorno de despliegue (docker-compose).
Este documento presenta la biografía y experiencia de Rodrigo Branas, incluyendo sus certificaciones y experiencia laboral en empresas como EDS, HP y Citibank. También introduce el framework Maven, explicando su propósito de gestionar la configuración, compilación y dependencias de proyectos de software, y resumiendo los pasos básicos para instalar Maven e iniciar un nuevo proyecto.
Este documento describe cómo crear módulos con Maven. Explica que se creará un proyecto padre con cuatro módulos: un módulo modelo con lógica de negocio, y módulos web, móviles y web service. Detalla los pasos para crear el POM padre, y luego los POM hijos para cada módulo usando arquetipos de Maven.
GIT es un sistema de control de versiones distribuido, gratuito y de código abierto. Permite registrar los cambios realizados en un proyecto de software a lo largo del tiempo de forma que se puedan recuperar versiones específicas más adelante. El documento explica cómo instalar GIT en Eclipse, realizar commits iniciales de un proyecto, hacer cambios y registrarlos, deshacer cambios, y mostrar diferencias entre versiones.
El documento describe el proceso de modelado de dominios para la resolución de problemas. Explica que se deben identificar las entidades o elementos clave del dominio, definir sus características y relaciones. Proporciona un ejemplo de entidades (persona, vivienda, municipio) para un censo y cómo se representan las entidades y relaciones en notación UML. Finalmente, presenta un ejemplo de dominio para un sistema de registro de vehículos en un estacionamiento.
Este documento describe las listas y su representación y gestión en Java. Explica que una lista es un conjunto de elementos del mismo tipo y puede estar vacía. Muestra los casos de uso de una clase ListaSimple con métodos para agregar y eliminar nodos al inicio, medio y final de la lista. También incluye diagramas de clases y código Java para implementar una lista simple enlazada con nodos.
Este documento describe diferentes tipos de pruebas como pruebas de aceptación, estrés, funcionales, integración y unitarias. Luego se enfoca en las pruebas unitarias explicando los pasos para crearlas, sus ventajas y el framework JUnit para realizar pruebas unitarias en Java de manera estándar. Finalmente, presenta ejemplos de cómo ejecutar pruebas unitarias con JUnit en Eclipse y Maven.
El documento describe un requerimiento funcional para un programa de registro de estudiantes para el Instituto Colombo-Americano. El programa debe solicitar el número de cédula, nombre, apellido y teléfono de cada estudiante y agregar el registro. Además, el programa debe cargarse en un navegador web en menos de dos segundos.
El documento habla sobre el análisis y los requerimientos para resolver un problema. Explica que el análisis es la primera etapa y más importante para entender el problema. Luego describe que el analista descompone el análisis en requerimientos funcionales, dominio y no funcionales para brindar una solución al cliente.
This document provides an overview and introduction to using the version control system Git. It discusses key Git concepts like distributed version control, cloning repositories, and the typical local and remote workflows. The document covers setting up Git, creating and cloning repositories, editing and committing changes locally, branching, merging, tagging, and working with remote repositories by pushing and pulling changes.
Silverlight is a cross-browser plugin that allows for rich interactive applications and media experiences using .NET. It provides a consistent experience across Mac and Windows with a simple installation process. Silverlight applications can be developed with Visual Studio or Expression Blend using XAML and provide rich controls, media capabilities, and integration with web technologies.
This document discusses how to deploy and publish a web service using DISCO files. It explains that DISCO files describe the location of web services and can be generated automatically or created as static or dynamic XML files. The document also provides steps for creating a simple web service without using development tools and shows how to compile and deploy the web service DLL file.
JAX-RS 2.0: RESTful Java on Steroids, by Aron GuptaCodemotion
The purpose of this technical session is to elaborate on all the new features being discussed in JAX-RS 2.0. The most commonly requested feature for JAX-RS 2.0 is a client API. Client APIs can range from low-level, just above HttpURLConnection, to high-level, often including support for IoC and hyperlinking. Other features this presentation covers are hypermedia, MVC, validation, interceptors, improved content negotiation, and better integration with other specifications such as JSR 330.
The presentation provides overview of JAX-RS 2.0 and the cool new things that come with it. It also provides an introduction to OData which is a protocol proposed by Microsoft for data interchange.
El documento presenta una introducción a Gradle, una herramienta de construcción de software para Java. Explica que Gradle combina la flexibilidad de Ant con las convenciones de Maven, y que utiliza Groovy en lugar de XML. También compara Gradle con Maven y Ant en áreas como la configuración, el ciclo de vida, el scripting, las dependencias y el soporte multi-proyecto. Finalmente, proporciona consejos sobre cómo comenzar a usar Gradle.
This document provides an overview of how to configure Data Access Objects (DAOs) using Spring Framework to interact with a database. It discusses the three main steps:
1. Configuring the data source in Spring's XML context file using driver-based, JNDI, or pooled data sources.
2. Configuring Spring's JDBC templates like JdbcTemplate, NamedParameterJdbcTemplate, and SimpleJdbcTemplate to execute SQL queries and statements.
3. Defining a custom DAO class to encapsulate data access logic and leverage the configured JDBC templates.
It then dives deeper into each data source type and provides examples of their XML configuration. It also notes that
This document discusses different build tools including Ant, Maven, and Gradle. It provides examples of build files for each tool and compares their characteristics such as flexibility, conventions, dependencies management, and extensibility. Ant is described as very flexible but verbose and complex to write and maintain. Maven enforces conventions but has a rigid structure. Gradle combines flexibility, conventions, and extensibility through its Groovy DSL.
This document provides an overview of REST and JAX-RS. It defines REST as an architectural style using HTTP for data communication. Key REST fundamentals are discussed such as resources with unique IDs, standard HTTP methods, and hyperlinks to relate resources. The Richardson Maturity Model for REST APIs is introduced with levels ranging from using HTTP as a simple transport to fully leveraging hypermedia. JAX-RS is defined as a Java annotation-based framework for developing RESTful web services, with annotations explained for defining resources, request parameters, responses, and error handling. The document also covers REST concepts like pagination, authentication, and linking resources.
Este documento introduce Ganglia, un sistema de monitoreo de métricas de red y servidores de código abierto. Explica que Ganglia consta de tres componentes principales (Gmetad, Gmond y Ganglia Web) y cómo cada uno funciona. También describe características clave como el soporte para SFlow y cómo Ganglia puede monitorear infraestructura virtual y dispositivos de red de varios proveedores. Por último, proporciona enlaces a recursos adicionales sobre la instalación y configuración de Ganglia.
BDD: Descubriendo qué requiere realmente tu clienteJorge Gamba
El documento describe el enfoque de Behavior-Driven Development (BDD) para el desarrollo de software. Explica que BDD se centra en implementar aplicaciones describiendo su comportamiento desde la perspectiva de las partes interesadas. Luego detalla las etapas del ciclo BDD, incluida la descomposición de historias de usuario en escenarios de prueba que describen los criterios de aceptación.
Maven es una herramienta para gestionar y construir proyectos Java. Utiliza un modelo de configuración basado en XML llamado Project Object Model (POM) para describir el proyecto, sus dependencias y orden de construcción. Maven provee acceso a repositorios para descargar dependencias y subir artefactos luego de compilar el proyecto.
Subversion es un sistema de control de versiones diseñado para reemplazar a CVS. A diferencia de CVS, Subversion asigna un único número de versión a todo el repositorio. Subversion permite el acceso al repositorio a través de redes para permitir la colaboración de múltiples usuarios. Maven, Ant, JUnit y otras herramientas son descritas brevemente.
Objeto de conferencia
Curso de capacitación (Alerta)
Contenidos del curso:
<b>Aspectos técnicos de DSpace</b>
- Arquitectura
- Modelo de datos
- Estructura del proyecto
- Maven como gestor de dependencias
- Comando <i>dspace</i>
- Introducción a XMLUI
<b>Descripción de DSpace</b>
- Introducción
- Servicios básicos
- Gestión de usuarios
- Envío de items y proceso de revisión
- Menú contextual
- Menú administrativo
Curso de capacitación avanzada en DSpace brindado para miembros del Consorcio de Universidades <a>Alerta al Conocimiento</a> (Chile).
Ver registro completo en: http://sedici.unlp.edu.ar/handle/10915/25304
Este documento describe Maven, una herramienta de gestión de proyectos de Java. Originalmente se creó Maven para simplificar los procesos de construcción de proyectos Jakarta mediante la estandarización de la construcción de proyectos, la definición clara de los componentes de un proyecto, y la forma fácil de publicar y compartir archivos JAR entre proyectos. Actualmente, Maven se puede utilizar para crear, gestionar y comprender cualquier proyecto basado en Java.
El documento describe los requisitos y desafíos de gestionar el ciclo de vida de una aplicación con múltiples desarrolladores, librerías y dependencias. Maven puede ayudar al estandarizar y facilitar el proceso de compilación mediante la automatización de tareas como la compilación, pruebas, empaquetado y generación de documentación de manera uniforme y gestionando las dependencias entre librerías.
Este documento introduce Maven, una herramienta para gestionar proyectos de software. Explica cómo instalar Maven, configurar variables de entorno y agregarlo a NetBeans. También cubre temas como dependencias, repositorios Maven y cómo encontrar e incluir artefactos en un proyecto mediante el archivo POM.xml. Finalmente, proporciona enlaces a videos demostrativos sobre el uso de Maven para construir un proyecto de demostración.
Subversion es un sistema de control de versiones que mantiene un registro de todos los cambios en los archivos de un proyecto, permitiendo que varios desarrolladores colaboren. Usa una arquitectura cliente-servidor donde los clientes pueden acceder y actualizar copias del proyecto almacenado en un repositorio central. Ofrece características como historial de cambios, comparación de versiones, y ramificaciones/etiquetas de proyectos.
Netbeans es una plataforma de desarrollo Java de código abierto que ofrece una arquitectura rica para crear aplicaciones. Usa una plataforma RCP que proporciona APIs para extenderla mediante módulos, los cuales son paquetes de código que se pueden instalar dinámicamente. El IDE de Netbeans se construye sobre esta plataforma mediante módulos específicos para proporcionar funcionalidades de desarrollo. Los módulos se registran en el sistema de archivos de Netbeans y se comunican entre sí a
El documento presenta una introducción al curso "Test Automation using Selenium WebDriver & Grid" impartido por Luis Ruiz. Se explica brevemente qué es Selenium, sus componentes principales como WebDriver, IDE y Grid. También se describen los objetivos del curso, la configuración de dependencias de Maven y una práctica sobre la jerarquía y métodos de WebDriver.
Este documento presenta una introducción a la implementación de una aplicación de carrito de compras utilizando Java Enterprise Edition (JEE) con PostgreSQL, Eclipse, Hibernate, EJB3 y Struts en el servidor JBoss. Se explica cómo configurar el entorno de desarrollo, incluida la instalación de las herramientas, la base de datos, los plugins y el servidor de aplicaciones. Luego, se muestra un ejemplo práctico de una aplicación JEE completa con la creación de entidades, sesiones y pruebas de los componentes EJB. Finalmente
Este documento resume las tecnologías y estructura del proyecto Umatest. Explica que se usó el framework Laravel con PHP y MySQL. Describe la estructura de carpetas incluyendo .env, vendor, storage y resources. También detalla las 14 colecciones de datos que componen el sistema.
JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2 César Pajares
El documento describe los pasos para instalar JBoss AS 5.1.0, incluyendo la descarga e instalación de Java y JBoss, la configuración de las variables de entorno, y la ejecución inicial de JBoss para verificar la instalación. También cubre temas como la administración de JBoss a través de la consola y cómo acceder de forma remota, y proporciona información sobre cómo desinstalar JBoss y las herramientas Ant y Maven.
El documento describe el framework KohanaPHP, un framework PHP ligero y flexible para desarrollar aplicaciones web. Explica que se basa en CodeIgniter y mejora el uso de objetos en PHP5. Resume las características principales como su diseño orientado a objetos, compatibilidad con UTF-8 y patrón MVC. También describe brevemente la instalación, directorios, URLs, controladores y librerías.
Spring es un framework ligero para el desarrollo de aplicaciones Java que proporciona soporte para todas las capas de una aplicación. Ofrece inyección de dependencias, programación orientada a aspectos y abstracciones para el acceso a datos y servicios web. Spring simplifica el desarrollo mediante la eliminación de código boilerplate y la integración flexible con otros frameworks y tecnologías.
Symfony-Community: Introducción a Symfony Frameworkexcedesoft
El seminario está dirigido a aquellos estudiantes, profesionales, universidades y empresas dedicados a la industria de software que deseen aprender sobre la iniciación de una aplicación Symfony. Se demostrá como descargar e instalar el framework, configuración inicial y conceptos necesarios para el desarrollo de una aplicación web simple.
Subversion es un sistema de control de versiones de código fuente abierto que permite almacenar cambios en archivos y directorios a lo largo del tiempo en un repositorio central. Se puede acceder al repositorio a través de comandos de línea o interfaces gráficas y cuenta con protocolos como file, http, https y svn para la comunicación. El documento explica conceptos básicos, instalación, comandos, configuración, estructuración de proyectos y buenas prácticas de Subversion.
Subversion es un sistema de control de versiones de código fuente abierto que permite almacenar cambios en archivos y directorios a lo largo del tiempo en un repositorio central. Se puede acceder al repositorio a través de comandos de línea o interfaces gráficas y cuenta con protocolos como file, http y svn para la comunicación. El documento explica conceptos básicos, instalación, comandos, creación y configuración de repositorios así como buenas prácticas para el uso de Subversion.
El documento describe diferentes modelos de arquitectura de aplicaciones web, incluyendo modelos de dos y tres capas, y explica las características de cada uno. También proporciona una breve historia de Java y describe los componentes básicos necesarios para desarrollar aplicaciones en este lenguaje.
El documento describe el proyecto Merlín, una plataforma educativa desarrollada con tecnologías web 2.0 como portlets, Spring Framework, Hibernate y JUnit. También presenta Portlets Tools, una herramienta que genera plantillas de portlets para construir proyectos de portlets fácilmente usando Maven, Hibernate y Spring.
2. Maven es una herramienta para la gestión y construcción de proyectos Java fue creada por Jason Van Zyl.
De sonatype. En 2002, características:
• Funcionalidad similar a Apache Ant
• Fichero de configuración por un xml
• Para cada proyecto tiene un fichero llamado pom.xml (Project Object Model) para describir el
proyecto de software a construir, sus dependencias de otros módulos o componentes
externos, etc.
3. Requisitos
Antes de instalar maven tenemos que tener los siguiente:
•Java 5
•JAVA_HOME
Instalación Windows
Descomprimimos el archivo zip de la versión recomendada (apache-maven-XXX-bin.zip)
C:apache-maven-2.0.8
Agregamos el directorio bin del directorio creado a la variable PATH del SO:
"C:apache-maven-2.0.8bin";%PATH%
Acto seguido procedemos a ejecutar desde línea de comandos la siguiente instrucción:
mvn --version
4. Repositorio (Repository)
El funcionamiento de Maven se basa en el uso de un repositorio a donde ir a buscar las dependencias. La
identificación de los artefactos que necesita se hace a través del sistema de coordenadas que asegura que
cada dependencia sea única y proveer una ruta para conseguirla.
El repositorio por default es el repositorio central de Maven. A este repositorio se suman otros repositorios,
un repositorio local y la posibilidad de utilizar un repositorio/proxy.
Cuando Maven sale a buscar y consigue una dependencia la guarda en el repositorio local que es un
directorio en la máquina del usuario (~/.m2/repository). Las siguientes veces que necesite esta dependencia
irá la conseguirá en el directorio local haciéndolo mucho más rápido que la primera vez.
El directorio central y los directorios de terceros en lo único que se diferencian es en que se va a encontrar
en cada uno. En el repositorio central de Maven podemos esperar encontrar la mayoría de las dependencias
que necesitemos como JUnit, Java, Spring, Hibernate, etc.
El repositorio/proxy es un servicio que podemos instalar en la LAN para cumplir una función similar a la del
repositorio local pero compartido por un grupo de usuarios. Esto, además de mejorar la performance, permite
tener un mayor control de las versiones de dependencias que se utilizarán.
5.
6. Arquetipo (Archetype)
La descripción y administración de un proyecto con Maven requiere que el proyecto tenga una estructura
determinada y que tenga el pom.xml correspondientes. Existe un plugin en Maven que permite generar la
estructura y configuración inicial de un proyecto a partir de una plantilla. Estas plantillas con llamadas
archetypes (arquetipos) y el plugin que permite la generación a partir de los arquetipos se llama también
archetype. Los arquetipos pueden publicarse en un repositorio al igual que cualquier otro artefacto.
Perfiles (Profiles)
Maven está diseñado para maximizar la portabilidad de los artefactos. Es posible redefinir prácticamente
cualquier parte de un POM definiendo un perfil. Pueden definirse varios perfiles. La activación de un perfil
puede dispararse por uno o una combinación de las siguientes evaluaciones:
•Sistema operativo
•Variables de entorno del sistema operativo
7. Ciclo de Vida (Lifecycle)
Maven utiliza el concepto de ciclo de vida para ejecutar una secuencia ordenada de pasos denominados
fases. Existen 3 ciclos de vida en Maven :
• clean: Elimina las clases compilas y los archivos generados
• default: Genera los archivos binarios de nuestro artefacto(por defecto)
• site: Genera archivos html que describe nuestro artefacto
Este ciclo de vida define la secuencia de fases que va desde validar la integridad hasta el despliegue en su
instalación final de un proyecto. Cuando se solicita la ejecución de una fase Maven ejecuta primero todas
las fases anteriores siguiendo la secuencia y termina en la fase solicitada.
Cuando la ejecución llega a una determinada fase, Maven busca los plugins que estén adjuntados a la
misma y ejecuta los goals correspondientes. Pueden existir ninguno o más plugins asociados a una fase.
Fases asociadas al ciclo de vida de clean:
• pre-clean
• clean
• post-clean
Fases asociadas al ciclo de vida de site:
• pre-site
• site
• post-site
• site-deploy
10. Goal, mojo y plugin
Los Goals de Maven son las unidades mínimas de ejecución. El artefacto que recoge un goal es un mojo
(Maven Plain Old Java Object) un conjunto de mojos forma un plugin. Los plugins pueden instalarse y distribuirse mediante
Los repositorios. Invocación de los plugin en maven:
Desde linea de comando: mvn groupId:artifactId:version:goal
Desde el pom.xml.
(Maven también permite hacer prefijos a los plugins y nombre cortos )
Dependencias
Una dependencia es una referencia en el POM de la librería que se desea incluir en el proyecto. Existen 6
ámbitos en los que una dependencia puede ser declarada limitando así su transitividad.
Compile: ámbito por defecto. Las dependencias están disponibles en el proyecto y en sus proyectos
dependientes.
Provide: se espera que el JDK, la aplicación o el contenedor provea la dependencia.
Runtime: la dependencia no es requerida en tiempo de compilación pero sí para la ejecución.
Test: son dependencias que son requeridas solo cuando se compila y ejecuta los test.
System: similar a provided pero se le debe indicar el jar que contiene la dependencia
Import: (a partir a la versión 2.0.9) solo es usado en una dependencia del tipo POM en la sección indica
que el POM utilizado debe ser remplazado con las dependencias que éste tenga en su sección
11. Coordenadas (Coordinates)
Las coordenadas de Maven es la forma de identificar a un proyecto, dependencia, plugin o artefacto de
forma única en un pom y en un repositorio. Una coordenada se compone de los siguientes identificadores:
groupId:artefactId:version.
A veces es necesario generar dos empaquetados distintos de una misma versión por cuestiones técnicas,
por ejemplo un mismo artefacto para correr sobre dos entornos diferentes. En esta situación se puede
utilizar un identificador más:
groupId:artefactId:version:classifier.
Al momento de producir artefactos, estos cuatro identificadores funcionan en conjunto con uno más, pero
que no forma parte de la coordenada: packaging y que se refiere al tipo de empaquetado del artefacto (ejs:
zip, jar, ear). De hecho no es posible tener en el repositorio dos artefactos de la misma versión pero con
diferente empaquetado.
12. •groupId nombre bajo el que se agrupan una serie de artefactos (ej:
junit, spring, org.xyx, com.tm.projectox').
•artifactId identificacion de la unidad mínima administrada por el repositorio (ej: junit, modulo Ejb, ejb-
api, servlet-api).
•version la versión del artefacto con la siguiente nomenclatura <major version>.<minor
version>.<incremental version>-<qualifier>.
•classifier clasificador que permite diferenciar iguales versiones pero preparadas o compiladas para
diferentes entornos.
•packaging no forma parte de la coordenada y sólo se utiliza al momento de generar un artefacto. Define el
formato del empaquetado (ejs: jar, war, zip, pom).
Herencia
Los POMs pueden heredar de otro POM que se defina como parent. La raiz implícita desde donde heredan
todos los POMs es el Super POM definido por Maven.
13. La estructura de directorios estándar de maven es la siguiente:
•src/main/java Fuentes de la Aplicación/Librería
•src/main/resources Recursos de la Aplicación/Librería
•src/main/filters Ficheros de filtros
•src/main/assembly Descriptores del Assembly
•src/main/config Ficheros de configuración
•src/main/webapp Fuentes de la aplicación Web
•src/main/sql Scripts de bbdd
•src/test/java Fuentes de los Test
•src/test/resources Recursos de los Test
•src/test/filters Ficheros de filtros para los Test
•src/site Documentación “apt” sobre el proyecto
•target Directorio donde Maven deja los resultados
•target/classes Resultado de la compilación.
•LICENSE.txt Licencia del Proyecto
•README.txt Readme del Proyecto
•pom.xml Descriptor Maven del proyecto
22. Listado plugins mas usado:
•Compila el proyecto con versión que deseamos : maven-compiler-plugin
•Generar jar : maven-jar-plugin
•Copia las dependencias de nuestro proyecto : maven-dependency-plugin
•Generar .project y .classpath : maven-eclipse-plugin
•Codifica los ficheros de src/main/resources : maven-resources-plugin
•Generar un único jar con todas las dependecias : maven-shade-plugin
•Generar war : maven-war-plugin
•Desplegar un proyecto web tomcat : tomcat-maven-plugin
•Desplegar un proyecto web jetty : maven-jetty-plugin
•Comprimir javaScript de un proyecto web : yuicompressor-maven-plugin
•Notificar cambios nuestro proyecto : maven-changes-plugin
•Generar nuestro informe de CheckStyle : maven-checkstyle-plugin
•Generar el javaDoc : maven-javadoc-plugin
•Generar el PMD : maven-pmd-plugin
•Generar la cobertura : cobertura-maven-plugin
•Generar documentacion test: maven-surefire-plugin
•Generar diferentes tipos compresiones : maven-assembly-plugin
•Ayuda sobre el proyecto y plugins : maven-help-plugin
•Versiones de dependencias y plugins: versions-maven-plugin
23. La siguiente es una lista de los administradores de repositorios Maven conocidos y enumerados en el orden cronológico de aparición
en la comunidad:
•Sonatype Nexus
•Artifactory
•Apache Archiva