Pautas para el diseño de un proyecto web Mayo 2005 Jordi Llonch

Slides:



Advertisements
Presentaciones similares
Herramientas informáticas
Advertisements

Componentes de ASP.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft.
GOOGLE DOCS Es el servicio de alojamiento que Google ofrece para nuestros documentos, hojas de cálculo, presentaciones y PDFs.
Separación de la presentación: Plantillas CI-2413 Desarrollo de aplicaciones para Internet.
Juan Fernández Rodríguez
Modelando aplicaciones
Aplicación informática. formando parte de una red. pone sus recursos a disposición de las demás computadoras(clientes) de la red. Maneja información.
Tema: Técnicas Básicas Excel (III) Trucos, opciones y personalización de Excel Índice: 1 Vínculos absolutos y relativos, conectando datos de Excel con.
"java del lado del servidor" Servlet y JSP Java Server Pages.
Desarrollo de Aplicaciones para Internet
DESARROLLO E IMPLEMENTACIÓN DE UN PLUGIN DE GOOGLE WALLET PARA PAGOS ONLINE UTILIZANDO SOFTWARE OPEN SOURCE.
SERVIDOR DE CONTENIDOS
Framework Hexápodo PHP fácil, rápido y sin dolor
Curso de PHP Tema 6: Seguridad.
Tema 2: Lenguaje PHP básico
Características generales de un servicio Web.
HERRAMIENTAS DE DISEÑO WEB
INTERFAZ DE ACCES DISEÑO DE BASE DE DATOS
Introducción a ASP.NET.
Mecanismo de petición y respuesta Prof. Manuel Blázquez Ochando
Daniel Correa Botero.  Puede ser desplegado en la mayoría de los servidores web y en casi todos los sistemas operativos y plataformas sin costo alguno.
Personalización en diseño visual y comportamiento de la plantilla
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
Ingeniero Anyelo Quintero
ANALITICA - INTEGRATOR INTRODUCCIÓN Y CONCEPTOS. ANALITICA - INTEGRATOR OBJETIVO Integrar información aislada en archivos o sistemas, tanto corporativos.
El lenguaje de programación Java
Java Server Faces.
DESARROLLANDO TEMPLATES PARA JOOMLA! 1.5 Ing. Edwin Rolando Paredes Calderón. Comercio Electrónico.
SQL SERVER Reporting Services
 El primer navegador Web incluía un lenguaje de estilo interno que utilizaba dicho navegador para mostrar las páginas HTML.  Sin embargo estos primeros.
Curso de Creación aplicaciones dinámicas web con PHP y MySQL Continuamos.
Diseño de una base de datos Zavaleta Nolasco Karina
ASP.NET es una nueva y potente tecnología para escribir páginas web dinámica. Es una importante evolución respecto a las antiguas páginas ASP de Microsoft.
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
Es un conjunto de productos que permite crear distintos tipos de documentos, trabajar en ellos con otros usuarios en tiempo real y almacenar.
AJAX Daniel Montenegro Cordero Ingeniería de Sistemas y Computación Pontificia Universidad Javeriana - Cali.
Wikis Un Wiki (del hawaiano wiki wiki, «rápido») es un sitio web colaborativo que puede ser editado por varios usuarios. Los usuarios de una wiki pueden.
Marco Conceptual para la Gestión de Conocimiento de entornos de colaboración: aplicación a la creación de un portal de revistas electrónicas EUITIO Daniel.
INTRODUCCIÓN A AJAX. ¿Qué es AJAX? Acrónimo de Asynchronous JavaScript And XML No es ninguna tecnología, ni lenguaje de programación. Es una técnica de.
El Sistema de Tema de Drupal Experiencia en Infomed.
Unidad didáctica 6 Diseño de páginas Web.
Publicación de bases de datos Access en la web
Modelo-Vista-Controlador Este patrón fue descrito por primera vez por Trygve Reenskaug en 1979, y la implementación original fue realizada en Smalltalk.
introducción al lenguaje
Introducción al Lenguaje. ¿Qué es PHP? O Es un lenguaje de programación que es interpretado por un servidor web. O El lenguaje es genérico. PHP está orientado.
FRAMEWORK VS Código fuente
Herramientas informáticas
Aplicación y uso de la herramienta
Proyecto Bolsa de trabajo
Gabriel Montañés León. RSS es el acrónimo de Really Simple Sindication (Sindicación Realmente Simple). Es un formato basado en el lenguaje XML que permite.
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
MIME EXTENSIONES DE CORREO INTERNET MULTIPROPÓSITO. SERIE DE ESPECIFICACIONES DIRIGIDAS AL INTERCAMBIO TRANSPARENTE DE TODO TIPO DE ARCHIVOS A TRAVÉS DE.
MANTENIMIENTO DE EQUIPOS DE COMPUTO Incluye la instalación de los programas básicos que son: Paquete de office como word,exel,power point etc. Ccleaner.
1 Temas a tratar Metiendo datos. (2) Como reservar un documento que no queremos que aparezca en informes. (3) Metiendo datos de forma eficaz.(4-5) Búsquedas:
INTERFAS DE ACCES DISEÑO DE UNA BASE DE DATOS NOMBRE: OLIVARES MORALES ROGELIO DANIEL BAUTISTA CRUZ GRUPO: 307 EQUIPO: 05.
CMS DRUPAL HERRAMIENTAS DE DISEÑO CARLOS LLANOS V. JENNIFER QUINDE G. JUAN MACIAS B. KERLY UBE.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) LENGUAJES DE PROGRAMACIÓN PARA EL DESARROLLO DE INTERFACES.
Adobe Photoshop® (Ps) es una aplicación en forma de taller de pintura y fotografía que trabaja sobre un "lienzo" y que está destinado para la edición,
File Transfer Protocol.
CONTRATOS DE CLIENTES Orlando Sedamano Cornejo Marco Bustinza
Manual violento de Navicat
Taller de Diagramación
Guadalupe Andrade Mociño.  Significa Modelo Vista Controlador  Es un patrón de diseño  Esta compuesto por tres grandes capas: modelo, vista y controlador.
HTML.
Secuencia de Comandos en Sitios Cruzados XSS
Introducción al Lenguaje. ¿Qué es PHP? O Es un lenguaje de programación que es interpretado por un servidor web. O El lenguaje es genérico. PHP está orientado.
 Es un lenguaje de programación interpretado, es decir, que no requiere compilación, utilizado principalmente en páginas web, con una sintaxis semejante.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
WINDOWS SERVER 2008 r2 ADMINISTRACION DE RECURSOS: Con el Administrador de recursos del sistema de Windows del sistema operativo Windows Server® 2008 R2,
Definición: Es un estilo de programación, su objetivo primordial es la separación de la capa de presentación, capa de negocio y la capa de datos. ARQUITECTURA.
Transcripción de la presentación:

Pautas para el diseño de un proyecto web Mayo 2005 Jordi Llonch

Pautas diseño proyecto web 2 Pautas Estructura del proyecto Separar lógica y diseño: Plantillas Archivos de configuración Idiomas Capa abstracción base de datos Objectos de datos Error handler Documentar código: phpDocumentor Crear PDFs: HTMLDOC, FOP, ClipPDF... XMLHttpRequest y JPSpan

Pautas diseño proyecto web 3 Estructura del proyecto (1) Usualmente para el desarrollo de nuestro proyecto nos apoyamos en un framework. En esta estructura la aplicación a desarrollar se encontrará en la carpeta web. Estructura: – config archivos de configuración de nuestro proyecto ej: // Paths define ("PATH_ROOT", "/var/www/Proj/AtlasWeb-prj/"); // Url define ("URL_HOST", "/"); define ("URL_ROOT", URL_HOST."Proj/AtlasWeb-prj/"); // Base de datos define ("DB_HOST", "localhost"); define ("DB_USER", ""); define ("DB_PASS", ""); define ("DB_NAME", "Atlas");

Pautas diseño proyecto web 4 Estructura del proyecto (2) Estructura: – lang archivos de soporte de multidiomas – lib librerías própias (ej. capa de abstracción a la base de datos) si queremos utilizar librerías no propías podríamos crear dentro de esta carpeta otra con nombre external (ej. Smarty) también podemos poner aquí un error handler propio – menu en caso que se trate de un proyecto con backoffice podemos utilizar algun sistema que nos genere un menú.

Pautas diseño proyecto web 5 Estructura del proyecto (3) Estructura: – motor podríamos utilizar algún motor que nos genere directamente HTML y algunos scripts que nos automaticen procesos como el de mantenimiento de datos de una tabla (alta, baja, modificación...) – notes notas y comentarios del proyecto – templates plantillas de cabecera, pies de página, hoja de estilo... (pensando en el backoffice) – tmp donde se crearán archivos temporales a esta carpeta se le suelen tener que dar permisos de escritura

Pautas diseño proyecto web 6 Estructura del proyecto (4) Estructura: – web en esta carpeta desarrollaremos toda la lógica del nuestro proyecto dentro tenemos otra estructura: – atlas: es un nombre de ejemplo, puede ser el nombre abreviado de nuestro proyecto – img: imagenes que va a necesitar nuestro proyecto – lib: librerías no genéricas, exclusivas para el proyecto – login: sistema de acceso al backoffice – obj-data: clases de abstracción de datos – templates: plantillas (para Smarty) – templates_c: compilación de las plantillas (Smarty)

Pautas diseño proyecto web 7 Separar lógica y diseño: Plantillas Nunca se debe mezclar código PHP y HTML Código mantenible Un diseñador gráfico se puede ocupar del diseño Podemos utilizar dos técnicas: – Librería de widgets HTML – Plantillas (por ejemplo Smarty Engine)

Pautas diseño proyecto web 8 Archivos de configuración Definiremos los parámetros que configuran nuestro proyecto con constantes. Todos nuestros scripts incluirán el archivo de configuración En la configuración definiremos: – Paths y URLs – Acceso a base de datos – El Error Handler a utilizar –... // Paths define ("PATH_ROOT", "/var/www/Proj/AtlasWeb-prj/"); // Url define ("URL_HOST", "/"); define ("URL_ROOT", URL_HOST."Proj/AtlasWeb-prj/"); // Base de datos define ("DB_HOST", "localhost"); define ("DB_USER", ""); define ("DB_PASS", ""); define ("DB_NAME", "Atlas");

Pautas diseño proyecto web 9 Idiomas Si queremos que nuestro proyecto soporte multidioma podemos definir un array con las traducciones y una función que realice la traducción de conceptos: $lang=$_SESSION["sess_lang"]; if ($lang=="") $lang='ca'; if ($GLOBALS["trans"] == "") include(PATH_LANG.'lang.'.$lang.'.php'); if (!function_exists('tr')) { function tr($str_from) { global $trans; if (!is_array($trans)) return $str_from; return strtr($str_from, $trans); } $GLOBALS["trans"] = array( // General "Adreces"=>"Direcciones", "Adult"=>"Adulto", "Afegir"=>"Añadir", "Afegir Document"=>"Añadir Documento", "Afegir reserva"=>"Añadir reserva", "Agència"=>"Agencia", "Agències"=>"Agencias", "Agrupar"=>"Agrupar" ); lang.es.php idioma.php

Pautas diseño proyecto web 10 Capa abstracción base de datos Para el acceso al motor de base de datos es mejor no utilizar directamente las funciones de PHP. De esta forma podríamos migrar nuestra aplicación a otro motor más fácilmente. Existen muchas librerías de abstracción: – ADODB – PEAR:DB –...

Pautas diseño proyecto web 11 Objectos de datos Para el acceso a datos crearemos una clase para cada ámbito. De esta forma si nuestro proyecto dispone de una agenda, crearemos la clase agenda en el fichero class.agenda.php. Dentro de la clase de datos pondremos el código SQL. Mediante los métodos a esta clase evitaremos ver código SQL. Los datos los debemos intercanviar en forma de arrays asociativos. Con esta pauta podríamos reutilizar código usando JPSpan...

Pautas diseño proyecto web 12 Error handler Utilizaremos nuestra función de proceso de errores para: – Mejorar el monitoraje de nuestras aplicación en producción. – Mostrar nuestro propio mensaje de error. – Avisar al administrador del sistema en caso de errores fatales. – Disponer de un registro de errores.

Pautas diseño proyecto web 13 Documentar código: phpDocumentor La fórmula más práctica de documentar un proyecto es comentar directamente el código y utilizar alguna herramienta para la creación de la documentació. – phpDocumentor: /** * Conexión a la base de datos * MyPacket Jordi Llonch */ class db_base { /** * Objecte a dades public */ var $db=false; /** * Añadir fitxa * uni::tractar_datos() string $tabla array $datos Datos array("col1"=>"valor1", * "col2"=>"valor2"...) array $conf Configuración delayed=>true bool 1=Ok */ function afegir($tabla, $datos, $conf="") { }

Pautas diseño proyecto web 14 Crear PDFs: HTMLDOC, FOP, ClipPDF... Para proporcionar a los usuarios documentos que deban ser impresos la mejor opción es generar un PDF dinámicamente. Si el usuario tiene instalado Adobe Acrobat Reader, este se encastará en el navegador. Diversas opciones: – HTMLDOC Convierte HTML a PDF (permite algún tag especial). – FOP Estándar XML Podemos utilizar XSLT para convertir datos XML a FOP y luego utilizar algun renderizador comercial o libre. – ClipPDF Libreria para la creación de un archivo PDF.

Pautas diseño proyecto web 15 XMLHttpRequest y JPSpan XMLHttpRequest – Es un objecto nativo JavaScript que permite hacer peticiones HTTP des de una página que ya ha sido cargada. – Permite hacer Microrequests en respuesta a eventos de usuario en una página web, sin la necesidad de recargar la página. – Se pueden implementar nociones de interfície complea de usuario similar a aplicaciones de escritorio. – JPSpan – Provee de unas herramientas para connectar PHP y JavaScript para el intercambio de datos des de una página web ya cargada. – JPSpan permite definir clases en PHP y hacer llamadas remotas desde JavaScript. –