germán peraferrer: cormo framework
Post on 17-May-2015
399 Views
Preview:
DESCRIPTION
TRANSCRIPT
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 ?
Model
ControllerView
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 …
PDO
Memcached
MySQL MSSQL DB2 Oracle PostgreSQL SQLITE SYBASE Informix ODBC
Web Services(NuSOAP)
Diversas Tecnologías y Aplicaciones
lithium
como se utiliza ?
descargar configurar / modelar generar utilizar
http://code.google.com/p/cormoframework
config.php schema.php
cormo Generator.phpvalidSchema.php
descargar e instalar …
Descargamos y luego descomprimimos el archivo en el directorio del proyecto a crear.
estructura de directorio …
Directorio del ProyectoClass del Controlador y Web Services
Web ServicesClass 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 …
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 Class Geek
vamos al grano, codifiquemos …
Consultar los Objetos persistidos de la Class Geek
vamos al grano, codifiquemos …
Consultar los Objetos persistidos de la Class Geek
vamos al grano, codifiquemos …
Consultar los Objetos persistidos de la Class Geek
vamos al grano, codifiquemos …
Consultar los Objetos persistidos de la Class Geek
vamos al grano, codifiquemos …
Consultar los Objetos persistidos de la Class Geek
vamos al grano, codifiquemos …
Consultar los Objetos persistidos de la Class Geek
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 muchos Gadgets
creando relaciones 1:n
Ahora Geek puede tener muchos Gadgets
creando relaciones 1:n
Ahora Geek puede tener muchos Gadgets
creando relaciones 1:n
Ahora Geek puede tener muchos Gadgets
creando relaciones 1:n
Ahora Geek puede tener muchos Gadgets
creando relaciones 1:n
Ahora Geek puede tener muchos Gadgets
creando relaciones 1:n
Ahora Geek puede tener muchos Gadgets
creando relaciones 1:n
Ahora Geek puede tener muchos Gadgets
creando relaciones 1:n
Ahora Geek puede tener muchos Gadgets
creando relaciones 1:n
Ahora Geek puede tener muchos Gadgets
creando relaciones 1:n
Ahora Geek puede tener muchos Gadgets
creando relaciones 1:n
Ahora Geek puede tener muchos Gadgets
creando relaciones 1:n
Ahora Geek puede tener muchos Gadgets
creando relaciones 1:n
Ahora Geek puede tener muchos Gadgets
creando relaciones 1:n
Ahora Geek puede tener muchos Gadgets
múltiples Data Source …
Ahora Geek puede tener muchos Gadgets, pero en Data Source diferentes
múltiples Data Source …
Ahora Geek puede tener muchos Gadgets, pero en Data Source diferentes
múltiples Data Source …
Ahora Geek puede tener muchos Gadgets, pero en Data Source diferentes
múltiples Data Source …
Ahora Geek puede tener muchos Gadgets, pero en Data Source diferentes
múltiples Data Source …
Ahora Geek puede tener muchos Gadgets, pero en Data Source diferentes
múltiples Data Source …
Ahora Geek puede tener muchos Gadgets, pero en Data Source diferentes
múltiples Data Source …
Ahora Geek puede tener muchos Gadgets, pero en Data Source diferentes
múltiples Data Source …
Ahora Geek puede tener muchos Gadgets, 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 …
Class definidas en schema.php
Class por Objeto de schema.php para consultas masivas
Web Services por Objeto 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 …
http://code.google.com/p/cormoframework
http://twitter.com/cormo_framework
Proyecto:
Twitter:
top related