SlideShare una empresa de Scribd logo
1 de 97
cormo Framework - Beta 1.0
que es ? Es un ORM Framework Un Framework, debido a que mediante un conjunto de conceptos, prácticas y criterios nos permite enfocar un tipo de problemática particular, en nuestro caso, como persistir un Modelo de manera transparente. Un ORM, porque como su definición nos dice, mediante esta técnica de programación, nos ayuda a trabajar con Modelos de Datos Relacionales y programación Orientada a Objetos de manera intuitiva y transparente. Su principal objetivo es ayudarnos a solucionar el problema de la persistencia de Modelos de Datos, gracias a esto logramos focalizarnos en la problemática a resolver y no en como y con que persistir los datos generados por el Modelo OOP. Ahorrando un 35% de nuestro tiempo de desarrollo.  Otro objetivo no menos importante es ofrecer conectividad con diversas tecnologías.
que es ?  Es un ORM y algo más, desarrollado en PHP  Compatible con versiones de PHP 4.5 y superiores  Toma fundamentos de Hibernate  Influenciado por Doctrine y Propel  Implementa SPL (Standard PHP Library)  Implementa Web Services mediante NuSOAP(próximo a migrar)  Su core de persistencia es PDO (PHP Data Objects)  Implementa Memcached para mejorar la performance (en test)
que nos puede ofrecer ?  Olvidarnos de cómo persistir los Objetos en una Base de Datos  Independizarnos de la infraestructura de la Base de Datos  Trabajar con Objetos de diversas DB’s y relacionarlos entre sí  Genera el Código de los Class y Web Services a partir de un Modelo definido  Código 100% OOP  Extender o alterar funcionalidad es intuitivo y sencillo  Orientado para integrar con patrones MVC (Model View Controller)  Comunicar el Core con diversas tecnologías y aplicaciones a través de Web Services
que NO esperar ? Class generados a partir del Modelo definido Class personalizados y Web Services generados a partir del Modelo definido NO es parte del alcance de CORMO, se deja a herramientas especificas y mas potentes.
sus objetivos …  Evitar tareas tediosas y repetitivas con la definición de los Class y todas las sentencias SQL para realizar la persistencia de los datos  Abstraernos de la Infraestructura de implementación, de los métodos de persistencia y relación de los Objetos  Otorgar Flexibilidad al Modelo de Negocio permitiendo realizar cambios significativos de manera, Ordenada, Controlada y Veloz  Integrar el Modelo de Negocio con cualquier tecnología y aplicación de manera transparente, sencilla y automática, permitiendo una centralización del core  Orientarnos a enfocar nuestro esfuerzo en la Problemática de Negocio y brindar soluciones mas robustas
mapa de integración …  MySQL  MSSQL  DB2  Oracle  PostgreSQL  SQLITE  SYBASE  Informix  ODBC lithium Web Services (NuSOAP) PDO Diversas Tecnologías y Aplicaciones Memcached
como se utiliza ? http://code.google.com/p/cormoframework descargar                     configurar / modelar                         generar                                   utilizar config.php schema.php cormo Generator.php validSchema.php
descargar  e instalar … Descargamos y luego descomprimimos el archivo en el directorio del proyecto a crear.
estructura de directorio … Directorio del Proyecto Class del Controlador y Web Services Web Services Class Proxy para Web Services externos Núcleo del Framework Núcleo del Generador de Class y WSDL Repositorio de los Class generados Carga los Class bajo demanda Configuración del Framework y Aplicación Generador de Class, WSDL y SQL Esquema de Modelado para el ORM Validar el Esquema Modelado
configuración … Configuración de la aplicación
configuración … Constantes para el Framework
configuración … Configuración adicional de la aplicación
modelado … Definición del Modelo de Negocio
modelado … Definición de un Data Source
modelado … Definición de un Data Source
modelado … Definición de un Objeto / Tabla
modelado … Definición de un Objeto / Tabla
validar  el esquema modelado … Validar el Esquema Modelado Validar Esquema
validar  el esquema modelado … Validar el Esquema Modelado
generador … Generar archivos Class, WSDL y SQL Generador
generador … Generar archivos Class, WSDL y SQL
comenzar a utilizar el modelo … Solamente debemos mover los Class y WSDL generados
estructura de directorios … Class que usaremos en nuestros proyectos WSDL que usaremos en nuestros proyectos Class para realizar consultas masivas
vamos al grano, codifiquemos … Creemos un ejemplo simple
vamos al grano, codifiquemos … Creemos un ejemplo simple
vamos al grano, codifiquemos … Creemos un ejemplo simple
vamos al grano, codifiquemos … Creemos un ejemplo simple
vamos al grano, codifiquemos … Creemos un ejemplo simple
vamos al grano, codifiquemos … Creemos un ejemplo simple
vamos al grano, codifiquemos … Creemos un ejemplo simple
vamos al grano, codifiquemos … Consultar los Objetos persistidos de la ClassGeek
vamos al grano, codifiquemos … Consultar los Objetos persistidos de la ClassGeek
vamos al grano, codifiquemos … Consultar los Objetos persistidos de la ClassGeek
vamos al grano, codifiquemos … Consultar los Objetos persistidos de la ClassGeek
vamos al grano, codifiquemos … Consultar los Objetos persistidos de la ClassGeek
vamos al grano, codifiquemos … Consultar los Objetos persistidos de la ClassGeek
vamos al grano, codifiquemos … Consultar los Objetos persistidos de la ClassGeek
creando relaciones 1:1 Suponemos que un Geek puede tener solo un Gadget
creando relaciones 1:1 Suponemos que un Geek puede tener solo un Gadget
creando relaciones 1:1 Suponemos que un Geek puede tener solo un Gadget
creando relaciones 1:1 Suponemos que un Geek puede tener solo un Gadget
creando relaciones 1:1 Suponemos que un Geek puede tener solo un Gadget
creando relaciones 1:1 Suponemos que un Geek puede tener solo un Gadget
creando relaciones 1:1 Suponemos que un Geek puede tener solo un Gadget
creando relaciones 1:1 Suponemos que un Geek puede tener solo un Gadget
creando relaciones 1:1 Suponemos que un Geek puede tener solo un Gadget
creando relaciones 1:1 Suponemos que un Geek puede tener solo un Gadget
creando relaciones 1:1 Suponemos que un Geek puede tener solo un Gadget
creando relaciones 1:n Ahora Geek puede tener muchosGadgets
creando relaciones 1:n Ahora Geek puede tener muchosGadgets
creando relaciones 1:n Ahora Geek puede tener muchosGadgets
creando relaciones 1:n Ahora Geek puede tener muchosGadgets
creando relaciones 1:n Ahora Geek puede tener muchosGadgets
creando relaciones 1:n Ahora Geek puede tener muchosGadgets
creando relaciones 1:n Ahora Geek puede tener muchosGadgets
creando relaciones 1:n Ahora Geek puede tener muchosGadgets
creando relaciones 1:n Ahora Geek puede tener muchosGadgets
creando relaciones 1:n Ahora Geek puede tener muchosGadgets
creando relaciones 1:n Ahora Geek puede tener muchosGadgets
creando relaciones 1:n Ahora Geek puede tener muchosGadgets
creando relaciones 1:n Ahora Geek puede tener muchosGadgets
creando relaciones 1:n Ahora Geek puede tener muchosGadgets
creando relaciones 1:n Ahora Geek puede tener muchosGadgets
múltiples Data Source … Ahora Geek puede tener muchosGadgets, pero en Data Source diferentes
múltiples Data Source … Ahora Geek puede tener muchosGadgets, pero en Data Source diferentes
múltiples Data Source … Ahora Geek puede tener muchosGadgets, pero en Data Source diferentes
múltiples Data Source … Ahora Geek puede tener muchosGadgets, pero en Data Source diferentes
múltiples Data Source … Ahora Geek puede tener muchosGadgets, pero en Data Source diferentes
múltiples Data Source … Ahora Geek puede tener muchosGadgets, pero en Data Source diferentes
múltiples Data Source … Ahora Geek puede tener muchosGadgets, pero en Data Source diferentes
múltiples Data Source … Ahora Geek puede tener muchosGadgets, pero en Data Source diferentes
agregar o modificar funcionalidad …
agregar o modificar funcionalidad …
agregar o modificar funcionalidad …
agregar o modificar funcionalidad …
agregar o modificar funcionalidad …
Web Services, integración … Web Services por Objeto en schema.php Class por Objeto de schema.php para consultas masivas Class definidas en schema.php
Web Services, integración …
Web Services, integración …
Web Services, integración …
Web Services, integración …
Web Services, integración …
Web Services, integración …
Web Services, integración …
Web Services, integración … MySQL MSSQL
integración con Adobe Flex  …
integración con Adobe Flex  …
integración con Adobe Flex  …
integración con Adobe Flex  …
integración con Adobe Flex  …
integración con Adobe Flex  …
integración con Adobe Flex  …
integración con Adobe Flex  …
integración con Adobe Flex  …
integración con Adobe Flex  …
muchas gracias a todos … Proyecto: http://code.google.com/p/cormoframework Twitter: http://twitter.com/cormo_framework

Más contenido relacionado

Similar a Cormo Framework

Tecnología Orientada A Objetos
Tecnología Orientada A ObjetosTecnología Orientada A Objetos
Tecnología Orientada A ObjetosAndrés
 
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...Corporacion de Industrias Tecnologicas S.A.
 
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
 
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptxGabriela Soto
 
Combinación ganadora: Plone como CMS, tu framework preferido como frontend
Combinación ganadora: Plone como CMS, tu framework preferido como frontendCombinación ganadora: Plone como CMS, tu framework preferido como frontend
Combinación ganadora: Plone como CMS, tu framework preferido como frontendmenttes
 
Introducción Curso iOS
Introducción Curso iOSIntroducción Curso iOS
Introducción Curso iOSbrainybogota
 
Gestionar mis proyectos con ayuda de CodeIgniter
Gestionar mis proyectos con ayuda de CodeIgniterGestionar mis proyectos con ayuda de CodeIgniter
Gestionar mis proyectos con ayuda de CodeIgniterandrewzg
 
SpringFramework Overview
SpringFramework OverviewSpringFramework Overview
SpringFramework Overviewzerovirus23
 
Configuración básica de Entity Framework
Configuración básica de Entity FrameworkConfiguración básica de Entity Framework
Configuración básica de Entity Frameworkander_gs
 
Java script para desarrolladores SharePoint
Java script para desarrolladores SharePointJava script para desarrolladores SharePoint
Java script para desarrolladores SharePointAdrian Diaz Cervera
 
Wordpress: El Framework desconocido
Wordpress: El Framework desconocidoWordpress: El Framework desconocido
Wordpress: El Framework desconocidoSamuel Rocha
 
Mootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JSMootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JSIan Monge Pérez
 
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
 

Similar a Cormo Framework (20)

Modelo por descomposicion
Modelo por descomposicionModelo por descomposicion
Modelo por descomposicion
 
Tecnología Orientada A Objetos
Tecnología Orientada A ObjetosTecnología Orientada A Objetos
Tecnología Orientada A Objetos
 
5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web
 
.Net framework
.Net framework.Net framework
.Net framework
 
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
 
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...
 
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
 
Metadata api en apex
Metadata api en apexMetadata api en apex
Metadata api en apex
 
Combinación ganadora: Plone como CMS, tu framework preferido como frontend
Combinación ganadora: Plone como CMS, tu framework preferido como frontendCombinación ganadora: Plone como CMS, tu framework preferido como frontend
Combinación ganadora: Plone como CMS, tu framework preferido como frontend
 
Tipos de coneciones
Tipos de conecionesTipos de coneciones
Tipos de coneciones
 
Tema 5
Tema 5Tema 5
Tema 5
 
Atix20
Atix20Atix20
Atix20
 
Introducción Curso iOS
Introducción Curso iOSIntroducción Curso iOS
Introducción Curso iOS
 
Gestionar mis proyectos con ayuda de CodeIgniter
Gestionar mis proyectos con ayuda de CodeIgniterGestionar mis proyectos con ayuda de CodeIgniter
Gestionar mis proyectos con ayuda de CodeIgniter
 
SpringFramework Overview
SpringFramework OverviewSpringFramework Overview
SpringFramework Overview
 
Configuración básica de Entity Framework
Configuración básica de Entity FrameworkConfiguración básica de Entity Framework
Configuración básica de Entity Framework
 
Java script para desarrolladores SharePoint
Java script para desarrolladores SharePointJava script para desarrolladores SharePoint
Java script para desarrolladores SharePoint
 
Wordpress: El Framework desconocido
Wordpress: El Framework desconocidoWordpress: El Framework desconocido
Wordpress: El Framework desconocido
 
Mootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JSMootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JS
 
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 ...
 

Último

Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...solanocortezluisalfr
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfaxelv9257
 
Retornamos a la escuela y nos organizamos para convivir en armonía
Retornamos a la escuela y nos organizamos para convivir en armoníaRetornamos a la escuela y nos organizamos para convivir en armonía
Retornamos a la escuela y nos organizamos para convivir en armoníaJuanPabloVictorianoS
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Editorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdfEditorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdfYanitza28
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...axelv9257
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxgustavovasquezv56
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
Editorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdfEditorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdfYanitza28
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 

Último (17)

Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
 
Retornamos a la escuela y nos organizamos para convivir en armonía
Retornamos a la escuela y nos organizamos para convivir en armoníaRetornamos a la escuela y nos organizamos para convivir en armonía
Retornamos a la escuela y nos organizamos para convivir en armonía
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Editorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdfEditorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdf
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Editorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdfEditorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdf
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 

Cormo Framework