SlideShare a Scribd company logo
Hierarchical MVC
Transforma tu Monolito!
QUIÉN SOY!
• Luis Majano
• Ingeniero Eléctrico + Informatico
• El Salvador =>Texas
• Sandals => ESRI => Ortus
• CEO de Ortus Solutions
@lmajano
@ortussolutions
www.ortussolutions.com
Spanglish Ahead
Areas de Enfoque
Soporte
Y
Entrenamiento
Consultoria
Tutoria
Aumento de
Personal
Open Source
Desde 2006
OPEN SOURCE
hMVC CLI-PM-Server Cloud Directory Modular CMS
DI + AOP Logging Caching API
BDD/TDD
El Problema “Legacy”
Aplicaciones Monolíticas
Escuela de Arquitectura
HMVC
Microservicios
ColdBox HMVC
Demo
EL PROBLEMA “LEGACY”
LEGACY PROBLEM
• Da mal nombre a cualquier lenguaje
• Ruby, PHP, CFML, Java, etc.
• Lenguajes con mas de 10 años
• Problemas de Seguridad
• Problemas de Rendimiento
• Problemas de Empleados
• Problemas de Desarrollo
• Problemas de Motivación
Problemas deTodoTipo!
LEGACY PROBLEM
•Encuesta 500+ 2019
•>55% No MVC
•>50% No DI
•>50% No Testing
Refrescar el Navegador No Cuenta! https://teratech.com/state-of-the-CF-Union-2019-Results
LES GUSTA MY APP?
• MVC Framework or infierno de spaghetti?
• Orientation de Objectos o infierno de paginas?
• Pruebas Automaticas? Integración Continua?
• Agile/Scrum?
• Control de Fuente? (Zip files no cuentan!)
• Despliegue Continuo?
• Contendores? Microservicios?
Aplicaciones Legacy
Comentarios Graciosos!
<!—- Do not remove the following lines or things break —>
<!— Dont’ know what this variable does, but don’t touch it —->
<!—- Remove at your own risk —->
<!—- I have no idea where this variable is set —>
“El Software Siempre esta
Obligado a cambiar”
AVERGONZADO?
• Legacy no tiene que avergonzar
• Fue la fundación
• Es una deuda tecnica
• Es un problema que existirá SIEMPRE
• Software es organico, respira,
expande, contrae
• Hay que Mejorar Continuamente o
Moriras!
Motivación!
MODERNIZE 

OR 

DIE!™
ESCUELA DE ARQUITECTURA
1. COHESION - COUPLING
Cohesión Acoplamiento
2. MVC
• Patron de Arquitectura mas común
• Enfoque en Separación de lógica
• Modelos, Vistas, Controladores
• Ayuda a cumplir con O.O.
• Miembros de equipo especializados
• Metodologías comprobadas
• Mantenimiento lógico
• Increíbles Beneficios
• Pero todas las aplicaciones crecen….
2. MVC
• Las capas engordan!
• Dependencias crecen
• Requisitos crecen y cambian
• Cuidado con ocupar herencias
• Y si no te cuidas…
3. N-TIER - CHALUPA MEJICANA
• Muy rico!! Pero Indigestion segura
• Empiezas a seguir agregando capas y
mas capas….
• Acoplamiento al máximo
• TienesTests?Tienes Automatización?
Ocupas DI? Herencia?
• El Monolitico MVC
QUE HACEMOS?
4. HMVC = MVC JERÁRQUICO
4. HMVC
• Evolución de MVC
• MVCTriads Independientes
• Beneficios
• Alta Cohesion
• Bajo en Acoplamiento (y grasas)
• Modularización
• Mejor
• Organización
• Reuso
• Extensibilidad
• Testabilidad (Es una palabra!!)
4. HMVC FRAMEWORKS
• ColdFusion (CFML)
• ColdBox MVC
• www.coldbox.org
• PHP
• CodeIgniter
• www.codeigniter.com
• FuelPHP
• www.fuelphp.com
• Phpixie
• www.phpixie.com
• Any others? lmajano@ortussolutions.com
5. MICROSERVICES (MICROSERVICIOS)
AN APPROACH TO DEVELOPING A SINGLE
APPLICATION AS A SUITE OF SMALL SERVICES,
EACH RUNNING IN ITS OWN PROCESS AND
COMMUNICATING WITH LIGHTWEIGHT
MECHANISMS.
Martin Fowler
5. MICROSERVICES
M C
V
M C
V
M C
V
• Mejor Enfoque
• Menos intimidación a hacer cambios
• Tolerancia de Fallas
• Mantenimiento Reduce
• Mejora Continua
• Ciclos de “Release” Cortos!
• Independencia de Requisitos
• Monolito Evoluciona
5. MICROSERVICES
FORMULA DE MICROSERVICIOS
Identifica
Remueva
Escala
HMVC Microservicios
+
FORMULA DE MODERNIZACIÓN
NORMAS DE COMBATE
• Instala tu app HMVC moderno junto a tu app legacy (Folder)
• Modifica tus puntos de entrada para routing de URL: 

legacy y moderno
• Identifica requisitos a modernizar:
• Construye como triads HMVC ó
• Refactorización a micro servicios
• Nuevos requisitos van al HMVC como triads
• Nuevos requisitos tienen pruebas BDD
• JUST DO IT!
Identifica Remueva Escala
CAMBIO DE
PARADIGMA
MODERNIZAR…
No hay Hacks
No hay Atajos
Trabajo
Disciplina
• Incremento en conversiones
• Decremento de carga de paginas
• Agilidad
• Menos Mantenimiento
• Mucho mas visibilidad total
• Emoción de los equipos
• Moral Renovada
• Mas enfoque en inovar y no solventar
BENEFICIOS
Lanzamientos los viernes? 

Claro que si!
Una implementación…
ColdFusion (CFML)
COLDFUSION (CFML)
COLDFUSION (CFML)
• Lenguaje Maduro (22+ años)
• Lenguaje Dinámico encima del JVM (JSR-223)
• Dos Sabores
• Adobe ColdFusion
• Paid
• Lucee CFML (lucee.org)
• Gratis & Open Source
• Compilación directa a Java Byte-Code
• Moderno, Funcional y Orientado a Objetos
• Script oTags
• Eco systema maduro
• Cuando fue la ultima vez que lo viste?
COLDBOX MODULES = SUPER PODERES
• MVC desde 2006, HMVC desde 2011
• MVC triads => Modules
• Direccionables
• Compuestos (Inception)
• Dependencias
• En Ejecución:
• Instalados
• Recargados
• Eliminados
• ForgeBox 400+
• www.forgebox.io
COLDBOX MODULES
• MVC por Convenciones
• Manejo de Objetos
• Manejo de URL Routers
• Manejo de Eventos
• Variables de Entorno
• Detección de Entorno
• Dependencias
• Muchisimo mas!
App

Router
Module

Router
Module

Router
Module

Router
Module

Router
Module

Router
Module

Router
Module

Router
Module

Router
Module

Router
ColdBox MVC
handlers
layouts
models
modules
views
box.json
modules_app
Dependencias
Tus Modulos
Descriptor
Anatomia de Modulo
ModuleConfig.cfc
handlers
layouts
models
modules
modules_app
Nombre Del
Modulo
box.json
views
Incepción
{
"name":"cbSwagger-shell",
"version":"1.1.0",
"slug":"cbSwagger-shell",
"private":false,
"dependencies":{
“coldbox":"^5.0.0",
“workbench":"git+https://github.com/ortus/unified-workbench.git",
"cbjavaloader":">1.0.0",
"swagger-sdk":">0.0.9"
},
"devDependencies":{
"testbox":"^2.8.0"
},
"installPaths":{
"coldbox":"coldbox/",
"testbox":"testbox/",
"cbjavaloader":"modules/cbjavaloader/",
"swagger-sdk":"modules/swagger-sdk/",
"workbench":"workbench"
},
"testbox":{
"runner":"http://localhost:49616"
},
"scripts":{
"postVersion":"recipe workbench/bump.boxr"
}
}
box.json
MODULECONFIG.CFC
• Unico requisito para un modulo
• Objeto Descriptor
• 1 función de configuración: configure()
• Debe de existir en la raíz de tu modulo
• Tiene propiedades
• Funciones de devolución
• Detecta tu entorno
• Es un “event listener”
PROPIEDADES
component{
this.activate = true;
this.disabled = false;
this.title = "My Test Module";
this.author = "Luis Majano";
this.webURL = "http://www.coldbox.org";
this.description = "A funky test module";
this.version = "1.0.0";
this.viewParentLookup = true;
this.layoutParentLookup = true;
this.entryPoint = "/testing";
this.inheritEntryPoint = true;
this.autoMapModels = true;
this.modelNamespace = "cbstore";
this.cfmapping = "cbstore";
this.aliases = [ "store", "ecommerce", "shop" ];
this.dependencies = [ "JavaLoader", "CFCouchbase" ];
}
FUNCIONES DE DEVOLUCIÓN
MODULECONFIG.CFCCONFIGURE
function configure(){
        settings = {
            caching = false,
            mailTo = "lmajano@ortussolutions.com"
        };
        layoutSettings = { defaultLayout = "relax.cfm" };
        i18n = {
            resourceBundles = {
                "cbcore" = "#moduleMapping#/i18n/cbcore"
            },
            defaultLocale = "en_US",
            localeStorage = "cookie"
        };
        interceptorSettings = {
            // ContentBox Custom Events
            customInterceptionPoints = [
                // Code Rendering
                "cb_onContentRendering", "cb_onContentStoreRendering"
            ]
        };
router.
route( “/“ ).to( “Main.index” )
route( “/:handler/:action” ).end();
    }
Ejemplo:
box install cors
MANEJO DE OBJETOS
• Cada module tiene un namespace de modelos
• Se ocupa para injections y devoluciones de modelos:
• {modelName}@{moduleName}
• property name=“builder” inject=“builder@qb”
• getInstance( “builder@qb” )
EJECUCIONES INTERNAS
#runEvent( ‘module:users.dashboard' )#
#runRoute( “photos.data“ )#
DemoTime!
modules
v1 v2 vx
modules_app
API
handlers models
Requirements
modules
v1 v2 vx
modules_app
API
handlers models
• API de Contactos
• /contactos - Todos los contactos
• /contactos/:id - Un contacto
• Versiones
• Sin base de datos
• Con documentación (openApi)
• Con pruebas BDD
• Micro servicio!
<10 minutes
QUESTIONS?
Go Modularize!
www.ortussolutions.com
@ortussolutions

More Related Content

Similar to Transforma tu Monolito con HMVC

"Al rico" PHP
"Al rico" PHP"Al rico" PHP
"Al rico" PHP
Carlos Buenosvinos
 
Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2
Ricard Clau
 
Java script para desarrolladores SharePoint
Java script para desarrolladores SharePointJava script para desarrolladores SharePoint
Java script para desarrolladores SharePoint
Adrian Diaz Cervera
 
Html5 y otras yerbas
Html5 y otras yerbasHtml5 y otras yerbas
Html5 y otras yerbas
Avanet
 
Html5 y otras yerbas
Html5 y otras yerbasHtml5 y otras yerbas
Html5 y otras yerbas
Peter Concha
 
VLCTechFest - Simplificando Controladores: Una introducción a Action-Domain ...
VLCTechFest -  Simplificando Controladores: Una introducción a Action-Domain ...VLCTechFest -  Simplificando Controladores: Una introducción a Action-Domain ...
VLCTechFest - Simplificando Controladores: Una introducción a Action-Domain ...
Miguel Ángel Sánchez Chordi
 
Frameworks y administracion de contenidos
Frameworks y administracion de contenidosFrameworks y administracion de contenidos
Frameworks y administracion de contenidos
Luis Felipe Ramirez Varela
 
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
Adrian Diaz Cervera
 
DESARROLLO RAPIDO DE APLICACIONES WEB
DESARROLLO RAPIDO DE APLICACIONES WEBDESARROLLO RAPIDO DE APLICACIONES WEB
DESARROLLO RAPIDO DE APLICACIONES WEB
Javier Condori Flores
 
Webinar Arquitectura de Microservicios
Webinar Arquitectura de MicroserviciosWebinar Arquitectura de Microservicios
Webinar Arquitectura de Microservicios
Domingo Suarez Torres
 
Novedades de ASP.NET MVC6
Novedades de ASP.NET MVC6Novedades de ASP.NET MVC6
Novedades de ASP.NET MVC6
Eduard Tomàs
 
LenguajeJavaSpringBootDesarrolloweb.pptx
LenguajeJavaSpringBootDesarrolloweb.pptxLenguajeJavaSpringBootDesarrolloweb.pptx
LenguajeJavaSpringBootDesarrolloweb.pptx
carrilloja98
 
Implementación de una estrategia digital en WordPress - WordCamp Bogotá 2018
Implementación de una estrategia digital en WordPress - WordCamp Bogotá 2018Implementación de una estrategia digital en WordPress - WordCamp Bogotá 2018
Implementación de una estrategia digital en WordPress - WordCamp Bogotá 2018
Juan Buitrago
 
Introducción a microservicios
Introducción a microserviciosIntroducción a microservicios
Introducción a microservicios
Erasmo Domínguez Jiménez
 
Symfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony FrameworkSymfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony Framework
excedesoft
 
Panel Magmaconf
Panel MagmaconfPanel Magmaconf
Panel Magmaconf
Ismael G Marín C
 
Desarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones webDesarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones web
Roberto Sanz Ciriano
 
CURSO APLICACIONES WEB
CURSO APLICACIONES WEBCURSO APLICACIONES WEB
CURSO APLICACIONES WEB
Skynet Erp
 
SpringIO 2012 Madrid-Escalabilidad con Grails
SpringIO 2012 Madrid-Escalabilidad con GrailsSpringIO 2012 Madrid-Escalabilidad con Grails
SpringIO 2012 Madrid-Escalabilidad con Grails
Domingo Suarez Torres
 
SGCE 2014 micro services
SGCE 2014 micro servicesSGCE 2014 micro services
SGCE 2014 micro services
Domingo Suarez Torres
 

Similar to Transforma tu Monolito con HMVC (20)

"Al rico" PHP
"Al rico" PHP"Al rico" PHP
"Al rico" PHP
 
Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2
 
Java script para desarrolladores SharePoint
Java script para desarrolladores SharePointJava script para desarrolladores SharePoint
Java script para desarrolladores SharePoint
 
Html5 y otras yerbas
Html5 y otras yerbasHtml5 y otras yerbas
Html5 y otras yerbas
 
Html5 y otras yerbas
Html5 y otras yerbasHtml5 y otras yerbas
Html5 y otras yerbas
 
VLCTechFest - Simplificando Controladores: Una introducción a Action-Domain ...
VLCTechFest -  Simplificando Controladores: Una introducción a Action-Domain ...VLCTechFest -  Simplificando Controladores: Una introducción a Action-Domain ...
VLCTechFest - Simplificando Controladores: Una introducción a Action-Domain ...
 
Frameworks y administracion de contenidos
Frameworks y administracion de contenidosFrameworks y administracion de contenidos
Frameworks y administracion de contenidos
 
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
 
DESARROLLO RAPIDO DE APLICACIONES WEB
DESARROLLO RAPIDO DE APLICACIONES WEBDESARROLLO RAPIDO DE APLICACIONES WEB
DESARROLLO RAPIDO DE APLICACIONES WEB
 
Webinar Arquitectura de Microservicios
Webinar Arquitectura de MicroserviciosWebinar Arquitectura de Microservicios
Webinar Arquitectura de Microservicios
 
Novedades de ASP.NET MVC6
Novedades de ASP.NET MVC6Novedades de ASP.NET MVC6
Novedades de ASP.NET MVC6
 
LenguajeJavaSpringBootDesarrolloweb.pptx
LenguajeJavaSpringBootDesarrolloweb.pptxLenguajeJavaSpringBootDesarrolloweb.pptx
LenguajeJavaSpringBootDesarrolloweb.pptx
 
Implementación de una estrategia digital en WordPress - WordCamp Bogotá 2018
Implementación de una estrategia digital en WordPress - WordCamp Bogotá 2018Implementación de una estrategia digital en WordPress - WordCamp Bogotá 2018
Implementación de una estrategia digital en WordPress - WordCamp Bogotá 2018
 
Introducción a microservicios
Introducción a microserviciosIntroducción a microservicios
Introducción a microservicios
 
Symfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony FrameworkSymfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony Framework
 
Panel Magmaconf
Panel MagmaconfPanel Magmaconf
Panel Magmaconf
 
Desarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones webDesarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones web
 
CURSO APLICACIONES WEB
CURSO APLICACIONES WEBCURSO APLICACIONES WEB
CURSO APLICACIONES WEB
 
SpringIO 2012 Madrid-Escalabilidad con Grails
SpringIO 2012 Madrid-Escalabilidad con GrailsSpringIO 2012 Madrid-Escalabilidad con Grails
SpringIO 2012 Madrid-Escalabilidad con Grails
 
SGCE 2014 micro services
SGCE 2014 micro servicesSGCE 2014 micro services
SGCE 2014 micro services
 

More from Ortus Solutions, Corp

Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
Ortus Solutions, Corp
 
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Ortus Solutions, Corp
 
Revolutionizing Task Scheduling in CFML!
Revolutionizing Task Scheduling in CFML!Revolutionizing Task Scheduling in CFML!
Revolutionizing Task Scheduling in CFML!
Ortus Solutions, Corp
 
CBDebugger : Debug your Box apps with ease!
CBDebugger : Debug your Box apps with ease!CBDebugger : Debug your Box apps with ease!
CBDebugger : Debug your Box apps with ease!
Ortus Solutions, Corp
 
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdfTheFutureIsDynamic-BoxLang-CFCamp2024.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
Ortus Solutions, Corp
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
ITB2024 - Keynote Day 1 - Ortus Solutions.pdf
ITB2024 - Keynote Day 1 - Ortus Solutions.pdfITB2024 - Keynote Day 1 - Ortus Solutions.pdf
ITB2024 - Keynote Day 1 - Ortus Solutions.pdf
Ortus Solutions, Corp
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
Ortus Solutions, Corp
 
Ortus Government.pdf
Ortus Government.pdfOrtus Government.pdf
Ortus Government.pdf
Ortus Solutions, Corp
 
Luis Majano The Battlefield ORM
Luis Majano The Battlefield ORMLuis Majano The Battlefield ORM
Luis Majano The Battlefield ORM
Ortus Solutions, Corp
 
Brad Wood - CommandBox CLI
Brad Wood - CommandBox CLI Brad Wood - CommandBox CLI
Brad Wood - CommandBox CLI
Ortus Solutions, Corp
 
Secure your Secrets and Settings in ColdFusion
Secure your Secrets and Settings in ColdFusionSecure your Secrets and Settings in ColdFusion
Secure your Secrets and Settings in ColdFusion
Ortus Solutions, Corp
 
Daniel Garcia ContentBox: CFSummit 2023
Daniel Garcia ContentBox: CFSummit 2023Daniel Garcia ContentBox: CFSummit 2023
Daniel Garcia ContentBox: CFSummit 2023
Ortus Solutions, Corp
 
ITB_2023_Human-Friendly_Scheduled_Tasks_Giancarlo_Gomez.pdf
ITB_2023_Human-Friendly_Scheduled_Tasks_Giancarlo_Gomez.pdfITB_2023_Human-Friendly_Scheduled_Tasks_Giancarlo_Gomez.pdf
ITB_2023_Human-Friendly_Scheduled_Tasks_Giancarlo_Gomez.pdf
Ortus Solutions, Corp
 
ITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdf
ITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdfITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdf
ITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdf
Ortus Solutions, Corp
 
ITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdf
ITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdfITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdf
ITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdf
Ortus Solutions, Corp
 
ITB_2023_Relationships_are_Hard_Data_modeling_with_NoSQL_Curt_Gratz.pdf
ITB_2023_Relationships_are_Hard_Data_modeling_with_NoSQL_Curt_Gratz.pdfITB_2023_Relationships_are_Hard_Data_modeling_with_NoSQL_Curt_Gratz.pdf
ITB_2023_Relationships_are_Hard_Data_modeling_with_NoSQL_Curt_Gratz.pdf
Ortus Solutions, Corp
 
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdfITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
Ortus Solutions, Corp
 
ITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdf
ITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdfITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdf
ITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdf
Ortus Solutions, Corp
 

More from Ortus Solutions, Corp (20)

Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
 
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
 
Revolutionizing Task Scheduling in CFML!
Revolutionizing Task Scheduling in CFML!Revolutionizing Task Scheduling in CFML!
Revolutionizing Task Scheduling in CFML!
 
CBDebugger : Debug your Box apps with ease!
CBDebugger : Debug your Box apps with ease!CBDebugger : Debug your Box apps with ease!
CBDebugger : Debug your Box apps with ease!
 
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdfTheFutureIsDynamic-BoxLang-CFCamp2024.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
ITB2024 - Keynote Day 1 - Ortus Solutions.pdf
ITB2024 - Keynote Day 1 - Ortus Solutions.pdfITB2024 - Keynote Day 1 - Ortus Solutions.pdf
ITB2024 - Keynote Day 1 - Ortus Solutions.pdf
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Ortus Government.pdf
Ortus Government.pdfOrtus Government.pdf
Ortus Government.pdf
 
Luis Majano The Battlefield ORM
Luis Majano The Battlefield ORMLuis Majano The Battlefield ORM
Luis Majano The Battlefield ORM
 
Brad Wood - CommandBox CLI
Brad Wood - CommandBox CLI Brad Wood - CommandBox CLI
Brad Wood - CommandBox CLI
 
Secure your Secrets and Settings in ColdFusion
Secure your Secrets and Settings in ColdFusionSecure your Secrets and Settings in ColdFusion
Secure your Secrets and Settings in ColdFusion
 
Daniel Garcia ContentBox: CFSummit 2023
Daniel Garcia ContentBox: CFSummit 2023Daniel Garcia ContentBox: CFSummit 2023
Daniel Garcia ContentBox: CFSummit 2023
 
ITB_2023_Human-Friendly_Scheduled_Tasks_Giancarlo_Gomez.pdf
ITB_2023_Human-Friendly_Scheduled_Tasks_Giancarlo_Gomez.pdfITB_2023_Human-Friendly_Scheduled_Tasks_Giancarlo_Gomez.pdf
ITB_2023_Human-Friendly_Scheduled_Tasks_Giancarlo_Gomez.pdf
 
ITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdf
ITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdfITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdf
ITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdf
 
ITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdf
ITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdfITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdf
ITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdf
 
ITB_2023_Relationships_are_Hard_Data_modeling_with_NoSQL_Curt_Gratz.pdf
ITB_2023_Relationships_are_Hard_Data_modeling_with_NoSQL_Curt_Gratz.pdfITB_2023_Relationships_are_Hard_Data_modeling_with_NoSQL_Curt_Gratz.pdf
ITB_2023_Relationships_are_Hard_Data_modeling_with_NoSQL_Curt_Gratz.pdf
 
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdfITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
 
ITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdf
ITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdfITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdf
ITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdf
 

Recently uploaded

Trabajo de ten¡cnologia 11-2.......... (1).pdf
Trabajo de ten¡cnologia 11-2.......... (1).pdfTrabajo de ten¡cnologia 11-2.......... (1).pdf
Trabajo de ten¡cnologia 11-2.......... (1).pdf
ElizabethAcostaQuinc
 
analisis de grafica Realizado por Juliana Diaz Cardona.pdf
analisis de grafica Realizado por Juliana Diaz Cardona.pdfanalisis de grafica Realizado por Juliana Diaz Cardona.pdf
analisis de grafica Realizado por Juliana Diaz Cardona.pdf
RazeThefox
 
Programas relacionados con la telemática.pdf
Programas relacionados con la telemática.pdfProgramas relacionados con la telemática.pdf
Programas relacionados con la telemática.pdf
DiegoPinillo
 
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajasSlideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
AdrianaRengifo14
 
El uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidianaEl uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidiana
231458066
 
Morado y Verde Animado Patrón Abstracto Proyecto de Grupo Presentación de Edu...
Morado y Verde Animado Patrón Abstracto Proyecto de Grupo Presentación de Edu...Morado y Verde Animado Patrón Abstracto Proyecto de Grupo Presentación de Edu...
Morado y Verde Animado Patrón Abstracto Proyecto de Grupo Presentación de Edu...
KukiiSanchez
 
Flows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos FeaturesFlows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos Features
Paola De la Torre
 
Herramientas para los abogados, 3 herramientas
Herramientas para los abogados, 3 herramientasHerramientas para los abogados, 3 herramientas
Herramientas para los abogados, 3 herramientas
yessicacarrillo16
 
INFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIAINFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIA
renzocruz180310
 
Excel Avanzado_ Diagrama de Pareto .pdf
Excel Avanzado_  Diagrama de Pareto .pdfExcel Avanzado_  Diagrama de Pareto .pdf
Excel Avanzado_ Diagrama de Pareto .pdf
IsabellaLugo3
 
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptxLA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
pauca1501alvar
 
Diagrama de pareto.docx trabajo de tecnologia
Diagrama de pareto.docx trabajo de tecnologiaDiagrama de pareto.docx trabajo de tecnologia
Diagrama de pareto.docx trabajo de tecnologia
RazeThefox
 
Estructuras básicas_ conceptos básicos de programación (1).pdf
Estructuras básicas_ conceptos básicos de programación  (1).pdfEstructuras básicas_ conceptos básicos de programación  (1).pdf
Estructuras básicas_ conceptos básicos de programación (1).pdf
MaraJos722801
 
Estructuras básicas_ conceptos básicos de programación (1).pdf
Estructuras básicas_ conceptos básicos de programación  (1).pdfEstructuras básicas_ conceptos básicos de programación  (1).pdf
Estructuras básicas_ conceptos básicos de programación (1).pdf
AnaSofaRosmaya
 
Plantilla carrier y tecnologia de TIGO.pptx
Plantilla carrier y tecnologia de TIGO.pptxPlantilla carrier y tecnologia de TIGO.pptx
Plantilla carrier y tecnologia de TIGO.pptx
edwinedsonsuyo
 
Gobernanza con SharePoint Premium de principio a fin
Gobernanza con SharePoint Premium de principio a finGobernanza con SharePoint Premium de principio a fin
Gobernanza con SharePoint Premium de principio a fin
Juan Carlos Gonzalez
 
trabajo monografico sobre el yandex .jim
trabajo monografico sobre el yandex .jimtrabajo monografico sobre el yandex .jim
trabajo monografico sobre el yandex .jim
jhonyaicaterodriguez
 
trabajo _20240621_132119_0000.pdf-.......
trabajo _20240621_132119_0000.pdf-.......trabajo _20240621_132119_0000.pdf-.......
trabajo _20240621_132119_0000.pdf-.......
m15918387
 
informe de diagrama de pareto actividad segundo periodo 11-2
informe de diagrama de pareto actividad segundo periodo 11-2informe de diagrama de pareto actividad segundo periodo 11-2
informe de diagrama de pareto actividad segundo periodo 11-2
SofaNava1
 
C1B3RWALL La red de cooperación de Madrid.pptx
C1B3RWALL La red de cooperación de Madrid.pptxC1B3RWALL La red de cooperación de Madrid.pptx
C1B3RWALL La red de cooperación de Madrid.pptx
Guillermo Obispo San Román
 

Recently uploaded (20)

Trabajo de ten¡cnologia 11-2.......... (1).pdf
Trabajo de ten¡cnologia 11-2.......... (1).pdfTrabajo de ten¡cnologia 11-2.......... (1).pdf
Trabajo de ten¡cnologia 11-2.......... (1).pdf
 
analisis de grafica Realizado por Juliana Diaz Cardona.pdf
analisis de grafica Realizado por Juliana Diaz Cardona.pdfanalisis de grafica Realizado por Juliana Diaz Cardona.pdf
analisis de grafica Realizado por Juliana Diaz Cardona.pdf
 
Programas relacionados con la telemática.pdf
Programas relacionados con la telemática.pdfProgramas relacionados con la telemática.pdf
Programas relacionados con la telemática.pdf
 
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajasSlideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
 
El uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidianaEl uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidiana
 
Morado y Verde Animado Patrón Abstracto Proyecto de Grupo Presentación de Edu...
Morado y Verde Animado Patrón Abstracto Proyecto de Grupo Presentación de Edu...Morado y Verde Animado Patrón Abstracto Proyecto de Grupo Presentación de Edu...
Morado y Verde Animado Patrón Abstracto Proyecto de Grupo Presentación de Edu...
 
Flows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos FeaturesFlows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos Features
 
Herramientas para los abogados, 3 herramientas
Herramientas para los abogados, 3 herramientasHerramientas para los abogados, 3 herramientas
Herramientas para los abogados, 3 herramientas
 
INFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIAINFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIA
 
Excel Avanzado_ Diagrama de Pareto .pdf
Excel Avanzado_  Diagrama de Pareto .pdfExcel Avanzado_  Diagrama de Pareto .pdf
Excel Avanzado_ Diagrama de Pareto .pdf
 
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptxLA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
 
Diagrama de pareto.docx trabajo de tecnologia
Diagrama de pareto.docx trabajo de tecnologiaDiagrama de pareto.docx trabajo de tecnologia
Diagrama de pareto.docx trabajo de tecnologia
 
Estructuras básicas_ conceptos básicos de programación (1).pdf
Estructuras básicas_ conceptos básicos de programación  (1).pdfEstructuras básicas_ conceptos básicos de programación  (1).pdf
Estructuras básicas_ conceptos básicos de programación (1).pdf
 
Estructuras básicas_ conceptos básicos de programación (1).pdf
Estructuras básicas_ conceptos básicos de programación  (1).pdfEstructuras básicas_ conceptos básicos de programación  (1).pdf
Estructuras básicas_ conceptos básicos de programación (1).pdf
 
Plantilla carrier y tecnologia de TIGO.pptx
Plantilla carrier y tecnologia de TIGO.pptxPlantilla carrier y tecnologia de TIGO.pptx
Plantilla carrier y tecnologia de TIGO.pptx
 
Gobernanza con SharePoint Premium de principio a fin
Gobernanza con SharePoint Premium de principio a finGobernanza con SharePoint Premium de principio a fin
Gobernanza con SharePoint Premium de principio a fin
 
trabajo monografico sobre el yandex .jim
trabajo monografico sobre el yandex .jimtrabajo monografico sobre el yandex .jim
trabajo monografico sobre el yandex .jim
 
trabajo _20240621_132119_0000.pdf-.......
trabajo _20240621_132119_0000.pdf-.......trabajo _20240621_132119_0000.pdf-.......
trabajo _20240621_132119_0000.pdf-.......
 
informe de diagrama de pareto actividad segundo periodo 11-2
informe de diagrama de pareto actividad segundo periodo 11-2informe de diagrama de pareto actividad segundo periodo 11-2
informe de diagrama de pareto actividad segundo periodo 11-2
 
C1B3RWALL La red de cooperación de Madrid.pptx
C1B3RWALL La red de cooperación de Madrid.pptxC1B3RWALL La red de cooperación de Madrid.pptx
C1B3RWALL La red de cooperación de Madrid.pptx
 

Transforma tu Monolito con HMVC