Cormo Framework

97

Transcript of Cormo Framework

Es un ORM Framework

Un Framework, debido a que mediante un conjunto de conceptos, prácticas ycriterios nos permite enfocar un tipo de problemática particular, en nuestrocaso, como persistir un Modelo de manera transparente.

Un ORM, porque como su definición nos dice, mediante esta técnica deprogramación, nos ayuda a trabajar con Modelos de Datos Relacionales yprogramación Orientada a Objetos de manera intuitiva y transparente.

Su principal objetivo es ayudarnos a solucionar el problema de la persistencia deModelos de Datos, gracias a esto logramos focalizarnos en la problemática a resolvery no en como y con que persistir los datos generados por el Modelo OOP. Ahorrandoun 35% de nuestro tiempo de desarrollo.

Otro objetivo no menos importante es ofrecer conectividad con diversas tecnologías.

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)

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

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.

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

PDO

Memcached

MySQLMSSQLDB2OraclePostgreSQLSQLITESYBASEInformixODBC

Web Services(NuSOAP)

Diversas Tecnologías y Aplicaciones

lithium

descargar configurar / modelar generar utilizar

http://code.google.com/p/cormoframework

config.php schema.php

cormo Generator.phpvalidSchema.php

Descargamos y luego descomprimimos el archivo en el directorio del proyecto a crear.

Directorio del Proyecto

Class del Controlador y Web Services

Web Services

Class Proxy para Web Services externos

Núcleo del FrameworkNúcleo del Generador de Class y WSDLRepositorio de los Class generados

Carga los Class bajo demandaConfiguración del Framework y AplicaciónGenerador de Class, WSDL y SQL

Esquema de Modelado para el ORMValidar el Esquema Modelado

Configuración de la aplicación

Constantes para el Framework

Configuración adicional de la aplicación

Definición del Modelo de Negocio

Definición de un Data Source

Definición de un Data Source

Definición de un Objeto / Tabla

Definición de un Objeto / Tabla

Validar el Esquema Modelado

Validar Esquema

Validar el Esquema Modelado

Generar archivos Class, WSDL y SQL

Generador

Generar archivos Class, WSDL y SQL

Solamente debemos mover los Class y WSDL generados

Class que usaremos en nuestros proyectos

WSDL que usaremos en nuestros proyectos

Class para realizar consultas masivas

Creemos un ejemplo simple

Creemos un ejemplo simple

Creemos un ejemplo simple

Creemos un ejemplo simple

Creemos un ejemplo simple

Creemos un ejemplo simple

Creemos un ejemplo simple

Consultar los Objetos persistidos de la Class Geek

Consultar los Objetos persistidos de la Class Geek

Consultar los Objetos persistidos de la Class Geek

Consultar los Objetos persistidos de la Class Geek

Consultar los Objetos persistidos de la Class Geek

Consultar los Objetos persistidos de la Class Geek

Consultar los Objetos persistidos de la Class Geek

Suponemos que un Geek puede tener solo un Gadget

Suponemos que un Geek puede tener solo un Gadget

Suponemos que un Geek puede tener solo un Gadget

Suponemos que un Geek puede tener solo un Gadget

Suponemos que un Geek puede tener solo un Gadget

Suponemos que un Geek puede tener solo un Gadget

Suponemos que un Geek puede tener solo un Gadget

Suponemos que un Geek puede tener solo un Gadget

Suponemos que un Geek puede tener solo un Gadget

Suponemos que un Geek puede tener solo un Gadget

Suponemos que un Geek puede tener solo un Gadget

Ahora Geek puede tener muchos Gadgets

Ahora Geek puede tener muchos Gadgets

Ahora Geek puede tener muchos Gadgets

Ahora Geek puede tener muchos Gadgets

Ahora Geek puede tener muchos Gadgets

Ahora Geek puede tener muchos Gadgets

Ahora Geek puede tener muchos Gadgets

Ahora Geek puede tener muchos Gadgets

Ahora Geek puede tener muchos Gadgets

Ahora Geek puede tener muchos Gadgets

Ahora Geek puede tener muchos Gadgets

Ahora Geek puede tener muchos Gadgets

Ahora Geek puede tener muchos Gadgets

Ahora Geek puede tener muchos Gadgets

Ahora Geek puede tener muchos Gadgets

Ahora Geek puede tener muchos Gadgets, pero en Data Source diferentes

Ahora Geek puede tener muchos Gadgets, pero en Data Source diferentes

Ahora Geek puede tener muchos Gadgets, pero en Data Source diferentes

Ahora Geek puede tener muchos Gadgets, pero en Data Source diferentes

Ahora Geek puede tener muchos Gadgets, pero en Data Source diferentes

Ahora Geek puede tener muchos Gadgets, pero en Data Source diferentes

Ahora Geek puede tener muchos Gadgets, pero en Data Source diferentes

Ahora Geek puede tener muchos Gadgets, pero en Data Source diferentes

Class definidas en schema.php

Class por Objeto de schema.php para consultas masivas

Web Services por Objeto en schema.php

MySQL

MSSQL

http://code.google.com/p/cormoframework

http://twitter.com/cormo_framework

Proyecto:

Twitter: