Maven

Intro

Siempre se establecen los grandes marcos de los proyectos, pero siempre se nos pasa por alto los detalles de las actividades diarias que ayudaran a que el proyecto llegue a buen puerto. Y en algunos casos determinan la diferencia entre llegar a la fecha o no.
Entre estas tareas rutinarias que siempre se dejan para el final están :

  • Estructura de los proyectos ( fuentes , recursos , test , etc )
  • Dependencias de librerías de terceros
  • Empaquetamiento
  • Test Unitarios
  • Documentación
  • Deployment
  • etc
    Es por esto que maven define un serie de [fases dentro de si ciclo de ejecución] que nos permite adaptar a nuestras necesidades.
    Tareas que claramente nos vemos enfrentados todos los días y que siempre pensamos que podemos mejorar, pero siempre cada equipo establece su forma y su política. No parece algo tan importante para ser considerado dentro de las reuniones de proyecto. En mi opinión este es un elementos vital y tiene que ver con una visión estrategia de como enfrentar este proceso de tareas rutinarias.
    Es por eso que me enfocare en algunos post en dar a conocer Maven , un proyecto Open Source del Apache Foundation.

    Que es Maven ?

Es herramienta de proyect management framework ,que nos entrega un ciclo de vida de un proyecto de software estándar , que nos permite la reutilización de elementos y nos reduce el time to market de nuestros productos y mejora tanto la estandarización, como la calidad.
Si realizáramos una analogía con el JEE: "realizo una gran esfuerzo en desarrollar una estandar y modelo arquitectónico para la generación de componentes empresariales, Maven podríamos decir que trata de realizar esa estandarización pero a nivel de administración de un proyecto de software, aplicando las best practice de toda un industria. "

Que nos provee Maven ?

Provee una abstracción de los detalles de la construcción de software, permitiendo re-aprovechar y estandarizar el proceso de desarrollado de Software.
Maven provee para esto :

  • Un declarativo Project Object Model ( POM )
  • Tools para interactuar con este Modelo.

El modelo utilizado por Maven permite ser aplicado a todos los proyectos de software , permitiendo entre otras cosas estandarizar el lugar donde se guardaran los archivos fuentes, la documentación , las dependencias y el versionamiento de los proyectos.

Los Principios de Maven

Los principios en que se sustenta Maven son :

  • Convention on Configuration
  • Declarative execution
  • Reuse of build logic
  • Coherent organization of dependencies

Beneficios del uso de Maven

Si miramos como puede afectar una estandarizacion del proceso de software , podemos englobar estos elementos en los siguientes ámbitos :
*Coherencia : El uso de Maven permite a las organizaciones que lo usen , establecer estándares sobre un conjunto de mejores practicas que inspiraron el Framework.
*Reusability : Nos permite el reutilizacion de una serie de best practice utilizada por toda la industria.
*Agilidad : Permite la capacidad de desarrollar por Componente y proporciona todas los elementos para la integración de estos componentes en múltiples proyectos.Y permite reducir los tiempos de startup de proyectos para los desarrolladores.
*Mantencion : Hace mas fácil el proceso de mantención debido a que el team se concentra en el proceso de lógica de la app, el resto lo realiza maven por ellos.

En suma Maven permite pasar a un segundo nivel en nuestro procesos de generacion de software , estableciendo para nuestra empresa :

  • Un estándar de obstrucción claro y transparente y alineado con las ultimas tendencias
  • Un proceso que permite la homologacion entre teams
  • Un proceso adecuado para empresas distribuidas
  • Un proceso que asegura el time to market de nuestros productos

[]

Labels

maven maven Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.