Capítulo 1 Introducción
1.1. Objetivos
1.2. Aportes
Capítulo 2 Contexto tecnológico
2.1. Java
2.1.1. Enlace dinámico de clases en la JVM
2.1.2. Java HotSpot
2.2. Java Community Process
2.2.1. JSR 376
2.3. Java versión 9
2.3.1. Sistema de módulos
2.3.2. Imágenes modulares para tiempo de ejecución
2.4. OSGi
2.5. Gestores de Paquetes
2.6. Gestores de Dependencias
2.7. Conclusiones del Capítulo
Capítulo 3 Antecedentes
3.1. Gestión de Bibliotecas con Maven
3.1.1. Quickstart de GeoTools, Parte 1
3.2. Medición de uso de dependencias Java
3.2.1. Herramientas de Medición
3.2.1.1. CodePro Analytix
3.2.1.2. STAN (Structure Analysis for Java)
3.2.1.3. JDepend
3.2.1.4. Jdeps
3.2.1.5. CDA (Class Dependency Analysis)
3.2.1.6. Deep
3.2.1.6.1. Tasa de dependencia
3.2.1.6.2. Validación de Deep
3.2.1.6.3. Mediciones con Deep
3.2.2. Quickstart de GeoTools, Parte 2
3.3. Conclusiones del Capítulo
Capítulo 4 Propuesta inicial
4.1. Proxy de bibliotecas y clases a demanda
4.2. Conclusiones del Capítulo
Capítulo 5 Primer Prototipo
5.1. Diseño e implementación
5.1.1. Interfaz con el usuario
5.1.2. Intermediario o Despachante
5.2. Pruebas y Resultados
5.2.1. Gestión de dependencias con Maven
5.2.2. Gestión de dependencias con Mozo (primer prototipo)
5.3. Conclusiones del Capítulo
Capítulo 6 Propuesta actualizada
6.1. Gestores de dependencias
6.2. Actualización de la propuesta
6.2.1. Clausura
6.2.2. Versiones
6.2.3. Repositorios
6.2.4. Interfaz con el usuario
6.3. Conclusiones del Capítulo
Capítulo 7 Segundo Prototipo
7.1. Diseño e Implementación
7.1.1. Interfaz con el usuario (cliente)
7.1.2. Intermediario
7.1.3. Repositorio
7.1.4. Implementación
7.1.5. Uso
7.2. Pruebas y resultados
7.2.1. Caso de prueba
7.2.2. Supuestos
7.2.3. Escalabilidad
7.2.4. Ventajas conceptuales
7.2.5. Ventajas de la arquitectura
7.3. Conclusiones del Capítulo
Capítulo 8 Herramientas relacionadas
8.1. Bundler (Ruby)
8.2. Pip (Python)
8.3. NuGet (.Net)
8.4. Composer (PHP)
8.5. Bower (JavaScript)
8.6. sbt (Scala)
8.7. Apache Ivy (Java):
8.8. Apache Maven (Java):
8.9. Gradle (Java):
8.10. GNU Guix (Linux):
8.11. Spack (HPC):
8.12. Conclusiones del Capítulo
Capítulo 9 Evaluación de la propuesta
9.1. Acoplamiento
9.2. Eficiencia
9.3. Rendimiento
9.4. Validación
9.4.1. Caso programa Quickstart de GeoTools, Parte 3:
9.4.1.1. Lote de pruebas
9.4.1.2. Ejecución
9.5. Prueba comparativa
9.5.1.1. Mediciones
9.5.1.2. Visualización de los resultados
9.5.1.3. Escalabilidad
9.5.1.4. Descriptores en caché
9.5.1.5. Ambiente de mediciones
9.5.1.6. Versiones y configuración
9.5.2. Usabilidad
9.5.3. Mantenibilidad
9.5.4. Escalabilidad
9.5.5. Simplicidad
9.6. Atributos comparados
9.6.1. Visualización
9.7. Conclusiones del Capítulo
Capítulo 10 Conclusiones y trabajos futuros
10.1. Conclusión parcial
10.2. Conclusión final
10.3. Trabajos futuros
Nomenclatura
Referencias