Programa Analítico
Repaso de las arquitecturas más comunes en sistemas distribuidos. Dos y tres capas. Modelo de tres capas, la tendencia actual. Modelo distribuido y de microservices, introducción. Publicadores y consumidores de datos. Patrones de diseño en arquitecturas distribuidas, Event-Sourcing.
Entornos integrados de desarrollo. Ciclos de vida de una aplicación. Servicios de los entornos de desarrollo integrados (IDE) modernos. Compiladores just-in-time. Máquinas virtuales, containers y virtualización a nivel SO. Capa de acceso a datos. Framework de persistencia.
Servicios de BackEnd y servidores de aplicaciones. Modelo REST. Frameworks de persistencia. Evolución de los sistemas distribuidos. SOLID. SRP: The Single Responsability Principle. OCP: The Open-Close Principle. LSP: The Liskov Substitution Principle. ISP: The Interface Segregation Principle. DIP: The Dependency Inversion Principle. Componentes, Acoplamiento y Cohesión.
Desarrollo con clientes livianos, el rol de los navegadores de internet en las tecnologías actuales. HTML. Arquitectura del servidor HTTP. Guiones (scripts). Scripting de lado del servidor. Scripting del lado del cliente. Lenguajes de scripting, generalidades.
Conceptos. Stubs, Mocks, Spies y Dummies. Cobertura. Statement Coverage. Decision Coverage. Branch Coverage. Toggle Coverage. FSM Coverage. Herramientas. Pruebas de integración. Pruebas de Sistema. Pruebas de Aceptación.
Principios y Buenas Prácticas. Vulnerabilidades web. Ciclo de desarrollo de software seguro. Modelo OSWAP. SQL Injection. XSS (Cross Site Scripting). Seguridad en Microservicios, APIs, Autenticación, Sesiones. Web Tokens, Introducción a OAuth 2.
- Kleppmann, M. (2017). Designing Data-Intensive Applications. The big ideas behing reliable, scalable, and maintainable systems. 1005 Gravenstein Highway North, Sebastopol, CA 95472: O’Reilly Media.
- Bass, L., Clements, P., & Kazman, R. (2012). Software Architecture in Practice. (Thrid Edition ed.). Addison-Wesley Professional.
- Calcote, L., & Butcher, Z. (2020). Istio Up & Running. Using a Service Mesh to Connect, Secure, Control, and Observe. 1005 Gravenstein Highway North, Sebastopol, CA 95472: O’Reilly Media.
- Poulton, N., & Joglekar, P. (2019). The Kubernetes Book. Nigel Poulton.
- Martin, R. (2017). Clean Architecture. A Creftman’s Guide to Software Structure and Design. Boston, MA: Prentice Hall.
- Martin, R. (2021). Clean Craftsmanship: Disciplines, Standards, and Ethics. Addison-Wesley Professional.
- Fowler, M. (2018). Refactoring. Improving the Design of Existing Code (Second Edition ed.). Addison-Wesley Professional.
- Ford, N., Richards, M., Sadalage, P., & Dehghani, Z. (2021). Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures. O’Reilly Media, Inc.
- Mezzalira, L. (2021). Building Micro-Frontends. O’Reilly Media, Inc.
- Farley, David (2021). Modern Software Engineering: Doing What Works to Build Better Software Faster. (1st Edition) ADDISON WESLEY Publishing Company Incorporated. ISBN: 0137314914.
- Sitio oficial de la Cloud Native Computing Foundation. (2021, February 10). Retrieved from https://www.cncf.io/
- The World’s Largest Web Developer Site. (2021, February 10). Retrieved from https://www.w3schools.com/