Podcast
Questions and Answers
¿Cuál de las siguientes opciones describe mejor la función principal de un servidor de aplicaciones?
¿Cuál de las siguientes opciones describe mejor la función principal de un servidor de aplicaciones?
- Facilitar la comunicación directa entre bases de datos.
- Actuar como un sistema operativo para computadoras de escritorio.
- Gestionar el hardware de un centro de datos.
- Proporcionar un entorno para la creación y ejecución de aplicaciones web. (correct)
¿Qué ventaja principal ofrece la gestión de contenido sensible al tiempo en un entorno de servidor de aplicaciones?
¿Qué ventaja principal ofrece la gestión de contenido sensible al tiempo en un entorno de servidor de aplicaciones?
- Mayor seguridad contra ataques cibernéticos.
- Facilidad de actualización y mantenimiento del contenido. (correct)
- Aumento de la velocidad de procesamiento de datos.
- Reducción del consumo de energía del servidor.
¿Cuál de las siguientes herramientas se utiliza comúnmente para automatizar la gestión de dependencias y la construcción de proyectos Java?
¿Cuál de las siguientes herramientas se utiliza comúnmente para automatizar la gestión de dependencias y la construcción de proyectos Java?
- Express
- Node.js
- Maven (correct)
- WAR
¿Qué tipo de archivo se utiliza comúnmente para empaquetar una aplicación Java web para su despliegue en un servidor de aplicaciones?
¿Qué tipo de archivo se utiliza comúnmente para empaquetar una aplicación Java web para su despliegue en un servidor de aplicaciones?
¿Cuál es la función principal de npm
en el contexto de desarrollo de aplicaciones Node.js?
¿Cuál es la función principal de npm
en el contexto de desarrollo de aplicaciones Node.js?
¿Cuál de las siguientes opciones representa la diferencia clave entre la distribución continua y la implementación continua?
¿Cuál de las siguientes opciones representa la diferencia clave entre la distribución continua y la implementación continua?
En un entorno de CI/CD, ¿qué actividad se realiza típicamente durante la fase de integración continua?
En un entorno de CI/CD, ¿qué actividad se realiza típicamente durante la fase de integración continua?
¿Cuál de las siguientes tecnologías se usa comúnmente para construir aplicaciones del lado del servidor con Node.js?
¿Cuál de las siguientes tecnologías se usa comúnmente para construir aplicaciones del lado del servidor con Node.js?
¿Cuál de las siguientes opciones describe mejor el papel de un servidor de aplicaciones en una arquitectura orientada a servicios?
¿Cuál de las siguientes opciones describe mejor el papel de un servidor de aplicaciones en una arquitectura orientada a servicios?
¿Cuál es una razón principal para utilizar servidores de aplicaciones en lugar de depender únicamente de servidores web?
¿Cuál es una razón principal para utilizar servidores de aplicaciones en lugar de depender únicamente de servidores web?
¿Cuál de los siguientes NO es una fase típica en el proceso de despliegue de aplicaciones web?
¿Cuál de los siguientes NO es una fase típica en el proceso de despliegue de aplicaciones web?
En el contexto de las mejores prácticas de despliegue, ¿cuál es la principal ventaja de utilizar Git?
En el contexto de las mejores prácticas de despliegue, ¿cuál es la principal ventaja de utilizar Git?
¿Por qué es recomendable trabajar en ramas (branches) al desarrollar software?
¿Por qué es recomendable trabajar en ramas (branches) al desarrollar software?
¿Cuál es la principal razón para utilizar un entorno local como entorno de desarrollo antes de implementar cambios en un entorno real?
¿Cuál es la principal razón para utilizar un entorno local como entorno de desarrollo antes de implementar cambios en un entorno real?
Antes de desplegar cambios en el entorno real, ¿por qué es importante revisar las diferencias (diffs)?
Antes de desplegar cambios en el entorno real, ¿por qué es importante revisar las diferencias (diffs)?
¿Qué factor es crucial considerar al decidir el momento óptimo para desplegar cambios en un entorno de producción?
¿Qué factor es crucial considerar al decidir el momento óptimo para desplegar cambios en un entorno de producción?
¿Cuál es la función principal de un servidor de aplicaciones en una arquitectura de servicios?
¿Cuál es la función principal de un servidor de aplicaciones en una arquitectura de servicios?
¿Por qué los servidores web no son adecuados para manejar directamente las solicitudes dinámicas de las aplicaciones?
¿Por qué los servidores web no son adecuados para manejar directamente las solicitudes dinámicas de las aplicaciones?
¿De qué manera un servidor de aplicaciones mejora la seguridad de una aplicación?
¿De qué manera un servidor de aplicaciones mejora la seguridad de una aplicación?
¿Qué ventaja ofrece el uso de un servidor proxy inverso junto con un servidor de aplicaciones?
¿Qué ventaja ofrece el uso de un servidor proxy inverso junto con un servidor de aplicaciones?
En el contexto de la arquitectura de servicios, ¿cuál es la diferencia fundamental entre un servidor web y un servidor de aplicaciones?
En el contexto de la arquitectura de servicios, ¿cuál es la diferencia fundamental entre un servidor web y un servidor de aplicaciones?
¿Cuál de las siguientes opciones describe mejor cómo un servidor de aplicaciones optimiza el tráfico web?
¿Cuál de las siguientes opciones describe mejor cómo un servidor de aplicaciones optimiza el tráfico web?
Si una organización experimenta frecuentes ataques de inyección SQL, ¿qué medida podría tomar, además de las prácticas de codificación segura, para mitigar este riesgo utilizando un servidor de aplicaciones?
Si una organización experimenta frecuentes ataques de inyección SQL, ¿qué medida podría tomar, además de las prácticas de codificación segura, para mitigar este riesgo utilizando un servidor de aplicaciones?
En un escenario donde una aplicación web necesita escalar para manejar un aumento repentino en el número de usuarios, ¿cómo contribuye un servidor de aplicaciones a la escalabilidad?
En un escenario donde una aplicación web necesita escalar para manejar un aumento repentino en el número de usuarios, ¿cómo contribuye un servidor de aplicaciones a la escalabilidad?
¿Por qué es importante mantener la calma antes de aplicar hotfixes o revertir cambios tras un despliegue?
¿Por qué es importante mantener la calma antes de aplicar hotfixes o revertir cambios tras un despliegue?
¿Qué factor no se debe considerar al decidir si realizar un rollback después de un despliegue problemático?
¿Qué factor no se debe considerar al decidir si realizar un rollback después de un despliegue problemático?
Si un despliegue causa un problema en una función que ya existía antes de la nueva versión, ¿qué curso de acción no sería el más apropiado?
Si un despliegue causa un problema en una función que ya existía antes de la nueva versión, ¿qué curso de acción no sería el más apropiado?
¿Cuáles son las dos preguntas clave que se deben responder para determinar el mejor momento para desplegar cambios en un entorno de producción?
¿Cuáles son las dos preguntas clave que se deben responder para determinar el mejor momento para desplegar cambios en un entorno de producción?
¿Por qué es importante desplegar cambios cuando hay la menor cantidad de usuarios activos?
¿Por qué es importante desplegar cambios cuando hay la menor cantidad de usuarios activos?
¿Qué herramienta se menciona como útil para identificar los momentos de menor actividad de los usuarios en un sitio web?
¿Qué herramienta se menciona como útil para identificar los momentos de menor actividad de los usuarios en un sitio web?
¿Qué implica el concepto de 'contexto' en el desarrollo de aplicaciones web JavaEE?
¿Qué implica el concepto de 'contexto' en el desarrollo de aplicaciones web JavaEE?
Además de la hora del día, ¿qué otro factor temporal se menciona como relevante al analizar la actividad de los usuarios?
Además de la hora del día, ¿qué otro factor temporal se menciona como relevante al analizar la actividad de los usuarios?
¿Cuál es la función principal de un archivo WAR en el contexto de JavaEE?
¿Cuál es la función principal de un archivo WAR en el contexto de JavaEE?
¿Por qué es crucial tener a alguien disponible para supervisar y solucionar problemas inmediatamente después de un despliegue, incluso si se realiza en un momento de baja actividad?
¿Por qué es crucial tener a alguien disponible para supervisar y solucionar problemas inmediatamente después de un despliegue, incluso si se realiza en un momento de baja actividad?
Si bien el formato WAR es estándar en JavaEE, ¿qué aspecto del manejo de archivos WAR varía entre los diferentes servidores de aplicaciones?
Si bien el formato WAR es estándar en JavaEE, ¿qué aspecto del manejo de archivos WAR varía entre los diferentes servidores de aplicaciones?
¿Cuál de las siguientes opciones describe mejor el propósito principal de Maven?
¿Cuál de las siguientes opciones describe mejor el propósito principal de Maven?
Antes de la adopción de Maven, ¿qué desafío común enfrentaban los desarrolladores al construir proyectos Java?
Antes de la adopción de Maven, ¿qué desafío común enfrentaban los desarrolladores al construir proyectos Java?
Con Maven, ¿qué comando se utiliza para compilar, probar y empaquetar un proyecto, independientemente de su complejidad?
Con Maven, ¿qué comando se utiliza para compilar, probar y empaquetar un proyecto, independientemente de su complejidad?
¿Qué tipo de archivos pueden incluirse dentro de un archivo WAR?
¿Qué tipo de archivos pueden incluirse dentro de un archivo WAR?
¿Cuál es la principal ventaja de utilizar archivos WAR para la distribución de aplicaciones web JavaEE?
¿Cuál es la principal ventaja de utilizar archivos WAR para la distribución de aplicaciones web JavaEE?
¿Cuál es la principal ventaja de usar un sistema de control de versiones como Git en un flujo de trabajo de despliegue?
¿Cuál es la principal ventaja de usar un sistema de control de versiones como Git en un flujo de trabajo de despliegue?
¿Por qué es recomendable que un equipo de desarrollo trabaje en ramas separadas en Git?
¿Por qué es recomendable que un equipo de desarrollo trabaje en ramas separadas en Git?
¿Cuál es una ventaja significativa de utilizar un entorno local como entorno de desarrollo?
¿Cuál es una ventaja significativa de utilizar un entorno local como entorno de desarrollo?
En un flujo de trabajo de despliegue, ¿qué problema puede surgir si no se utiliza un sistema de control de versiones?
En un flujo de trabajo de despliegue, ¿qué problema puede surgir si no se utiliza un sistema de control de versiones?
¿Cómo contribuye el uso de ramas separadas al proceso de pruebas en un entorno de preproducción?
¿Cómo contribuye el uso de ramas separadas al proceso de pruebas en un entorno de preproducción?
Si un desarrollador encuentra un error crítico en la versión de producción, ¿cuál es la práctica recomendada utilizando Git y ramas?
Si un desarrollador encuentra un error crítico en la versión de producción, ¿cuál es la práctica recomendada utilizando Git y ramas?
¿Qué implicación tiene el hecho de no utilizar Git en el proceso de despliegue de software para un equipo de desarrollo?
¿Qué implicación tiene el hecho de no utilizar Git en el proceso de despliegue de software para un equipo de desarrollo?
¿Cuál de las siguientes situaciones se minimiza al trabajar con un entorno de desarrollo local en lugar de directamente en el entorno de desarrollo?
¿Cuál de las siguientes situaciones se minimiza al trabajar con un entorno de desarrollo local en lugar de directamente en el entorno de desarrollo?
Flashcards
¿Qué es un servidor de aplicaciones?
¿Qué es un servidor de aplicaciones?
Software que proporciona servicios para aplicaciones, como seguridad y gestión de datos.
¿Qué hacen los servidores de aplicaciones?
¿Qué hacen los servidores de aplicaciones?
Optimizar el tráfico de red y añadir medidas de seguridad.
¿Qué es el despliegue de aplicaciones web?
¿Qué es el despliegue de aplicaciones web?
Fases de planificación, desarrollo, prueba y lanzamiento de una aplicación web.
¿Qué tipos de despliegue existen?
¿Qué tipos de despliegue existen?
Signup and view all the flashcards
¿Qué es Git?
¿Qué es Git?
Signup and view all the flashcards
¿Qué es la ventaja de trabajar en ramas?
¿Qué es la ventaja de trabajar en ramas?
Signup and view all the flashcards
¿Qué tipos de entornos existen en el desarrollo de aplicaciones?
¿Qué tipos de entornos existen en el desarrollo de aplicaciones?
Signup and view all the flashcards
¿Qué ventaja tiene el despliegue y entornos múltiples?
¿Qué ventaja tiene el despliegue y entornos múltiples?
Signup and view all the flashcards
Contenido sensible al tiempo
Contenido sensible al tiempo
Signup and view all the flashcards
Estructura de una aplicación Java
Estructura de una aplicación Java
Signup and view all the flashcards
Empaquetamiento
Empaquetamiento
Signup and view all the flashcards
¿Qué es Maven?
¿Qué es Maven?
Signup and view all the flashcards
¿Qué es Node.js?
¿Qué es Node.js?
Signup and view all the flashcards
¿Qué es Express?
¿Qué es Express?
Signup and view all the flashcards
¿Qué es npm?
¿Qué es npm?
Signup and view all the flashcards
¿Qué hace un servidor de aplicaciones?
¿Qué hace un servidor de aplicaciones?
Signup and view all the flashcards
¿Por qué necesitamos servidores de aplicaciones?
¿Por qué necesitamos servidores de aplicaciones?
Signup and view all the flashcards
¿Qué hacen los servidores web?
¿Qué hacen los servidores web?
Signup and view all the flashcards
¿Qué tipo de peticiones gestionan los servidores de aplicaciones?
¿Qué tipo de peticiones gestionan los servidores de aplicaciones?
Signup and view all the flashcards
¿Qué beneficios adicionales ofrecen los servidores de aplicaciones?
¿Qué beneficios adicionales ofrecen los servidores de aplicaciones?
Signup and view all the flashcards
¿Cómo mejoran la seguridad los servidores de aplicaciones?
¿Cómo mejoran la seguridad los servidores de aplicaciones?
Signup and view all the flashcards
¿Qué tipo de ataques previenen los servidores de aplicaciones?
¿Qué tipo de ataques previenen los servidores de aplicaciones?
Signup and view all the flashcards
¿Qué hacen los servidores proxy y las VPN?
¿Qué hacen los servidores proxy y las VPN?
Signup and view all the flashcards
¿Por qué trabajar en ramas?
¿Por qué trabajar en ramas?
Signup and view all the flashcards
¿Qué es un entorno local?
¿Qué es un entorno local?
Signup and view all the flashcards
¿Qué es el flujo de trabajo basado en ramas?
¿Qué es el flujo de trabajo basado en ramas?
Signup and view all the flashcards
¿Cuál es el propósito de las ramas?
¿Cuál es el propósito de las ramas?
Signup and view all the flashcards
¿Por qué es eficiente el entorno local?
¿Por qué es eficiente el entorno local?
Signup and view all the flashcards
¿Por qué Git es inestimable?
¿Por qué Git es inestimable?
Signup and view all the flashcards
¿Qué es un entorno de desarrollo local?
¿Qué es un entorno de desarrollo local?
Signup and view all the flashcards
Comprobar antes de revertir
Comprobar antes de revertir
Signup and view all the flashcards
¿Fallo nuevo o existente?
¿Fallo nuevo o existente?
Signup and view all the flashcards
Actuar con calma
Actuar con calma
Signup and view all the flashcards
¿Cuándo desplegar?
¿Cuándo desplegar?
Signup and view all the flashcards
Analizar el tráfico
Analizar el tráfico
Signup and view all the flashcards
Día de la semana
Día de la semana
Signup and view all the flashcards
¿Quién vigila?
¿Quién vigila?
Signup and view all the flashcards
Menos usuarios activos
Menos usuarios activos
Signup and view all the flashcards
Contexto JavaEE
Contexto JavaEE
Signup and view all the flashcards
¿Qué es empaquetar una aplicación Web?
¿Qué es empaquetar una aplicación Web?
Signup and view all the flashcards
¿Qué es un archivo WAR?
¿Qué es un archivo WAR?
Signup and view all the flashcards
¿Cómo se despliega un archivo WAR?
¿Cómo se despliega un archivo WAR?
Signup and view all the flashcards
¿Qué es el 'build' de un proyecto?
¿Qué es el 'build' de un proyecto?
Signup and view all the flashcards
¿Cómo se compila un proyecto Maven?
¿Cómo se compila un proyecto Maven?
Signup and view all the flashcards
¿Qué implicaba el 'build' antes de Maven?
¿Qué implicaba el 'build' antes de Maven?
Signup and view all the flashcards
Study Notes
- Un servidor de aplicaciones es un marco de software que permite la creación y ejecución de aplicaciones web.
- Los servidores de aplicaciones pueden ser pilas complejas de elementos computacionales que trabajan en conjunto.
- Un servidor de aplicaciones actúa como intermediario entre un servidor web y un servidor de base de datos.
- Un servidor de aplicaciones puede contener interfaces gráficas de usuario para su gestión y realizar tareas de procesamiento, mensajería y seguridad.
- Los servidores de aplicaciones proporcionan recursos de aplicaciones a usuarios y clientes web.
- Los servidores de aplicaciones se sitúan entre los servidores de bases de datos y los servidores web.
- Los servidores de aplicaciones y el middleware afín son los sistemas operativos que soportan el desarrollo y la entrega de aplicaciones.
Terminología
- Servidor Web: Almacena, procesa y entrega datos de páginas web.
- Cliente Web: Punto final que intenta acceder a los recursos de la web o de una aplicación.
- HTTPS: Protocolo de comunicación seguro para la comunicación entre servidor web y clientes web
- JSON: Lenguaje para el intercambio de datos entre servidores web y de aplicaciones.
- Lógica de negocio: Reglas para el almacenamiento de datos y la transferencia de recursos de la aplicación
- Aplicación: Programa de software o sitio web unido a una base de datos.
Arquitectura de Servicios
- El servidor de aplicaciones suele realizar el trabajo pesado en el backend al almacenar y procesar las solicitudes dinámicas de las aplicaciones.
- Los clientes web hacen peticiones HTTP y reciben respuestas a través de servidores web.
- Las peticiones dinámicas, a menudo en forma de aplicaciones, requieren asistencia adicional. Los servidores de aplicaciones compensan la gestión de peticiones HTTP de los clientes web y almacenamiento de recursos.
- El paso adicional entre las comunicaciones web añade una capa de seguridad eliminando la inyeccion SQL porque un servidor de bases de datos.
Servidores de aplicación, funcionamiento
- Servlets: Programa Java que se ejecuta en un servidor Web, construye o sirve páginas web dinámicas basadas en datos variables.
- Los servidores de aplicaciones contienen características de seguridad, transacciones, servicios, clustering, diagnósticos y bases de datos.
- El cliente abre un navegador y solicita acceso a un sitio web.
- El servidor web gestiona las peticiones de datos estáticos y El servidor web recibe la petición HTTP y responde con la página web deseada.
- Para datos dinámicos, el servidor web redirige la petición a un servidor de aplicaciones.
- El servidor de aplicaciones recibe la petición HTTP y la convierte en una petición de servlet.
- El servlet lleva el servidor a la base de datos; el servidor de aplicaciones traduce la respuesta del servlet al formato HTTP para el cliente.
Servidor de Aplicaciones frente Servidor Web
- Los servidores de aplicaciones están diseñados para servir a los clientes. Peticiones HTTP y lógica de negocio
- Los servidores Web solo sirven peticiones HTTP
- Los servidores de aplicaciones almacenan y proporcionan lógica de negocio
- Los Servidores web almacenan y proporcionan contenido estático
- La utilización de los recursos es pesada para los servidores de aplicaciones
- La utilización de los recursos es ligera con un servidor web
- Los servidores de aplicaciones son compatibles con transacciones distribuidas y Enterprise JavaBeans (EJB).
- Los servidores web son compatibles con Servlets, Java Server Pages (JSP) y JSON
- El mercado de los servidores de aplicaciones se espera que crezca a una tasa compuesta anual del 13,2%.
- Se espera de $17 mil millones de dólares en 2020 a $41 mil millones en 2026
El mejor amigo de un servidor web
- Los servidores de aplicaciones son esenciales para las exigencias de interconexión y son el mejor amigo de un servidor web.
- Los servidores de aplicaciones posibilitan la comunicación con contenido web dinámico.
¿Despliegue de aplicaciones Web qué es?
- Despliegue significa mover cambios o actualizaciones de software de un entorno a otro.
- Al configurar un sitio web, se tendrá el sitio web en vivo, llamado entorno de producción.
- Los entornos adicionales para realizar cambios sin afectar el entorno de producción se llaman entornos de desarrollo o despliegue.
- Los modelos de despliegue varían, pero es clásico el modelo de despliegue "de izquierda a derecha" con múltiples entornos.
- Utilizar múltiples entornos, permite hacer cambios que no afecten su sitio web en vivo.
Fases de un despliegue
- Los procesos cubren aspectos fundamentales divididos en 5 partes: Planificación, desarrollo, comprobación, implementación y supervisión.
- Planificar un despliegue ayuda a que el proceso se desarrolle con fluidez constante.
- El proceso de despliegue cubre aspectos fundamentales.
- Se debe reducir el riesgo de conflictos entre cambios.
- La planificación también otorga la oportunidad de hacer una versión previa y permitir a la comunidad probar para detectar errores.
- En el desarrollo, es importante trabajar solo en entornos locales para garantizar que el desarrollo se realice simultáneamente.
- Para garantiza que no haya errores, la prueba de los cambios es crucial.
- Una vez probados, el proceso de pruebas debe repetirse en nuevos entornos.
- Si se encuentran errores, los cambios se envían a la fase de desarrollo para su corrección.
- Una vez realizadas las pruebas, se despliegan al entorno real, se pasa por la monitorización y se corrigen los errores.
Tipos de despliegue
- El despliegue se divide en metadatos (código, plantillas, hojas de estilo, archivos, etc.) y contenido (texto, imágenes, vídeos).
- Herramientas de despliegue ayudan a guiarte en caso de conflictos.
- Las herramientas despliegue facilitan a los editores a enviar contenido nuevo a un entorno activo.
Prácticas recomendadas.
- Git, un sistema control de versiones , es esencial para cualquier flujo de trabajo de implementación. Trabaja en Ramas.
- Trabajar en ramas permite a los equipos trabajar en varias cosas a la vez sin que se afecten entre sí.
- Al instalar software de forma local, será más eficiente para la implementación.
- En vez de confirmar inmediatamente los cambios, pruebe localmente y luego en el entorno de preparación.
- Hacer una revisión exhaustiva de los códigos y las validaciones antes de pulsar el botón.
- Para equipos grandes, un desarrollador puede necesitar restricciones.
Mantenga la Calma
- Compruebe si hacer un rollback es posible .
- Descubra si es una característica existente o nueva en el entorno de producción.
- Tener a personas listas para solucionar los problemas y planificar el lanzamiento en el camino.
Ventajas del despliegue y de los entornos múltiples
- Existe menos riesgo de romper un sitio web en producción.
- Los cambios se realizan en el orden que se prefiera, lo que significa optimizar el trabajo sin dañar el sitio web.
- EL contenido sensible al tiempo es aún más fácil de gestionar.
Despliegue JAVA
- Hay que conseguir que nuestro servidor HTTP sea capaz de ejecutar programas de aplicación que recojan los parámetros de peticiones del cliente.
Estructura Java.
- Se debe tener una estructura de archivos y directorio determinada que los directorios coloquen las páginas HTML O JSP.
- Colgando del directorio inicial de la aplicación, se tiene un directorio WEB-INF, que contiene la información Web relevante para la aplicación.
- Podemos estructurar el resto como queramos.
- Se puede copiar una estructura en JAVA si se hace convenientemente.
- Cada aplicación web JavaEE es un contexto.
Empaquetamiento.
- Distribuir la aplicación se hace al empaquetar la aplicación en un archivo WAR y distribuir dicho fichero.
Archivos WAR
- Los archivos WAR son archivos JAR utilizados en distribuir paginas como WEB HTML o JSP, clases Java, archivos XML y librerías
- Empaquetar en archivos WAR es estándar, la mayoría permite administración desde una consola.
Maven
- Maven es una herramienta de código abierto que simplifica los procesos de compilación y generación de ejecutables a partir del código fuente.
- En Maven se ejecuta el comando mvn install.
- Tres ciclos de build del software con una serie de etapas diferenciadas:
- Validar: Validad que es correcto
- Compilar
- Test: Comprobar el código.
- Empaquetar y transformar
- Verificar la calidad
- Instalar como dependencia
- Desplegar a un entorno
¿Node.js qué es?
- Node JS es un entorno de ejecución de JavaScript rápido para construir aplicaciones del lado del servidor
- No es ni lenguaje de programación ni un marco de trabajo.
Express qué es?
- Framework de Node.js diseñado para construir aplicaciones web de API's y aplicaciones móviles multiplataforma de forma rápida.
¿npm qué es?
- NPM responde a las siglas de Node Package Manager o manejador de paquetes de node, es la herramienta por defecto de JavaScript.
- En donde hay un repositorio en donde comparte paquetes de software libre para los proyectos Node.js
- Un archivo package.json, cuando se ejecuta npm init, para inicializar un proyecto JavaScript/Node.js.
- El Metadato proporcionado por los desarrolladores es nombre, versión, descripción y licencia.
- package.json también soporta la propiedad scripts que puede definirse para ejecutar herramientas de línea de comandos que se instalan en el contexto local del proyecto.
CI/CD
- La CI/CD es un método para distribuir las aplicaciones a los clientes con frecuencia.
- Se trata de una solución para los problemas que puede generar la modificación del código nuevo conocida como el infierno de la integración.
Integración, distribución y la implementación continuas, ¿cual es la diferencia?
- La integración continua es un proceso automatizado para los desarrolladores.
- La distribución o la implementación continuas, conceptos relacionados, automatizan las etapas posteriores del proceso.
- Por lo general, la distribución continua se refiere a someter una aplicación a prueba de errores. La implementación continua hace referencia al lanzamiento automático para ponerlos a disposición de los clientes.
Integración Continua
- La integración continua (CI) permite a los desarrolladores incorporar los cambios a un repositorio.
- Una vez incorporados, se valida la compilación automática con pruebas automatizadas.
- Esto garantiza que los cambios no hayan introducido una falla y facilita la resolución de errores relacionados al conflicto sobre el código nuevo.
Distribución Continua
- La distribución continua automatiza el traslado del código a un repositorio.
- Se necesita la incorporación al proceso de desarrollo y necesita tener en cuenta la automatización.
Implementación Continua
- La implementación continúa automatiza el lanzamiento de una aplicación a la producción al igual que la distribución continua.
- Se debe tener el diseño de la automatización de las pruebas bien hecha.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Este cuestionario explora los servidores de aplicaciones, su función en la gestión de contenido y herramientas para automatizar proyectos Java. También aborda npm
en Node.js, CI/CD, distribución e implementación continua, y tecnologías para aplicaciones del lado del servidor con Node.js.