ActionController Action * CONTROLLERVIEW listar_x.html listar_y.html XManagerYManager managers ClaseXClaseY XQueryYQuery MODEL MODEL VIEW CONTROLLER (MVC)

Slides:



Advertisements
Presentaciones similares
2010Ing. de Sistemas II Persistencia en EJB3 Pasos para crear entity beans.
Advertisements

JEE Entity Enterprise Beans Herencia. 2009Ing. de Sistemas II2 Herencia y Polimorfismo en Entity Beans Los Entity Beans son clases Java comunes que soportan.
Las aplicaciones requieren datos persistentes
Curso de java básico (scjp)
integridad referencial
BASE DE DATOS OBJETO RELACIONAL
Fundamentos de Base de Datos Introducción
Capa de Persistencia Daniel Fernández Lanvin.
Desarrollo de una Aplicación Web sobre tecnología Microsoft .NET
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:23 PRESENTACION: BASE DE DATOS ALUMNAS: Velazquez Corona Elsa Ponciano Antonio.
Acceso a bases de datos MySQL en PHP
Desarrollo de Aplicaciones para Internet
DISEÑO Y GESTIÓN DE BASES DE DATOS Luciano H. Tamargo Depto. de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur, Bahía Blanca INTRODUCCIÓN.
Teoría de los lenguajes Proyecto SIGU Equipo Nº3 Universidad Argentina J. F. Kennedy Sede: Don Bosco Integrantes: Irene Arias Fernández Mariana Pacheco.
Lenguaje de consulta de Hibernate
BackBone JS Una introducción.
PRIVILEGIOS DE ACCESO EN INFORMIX
Características Técnicas
Francisco Moreno Bases de Datos II Universidad Nacional
Características Objeto Relacionales en Oracle
Oracle, orientado a objetos
JAVA Persistence API (JPA)
4.3. Privilegios de usuarios
Tema 3 J2EE Java Database Connectivity Temas Selectos de Cómputo Grupo 912.
Lic. Rosemary Torrico Bascopé
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA CINCO CONSOLE.
Tema 10: Interfaces Antonio J. Sierra.
1 Ingeniería del Software Ejercicios de Implementación  Caso de Uso Total Gasto (Junio 2003)  Caso de Uso Mejor Usuario (Septiembre 2003)  Caso de Uso.
Colecciones.
1 TEMA 5. Seguridad en Java 1.Introducción a los Controladores de Seguridad 2.Decidir qué Métodos Sobreescribir del SecurityManager 3.Escribir un Controlador.
SQL Básico Prof. Nelliud D. Torres.
SQL Structured Query Language
Desarrollo de Aplicaciones Utilizando Java Edición Empresarial – JEE6
Bases de datos en la Web n Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la información de un sitio web n Ventajas –Proporcionar.
BASE DE DATOS BY: Julián Villar Vázquez.
Tutor: Ing. Juan E. Talavera Horn 2010 GWT – EJB Patrones de diseño e integración.
CONCEPTOS BASICOS SQL SERVER SEBASTIAN MARTINEZ GARCIA.
 Patrón de diseño de software.  Representar de forma Orientada a Objetos los datos de una Base de Datos Relacional.  Consiste en instancias de clase.
ARQUITECTURA Modelo/Vista/Controlador Daniel Jiménez Pérez
EMPRESA DISTRIBUIDORA DE CERVEZA
Programación en Visual Basic Lección #8: SQL Por Antonio F. Huertas.
REFERENCIA DIRECTA INSEGURA A OBJETOS
M.C. Juan Carlos Olivares Rojas. Code Igniter “It’s an Open Source Web Application Framework that helps you write incredible PHP programs”
Java Data Base Connectivity
Daniel Fernández Lanvin Capa de Presentación. Daniel Fernández Lanvin Capa de Presentación Responsabilidades Navegabilidad del sistema Formateo de los.
Structured Query Language (Lenguaje Estructurado de Consultas)
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
MVC con Spring Temas Selectos de Cómputo Cibernética 912 Agosto-Diciembre 2005.
Manual Desarrollo Flex – J2EE. Contenidos Análisis y Diseño 1 Implementación 2 J2EE 3 Pruebas 4.
Para pasar a tablas todos los datos sin dejar nada y que las tablas tengan sentido por si solas se tiene que seguir unos pasos: 1.Toda entidad se transforma.
Visual Basic FUNCIONES Y PROCEDIMIENTOS
Se producen cuando una aplicación recibe datos no confiables y estos no han sido validados adecuadamente antes de procesarlos, lo cual puede llevar a que.
FUNCIONES DE UN SISTEMA DE PROTECCION Por: Juan Giovanny Lima González.
SQL (Structured Query Language) Lenguaje orientado a bases de datos y sobre todo, al manejo de consultas; el objetivo principal de SQL es la realización.
MSSQL SERVER CURSO BÁSICO 1. CONCEPTOS BASICOS DE SQL. DESCRIPCIÓN DEL CURSO. Sesión 3: Índices Uso, Creación, Tipos, Eliminación LENGUAJE DE CONSULTAS.
Your Logo ING. FREDY ALEXANDER MARTINEZ. Here comes your footer  Page 2 Este patrón fue descrito por primera vez por Trygve Reenskaug en 1979, y la implementación.
FUNDAMENTOS INFORMÁTICOS
¿Cómo programar un Botón para agregar registros a una base de datos?
SQL es el lenguaje de comunicación entre el programa cliente y programa servidor; Oracle es un programa servidor, en el que está la base de datos propiamente.
ORACLE SQL - DCL.
Helpers en ASP.NET MVC3. Introducción Los helpers son una herramienta muy potente para generar nuestro propio código HTML dentro de las vistas. Los helpers.
Structure Query Languaje SQL. Introducción a SQL El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por.
Las interfaces Predicate y Function Versión Unidad Didáctica 17 Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos.
Entregables del Proyecto
Criterios de ordenación y Guava Comparator, Comparable y Ordering Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión.
6 Triggers ORACLE - III Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
Introducción a programación web Martin Esses. En las presentaciones anteriores, vimos como enviar datos a un controlador usando POST y como generar formularios.
Helpers en ASP.NET MVC3. Introducción Los helpers son una herramienta muy potente para generar nuestro propio código HTML dentro de las vistas. Los helpers.
BASE DE DATOS IUPSM CLASE PRACTICA. PROF. ING. JOSE L GUZMAN H.
Base de Datos Introducción
Transcripción de la presentación:

ActionController Action * CONTROLLERVIEW listar_x.html listar_y.html XManagerYManager managers ClaseXClaseY XQueryYQuery MODEL MODEL VIEW CONTROLLER (MVC)

ActionController Es un dispatcher. Decide qué acciones ejecutar: dependiendo de los resultados, direccionará a la vista adecuada. Tiene un hash que asocia el nombre de una acción con la clase que atiende dicha acción. Ej: ‘listar_temporadas = ListarTemporadasAction Action * SecureAction Para segurizar la llamada a las funciones. Todas aquellas acciones que requieran segurizarse, deberán extender de SecureAction Cada acción realiza una tarea específica Las urls las escribimos siempre de la misma manera: doAction?action=xxx&param1=value1&….&paramN=valueN En xxx se indica la acción a ejecutar: deberá estar en el hash del ActionController Por ejemplo, si queremos listar usuarios : doAction?action=listar_usuarios El ActionController tendrá una entrada en el hash para dicha acción: ‘listar_usuarios’  ‘ListarUsuariosAction’ ListarUsuariosAction será el nombre de la clase que implementa la acción correspondiente. MODEL VIEW CONTROLLER (MVC)

Ejemplo para listar usuarios. 1)Model: a)Clase Usuario: b)Factory para usuario c)Manager para usuarios d)Query : acceso a base de datos 2)Controller: a)Acción para listar usuarios b)Mapeo para ActionController 3)View: a)Crear el Html MODEL VIEW CONTROLLER (MVC) Paso a paso

1.a ) Model  Clase Usuario: class Usuario { private $cd_usuario; private $ds_nomusuario; private $ds_password; private $oPerfil; … //setters y getters } MODEL VIEW CONTROLLER (MVC) Paso a paso

1.b ) Model  Factory para usuario La idea del factory es que construya un objeto a partir de los datos obtenidos en una consulta. class UsuarioFactory implements ObjectFactory{ public function build($next){ $oUsuario = new Usuario(); $oUsuario->setCd_usuario ( $next ['cd_usuario'] ); $oUsuario->setDs_password( $next [‘ds_password'] ); … //para el caso que se hace el join con el perfil. if(array_key_exists('ds_perfil',$next)){ $perfilFactory = new PerfilFactory(); $oUsuario->setPerfil( $perfilFactory->build($next) ); } return $oUsuario; } MODEL VIEW CONTROLLER (MVC) Paso a paso Mapeamos el objeto con la tabla correspondiente. Por otro lado, en caso de que en la consulta vengan los elementos relacionados (joins), construimos los objetos correspondientes utilizando sus propios factories.

1.c ) Model  Manager para usuario Los managers contendrán la lógica de negocio asociada a los objetos que administren. Cada manager administrará una o más entidades agrupadas por algún criterio. class UsuarioManager implements IListarManager{ public function agregarUsuario($oUsuario){ //TODO lógica asociada //persistir el usuario en la bbdd. UsuarioQuery::insertUsuario( $oUsuario ); } public function getUsuarios(…){ //TODO lógica asociada $usuarios = UsuarioQuery::getUsuariosConPerfil(…); return $usuarios; } MODEL VIEW CONTROLLER (MVC) Paso a paso Se programa la lógica asociada en cada caso.

1.d ) Model  Query Tendremos un query por entidad. Cada query consulta y manipula los datos persistidos. class UsuarioQuery { static function getUsuariosConPerfil(…) { $db = DbManager::getConnection(); $sql = "SELECT * FROM usuario U"; $sql.= " LEFT JOIN perfil P ON(P.cd_perfil=U.cd_perfil) “; $result = $db->sql_query ( $sql ); if(!$result)//hubo un error en la bbdd. throw new DBException($db->sql_error()); $usuarios= ResultFactory::toCollection($db,$result,new UsuarioFactory()); $db->sql_freeresult($res); return ($usuarios); } … } MODEL VIEW CONTROLLER (MVC) Paso a paso Notar como ResultFactory utiliza el factory de usuario que creamos anteriormente (UsuarioFactory) para, a partir del resultado de la consulta sql, crear una colección de objetos (ItemCollection).

2.a ) Controller  Acción para listar usuarios Haremos una clase para cada acción que se realice en el sistema. Cada acción debe extender Action ya sea, directa o indirectamente (ya veremos por qué). class ListarUsuarios extends Action{ } MODEL VIEW CONTROLLER (MVC) Paso a paso

2.b ) Controller  Mapeo para ActionController MODEL VIEW CONTROLLER (MVC) Paso a paso

3 ) View  Html MODEL VIEW CONTROLLER (MVC) Paso a paso