Está en la página 1de 14

INGENIERA EN TECNOLOGAS DE LA INFORMACIN

MATERIA:
DESARROLLO DE APLICACIONES WEB
UNIDAD I:
INGENIERIA WEB
TEMA I:
INTRODUCCION A LAS TECNOLOGIAS WEB
ACTIVIDAD:
REPORTE SOBRE EL USO, CARACTERISTICAS DE LOS PATRONES
DE DISEO Y FRAMEWORK CODEIGNITER

OBJETIVO

Conocer los diferentes tipos de patrones de diseo, sus caractersticas,


funcionamiento y aplicabilidad en el desarrollo web. Investigar diferentes
conceptos del framework CodeIgniter y los procesos de instalacin y
configuracin para su correcto funcionamiento.

USO DE LOS PATRONES DE DISEO

Que es un patrn de diseo


Un patrn de diseo resulta ser una solucin a un problema de diseo. Para que una
solucin sea considerada un patrn debe poseer ciertas caractersticas. Una de ellas es que
debe haber comprobado su efectividad resolviendo problemas similares en ocasiones
anteriores. Otra es que debe ser reutilizable, lo que significa que es aplicable a diferentes
problemas de diseo en distintas circunstancias.
Un patrn de diseo es una abstraccin de una solucin en un nivel alto. Los
patrones solucionan problemas que existen en muchos niveles de abstraccin. Hay patrones
que abarcan las distintas etapas del desarrollo; desde el anlisis hasta el diseo y desde la
arquitectura hasta la implementacin.

Estos son los aspectos de un patrn que se deben evaluar:

Resistencia al cambio: se debe elegir el patrn que facilite lo ms posibles futuros


cambios. Los cambios en un diseo no son probables, son seguros, se producen con
toda seguridad. A la hora de disear una solucin a un problema es conveniente
abstraer el problema concreto a otro ms genrico y resolver este ltimo. Los
patrones consiguen precisamente esto.

Reutilizacin: este aspecto requiere una aclaracin importante. La reutilizacin de


cdigo resulta prcticamente imposible. En cambio, los diseos son mucho ms
reutilizables, pero ni siquiera tanto como las propias ideas. Se debe tender a
reutilizar las ideas. Por eso, cuando hacemos un diseo debemos pensar en que nos

debe ser til para futuros proyectos, en su esencia o filosofa, no en su estructura o


implementacin. As, lo conveniente es buscar patrones nuevos en diseos nuevos,
documentarlos y almacenarlos como una parte importante de nuestra experiencia.
Son como una "lbum de fotos" de nuestros viajes.

Patrn de diseo MVC


Que es MVC

MVC (Model-View-Controller o Modelo-Vista-Controlador) es un patrn de diseo


que separa los datos, la lgica de negocios y las interfaces de usuario. Est separado en tres
componentes: modelo, controlador y vista. Est basado en la ideologa de separacin de
conceptos y cumple perfectamente con los objetivos de los patrones de diseo.

Modelo

Es la capa encargada de los datos, es decir, tiene mecanismos para acceder a la


informacin y tambin para actualizar su estado. Comnmente se encarga de comunicarse
con la base de datos mediante funciones que accedern a las tablas y realizarn
las funciones habituales de datos.

Vista

Se trata del cdigo que nos permitir presentar los datos que el modelo nos
proporciona, como ejemplo podramos decir que en una aplicacin web es el cdigo HTML
que nos permite mostrar la salida de los datos procesados.

Controlador

Es la capa que sirve de enlace entre la vista y el modelo. Enva comandos al modelo
para actualizar su estado, y a la vista correspondiente para cambiar su presentacin, pero no
es el encargado de manipular los datos ni de generar una salida.

Funcionamiento del MVC

El usuario solicita una accin al servidor

El servidor atiende la peticin y manda a llamar al controlador

El controlador llama al modelo necesario

El modelo atiende la peticin y realiza las operaciones de datos correspondientes

El modelo regresa el resultado

El controlador llama a la vista, envindole los datos procesados del modelo

La vista presenta los datos

El controlador devuelve la vista al servidor

El servidor presenta el resultado al cliente

Por qu MVC es una estrella en el mundo del desarrollo web?

Ahora que sabemos que es MVC y cmo funciona hablaremos sobre su uso
enfocado en la web. Aunque MVC es un patrn de diseo el cual fue ideado para
aplicaciones de escritorio hace unos 40 aos (en los 70s), resulta muy prctico en la web
por varias razones:

Est enfocado en separar responsabilidades


Si en este momento ests pensando y eso en que me afecta o beneficia, pues
pensemos un poco en cmo estn creadas las aplicaciones y sitios web actuales, HTML
para los objetos o el marcado, CSS para el estilo y Javascript para la lgica, cada uno con
su propio enfoque y su propia responsabilidad, pues con MVC es lo mismo pero incluyendo
los componentes que mencionamos antes.

Reutilizar Cdigo

Cualquier framework que creado a partir de MVC te permite reutilizar cdigo,


regresar vistas totales o parciales, evitando duplicar estilos o contenido en las vistas. Todo
el manejo de datos se realiza en los modelos, por lo que si modificas tu base de datos solo
es necesario modificar el modelo correspondiente para que permita manejar los datos
actualizados, sin necesidad de actualizar cada lugar donde es utilizado.

Evitamos cdigo Espagueti

Con este patrn de diseo reducimos y hasta eliminamos el uso de cdigo de servidor y de
presentacin en un mismo lugar.

Framework CodeIgniter.
CodeIgniter es un marco de desarrollo de aplicaciones - un conjunto de
herramientas - para las personas que construyen sitios web usando PHP. Su objetivo es
permitir a usted para desarrollar proyectos mucho ms rpido de lo que podra si estuviera
escribiendo cdigo desde cero, proporcionando un rico conjunto de libreras para tareas
comnmente necesarias, as como una interfaz sencilla y estructura lgica para acceder a
estas bibliotecas. CodeIgniter le permite creativamente centrarse en su proyecto al
minimizar la cantidad de cdigo necesario para una tarea determinada. CodeIgniter es un
Framework para el Desarrollo de Aplicaciones - una herramienta - para la gente que crea
webs usando PHP. Su meta es permitirte desarrollar proyectos mucho ms rpido que si lo
hicieras escribiendo el cdigo desde cero, proporcionando una gran variedad de libreras
para las tareas ms corrientes, as como una interfaz simple y una estructura lgica para
acceder para acceder a estas libreras. CodeIgniter te permite concentrarte en tu proyecto
minimizando la cantidad de cdigo necesaria para una tarea determinada.
Tambin hay que destacar que CodeIgniter es ms rpido que muchos otros
entornos. Incluso en una discusin sobre entornos de desarrollo con PHP, Rasmus Lerdorf,
el creador de PHP, expres que le gustaba CodeIgniter porque es rpido, ligero y parece
poco un entorno.
Kohana ha creado una rama a partir de CodeIgniter 1.5.4 en 2007, como resultado
del disgusto de la comunidad por la falta de correccin de errores y el deseo de incorporar
otras caractersticas demandadas por los usuarios.

Caractersticas Generales de CodeIgniter


Algunos de los puntos ms interesantes sobre este framework, sobre todo en
comparacin con otros productos similares, son los siguientes:

Versatilidad: Quizs la caracterstica principal de CodeIgniter, en comparacin con


otros frameworks PHP. CodeIgniter es capaz de trabajar la mayora de los entornos
o servidores, incluso en sistemas de alojamiento compartido, donde slo tenemos un
acceso por FTP para enviar los archivos al servidor y donde no tenemos acceso a su
configuracin.

Compatibilidad: CodeIgniter, al menos en el momento de escribir este artculo de


desarrolloweb.com, es compatible con la versin PHP 4, lo que hace que se pueda
utilizar en cualquier servidor, incluso en algunos antiguos. Por supuesto, funciona
correctamente tambin en PHP 5.

Facilidad de instalacin: No es necesario ms que una cuenta de FTP para subir


CodeIgniter al servidor y su configuracin se realiza con apenas la edicin de un
archivo, donde debemos escribir cosas como el acceso a la base de datos. Durante la
configuracin no necesitaremos acceso a herramientas como la lnea de comandos,
que no suelen estar disponibles en todos los alojamientos.

Flexibilidad: CodeIgniter es bastante menos rgido que otros frameworks. Define


una manera de trabajar especfica, pero en muchos de los casos podemos seguirla o
no y sus reglas de codificacin muchas veces nos las podemos saltar para trabajar
como ms a gusto.

Instalacin de CodeIgniter
1.- Descomprimir el paquete
Descomprime el archivo de descarga que has descargado
2.- Sube CodeIgniter a tu servidor
Ahora tienes que subir todos los archivos descomprimidos a tu servidor web.
Opcin A:
Si ests programando en tu ordenador local, para pruebas y desarrollo, debers tener
un servidor instalado en tu ordenador que soporte PHP, para lo que te recomendamos los
paquetes Wamp o Xampp. En este caso tendrs que copiar simplemente los archivos de
codeIgniter en el directorio de publicacin de tu servidor. Puedes colocar los archivos en la
raz del directorio de publicacin o bien en un subdirectorio cualquiera.
Opcin B:
Si ests subiendo CodeIgniter a un servidor web de Internet, en un espacio que
tengas contratado de hosting, debers subir por FTP todos los archivos. Lo general es que
copies CodeIgniter en la raz de tu dominio, para que todas las pginas del dominio se
sirvan a travs del framework PHP, pero nada te impide copiar CodeIgniter en un
subdirectorio particular, para que tu dominio web slo funcione bajo CodeIgniter en la
carpeta donde lo has subido.

3.- Configura la URL base de tu aplicacin web


Necesitas decirle a CodeIgniter la URL base de tu aplicacin, es decir, la URL para
acceder a la raz de CodeIgniter, segn en el servidor y directorio donde lo has colocado, es
decir, donde has subido el cdigo del framework. Para ello tienes que abrir el archivo de

configuracin, que se encuentra en system/application/config/config.php, con cualquier


editor de texto y cambiar la variable de configuracin llamada que se guarda en
$config['base_url']. Si hemos instalado en local CodeIgniter pondremos http://localhost/ y
si adems lo colocamos en un directorio especfico podra ser algo como
http://localhost/directorio_codeigniter Si hemos instalado el framework en un dominio de
Internet podremos indicar algo como http://eldominiodeinstalacion.com/ y si hicimos una
carpeta para subir CodeIgniter en ella pondremos el nombre del dominio y luego el nombre
de la carpeta o carpetas, separadas por barras y acabando siempre en una barra:
http://eldominioquesea.com/carpeta/otracarpeta/ Segn nos indican en el manual de
instalacin, aparte de este dato podemos opcionalmente escribir una llave de encriptacin
en la variable $config['encryption_key'], que servir si deseamos usar la clase de encriptado
que proporciona CodeIgniter o queremos que nuestras variables de sesin estn encriptadas,
algo que hace el framework de manera transparente para nosotros.
4. Configurar la base de datos
En este ltimo paso tendrs que indicar los datos de acceso a la base de datos que
piensas utilizar con CodeIgniter, ya que prcticamente todas las aplicaciones web que
podrs crear con el framework van a tener que utilizar la base de datos para algo. Para ello
tenemos que editar el archivo system/application/config/database.php e indicar los
parmetros de conexin al servidor de base de datos, como el nombre del servidor y
nombre de la base de datos, el usuario y la contrasea.
Con esto ya tenemos todo listo para comenzar a crear nuestras aplicaciones web
PHP. Podemos testar CodeIgniter accediendo a la URL donde lo hemos instalado.

Debemos ver el mensaje de bienvenida de CodeIgniter que nos confirma que est
funcionando.

Flujo de aplicacin de CodeIgniter.

Conclusin
Se determina que MVC es un patrn de diseo enfocado a separar las
responsabilidades dentro de nuestra aplicacin y es muy utilizado en la web por su enfoque
y las ventajas que ofrece con respecto a algunas otras formas o patrones de desarrollo de
aplicaciones web. CodeIgniter facilita la codificacin de pginas web, gracias a su entorno
amigable, est adaptado con el patrn de diseo MVC mejorando la comprensin de la
programacin.

BIBLIOGRAFIAS

Competer informacin (2013).Patrones de diseo. Recuperado el 14 de septiembre de


2015. Obtenido en www.genbetadev.com
Wikipedia (2008). Los patrones de diseo y su aplicacin. Recuperado el 14 de
septiembre de 2015. Obtenido en
https://es.wikipedia.org/wiki/Patr%C3%B3n_de_dise%C3%B1o
Ciberaula (2013). Ventajas de los patrones de diseo. Recuperado el 14 de septiembre de
2015. Obtenido en http://www.ciberaula.com/articulo/ventajas_patrones/
Alvarez, M. A. (23 de Noviembre de 2009). Desarrollo Web. Obtenido de
http://www.desarrolloweb.com/articulos/codeigniter.html
Torres (2009). MVC y su importancia en la Web. Recuperado el 14 de septiembre de
2015. Obtenido en http://michelletorres.mx/mvc-y-su-importancia-en-la-web/