4.- Frameworks Para Desarrollo De Aplicaciones Web

Página 1 de 2. 1, 2  Siguiente

Ver el tema anterior Ver el tema siguiente Ir abajo

4.- Frameworks Para Desarrollo De Aplicaciones Web

Mensaje  Admin el Dom Abr 20, 2014 2:49 pm

Haciendo uso de libros, artículos
científicos, o entrevistas o visitas a
empresas que trabajen con
aspectos relacionados a la materia,
o usando Internet mediante foros,
wikis, blogs, webquest, o algunas
otras TICs, o utilizando contenidos
de proyectos similares de la
carrera, el estudiante debe
investigar al menos dos de los
siguientes temas:
..
..
- Conceptos básicos de
Framework /
- Diferencias entre Framework ,
IDEs y Workspaces /
- Investigar los conceptos del
Modelo-Vista-Controlador /
- Analizar marcos de trabajo para
la realización de Aplicaciones Web
con el Modelo-Vista-Controlador /
- General: IDEs para desarrollo de
aplicaciones Web (mencione varias
plataformas) /
- Específica: IDEs para desarrollo
de aplicaciones Web con PHP
(mencione varios y escriba un
ejemplo de programa) /
- Específica: IDEs para desarrollo
de aplicaciones Web con JSP
(mencione varios y escriba un
ejemplo de programa) /
- Específica: IDEs para desarrollo
de aplicaciones Web con .Net
(mencione varios y escriba un
ejemplo de programa)
- Frameworks para desarrollo de
aplicaciones Web con JSP ,
Struts , .Net , MonoRail para .NET
(mencione al menos cinco de cada
plataforma) /
- Describa en qué consiste
MonoRail (y escriba un ejemplo de
programa) /
- Describa en qué consiste Ruby
On Raills (y escriba un ejemplo de
programa) /
- Describa en qué consiste Struts (y
escriba un ejemplo de programa) /
- Describa en qué consiste Spring
(y escriba un ejemplo de
programa) /
- Describa en qué consiste
Hibernate (y escriba un ejemplo de
programa) /
- Describa en qué consiste AJAX (y
escriba un ejemplo de programa) /
- Identificar y analizar los
componentes del marco de trabajo
para plataforma .NET. /
- Identificar y analizar los
componentes del marco de trabajo
para plataforma JSP.... ;
..
..
///// Cada uno de los temas
deben comprender conceptos y
elementos básicos de los lenguajes
y metodologías que involucra el
desarrollo de aplicaciones Web. El
objetivo de esta actividad es
propiciar al estudiante actividades
de búsqueda, comunicación oral y
escrita, capacidad crítica y
autocrítica, selección y clasificación
y análisis de información
proveniente de distintas fuentes y
propiciar el uso de las nuevas
tecnologías en el desarrollo de los
contenidos de la asignatura, las
cuales lo encaminen hacia la
aplicación de conocimientos y la
solución de problemas y desarrollar
habilidades para la investigación.
Por ello, procure llevar a cabo un
buen análisis de la información de
distintas fuentes (incluyendo un
segundo idioma y uso adecuado
de conceptos y terminología
científico–tecnológica) para
seleccionar la más conveniente y
que sea adecuada al área de
informática. Debe elaborar un
resumen o análisis o síntesis o
reflexión o tabla comparativa o
cuadro sinóptico (estilo inducción-
deducción) o mapa conceptual o
mapa mental, que permitan
promover el pensamiento crítico o
posición critica del estudiante, el
cual debe compartir en este Foro.
..
..
.. NOTA: Procure participar con
reactivos que aún no hayan sido
contestados, ya que solamente se
considerarán las primeras tres
participaciones para cada tema.
..
.
. ATTE: M.C. Edgar Rangel Lugo.
.
.

Admin
Admin

Mensajes : 311
Fecha de inscripción : 14/03/2012

Ver perfil de usuario http://erangel.foroactivo.mx

Volver arriba Ir abajo

RESPUESTA A LA PREGUNTA: Conceptos básicos de Framework

Mensaje  addicto007 el Jue Mayo 15, 2014 7:23 pm

CONCEPTO Y DEFINICION DE FRAMEWORK:
La palabra inglesa "framework" (marco de trabajo) define, en términos generales, un conjunto estandarizado de conceptos, prácticas y criterios para enfocar un tipo de problemática particular que sirve como referencia, para enfrentar y resolver nuevos problemas de índole similar.

En el desarrollo de software, un framework o infraestructura digital, es una estructura conceptual y tecnológica de soporte definido, normalmente con artefactos o módulos de software concretos, que puede servir de base para la organización y desarrollo de software. Típicamente, puede incluir soporte de programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas, para así ayudar a desarrollar y unir los diferentes componentes de un proyecto.

Representa una arquitectura de software que modela las relaciones generales de las entidades del dominio, y provee una estructura y una especial metodología de trabajo, la cual extiende o utiliza las aplicaciones del dominio.

Arquitectura
Dentro de este aspecto, podemos basarnos en el modelo MVC (Controlador => Modelo => Vista), ya que debemos fragmentar nuestra programación. Tenemos que contemplar estos aspectos básicos en cuanto a la implementación de nuestro sistema:

Modelo
Este miembro del controlador maneja las operaciones lógicas, y de manejo de información (previamente enviada por su ancestro), para resultar de una forma explicable y sin titubeos. Cada miembro debe ser meticulosamente llamado, con su correcto nombre y en principio, con su verdadera naturaleza: el manejo de información, su complementación directa.
Vista
Al final, a este miembro de la familia le corresponde dibujar, o expresar la última forma de los datos: la interfaz gráfica que interactúa con el usuario final del programa (GUI). Después de todo, a este miembro le toca evidenciar la información obtenida hasta hacerla llegar al controlador. Solo (e inicialmente), nos espera demostrar la información.
Controlador
Con este apartado podemos controlar el acceso (incluso todo) a nuestra aplicación, y esto puede incluir: archivos, scripts, y/o programas; cualquier tipo de información que permita la interfaz. Así, podremos diversificar nuestro contenido de forma dinámica, y estática (a la vez); pues, sólo debemos controlar ciertos aspectos (como se ha mencionado antes).
Estructura
Dentro del controlador, modelo o vista podemos manejar lo siguiente: datos. Depende de nosotros como interpretar y manejar estos 'datos'. Ahora, sabemos que el único dato de una dirección estática web es: conseguir un archivo físico en el disco duro o de internet, etc. e interpretado o no, el servidor responde.

El modelo, al igual que el controlador y la vista, maneja todos los datos que se relacionen consigo (solo es el proceso medio de la separación por capas que ofrece la arquitectura MVC). Y sólo la vista, puede demostrar dicha información. Con lo cual ya hemos generado la jerarquía de nuestro programa: Controlador, Modelo y Vista.

FUENTE DE INFORMACION:

http://es.wikipedia.org/wiki/Framework

ATT: MOISES ANGON TORRES

addicto007

Mensajes : 21
Fecha de inscripción : 29/01/2013
Edad : 24

Ver perfil de usuario

Volver arriba Ir abajo

RESPUESTA AL INCISO Nº 1

Mensaje  CINTHIA CADENA PEREZ el Vie Mayo 16, 2014 11:17 pm

1.- CONCEPTOS BASICOS DE FRAMEWORK

DEFINICION:
La palabra inglesa "framework" (marco de trabajo) define, en términos generales, un conjunto estandarizado de conceptos, prácticas y criterios para enfocar un tipo de problemática particular que sirve como referencia, para enfrentar y resolver nuevos problemas de índole similar.

En el desarrollo de software, un framework o infraestructura digital, es una estructura conceptual y tecnológica de soporte definido, normalmente con artefactos o módulos de software concretos, que puede servir de base para la organización y desarrollo de software. Típicamente, puede incluir soporte de programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas, para así ayudar a desarrollar y unir los diferentes componentes de un proyecto.

ARQUITECTURA

Representa una arquitectura de software que modela las relaciones generales de las entidades del dominio, y provee una estructura y una especial metodología de trabajo, la cual extiende o utiliza las aplicaciones del dominio.

(plataforma, entorno, marco de trabajo). Desde el punto de vista del desarrollo de software, un framework es una estructura de soporte definida, en la cual otro proyecto de software puede ser organizado y desarrollado.

Los frameworks suelen incluir:
* Soporte de programas.
* Bibliotecas.
* Lenguaje de scripting.
* Software para desarrollar y unir diferentes componentes de un proyecto de desarrollo de programas.

Los frameworks permiten:
* Facilitar el desarrollo de software.
* Evitar los detalles de bajo nivel, permitiendo concentrar más esfuerzo y tiempo en identificar los requerimientos de software.

Una definición de framework es la de un marco de aplicación o conjunto de bibliotecas orientadas a la reutilización a muy gran escala de componentes software para el desarrollo rápido de aplicaciones. En esta categoría se incluye la Biblioteca de Componentes Visuales (VCL) de CodeGear, Swing y AWT para el desarrollo de aplicaciones con formularios en Java, Struts, para aplicaciones web también en Java, Ruby On Rails para aplicaciones web con Ruby, y las antiguas Microsoft Foundation Classes y Turbo Vision de Borland.

LAS PRINCIPALES VENTAJAS DE LA UTILIZACIÓN DE UN FRAMEWORK SON:
1. El desarrollo rápido de aplicaciones. Los componentes incluidos en un framework constituyen una capa que libera al programador de la escritura de código de bajo nivel.
2. La reutilización de componentes software al por mayor. Los frameworks son los paradigmas de la reutilización.
3. El uso y la programación de componentes que siguen una política de diseño uniforme. Un framework orientado a objetos logra que los componentes sean clases que pertenezcan a una gran jerarquía de clases, lo que resulta en bibliotecas más fáciles de aprender a usar.

LAS DESVENTAJAS DE LOS FRAMEWORKS SON:
1. La dependencia del código fuente de una aplicación con respecto al framework. Si se desea cambiar de framework, la mayor parte del código debe reescribirse.
2. La demanda de grandes cantidades de recursos computacionales debido a que la característica de reutilización de los frameworks tiende a generalizar la funcionalidad de los componentes. El resultado es que se incluyen características que están "de más", provocando una sobrecarga de recursos que se hace más grande en cuanto más amplio es el campo de reutilización.

El término framework tiene una acepción más amplia, en donde además de incluir una biblioteca de componentes reutilizables, es toda una tecnología o modelo de programación que contiene máquinas virtuales, compiladores, bibliotecas de administración de recursos en tiempo de ejecución y especificaciones de lenguajes. Tal es el caso del framework Microsoft .NET.

Otra ventaja de los frameworks, y en especial de esta acepción ampia, es la portabilidad de aplicaciones de una arquitectura a otra. Por ejemplo, los bytecodes generados a partir del código fuente de clases en Java pueden ser ejecutados sobre cualquier máquina virtual, independientemente de la arquitectura hardware y software subyacente.


BIBLIOGRAFIA
www.lsi.us.es/~javierj/investigacion_ficheros/Framework.pdf
www.alegsa.com.ar › Diccionario tecnología
www.soaagenda.com/journal/articulos/que-son-los-frameworks/
byronandrango.wordpress.com/.../definicion-de-framework-ejemplos-de...
sedici.unlp.edu.ar/bitstream/handle/10915/.../Documento_completo.pdf?...


ATTE: CINTHIA CADENA PEREZ





CINTHIA CADENA PEREZ

Mensajes : 51
Fecha de inscripción : 01/02/2013

Ver perfil de usuario

Volver arriba Ir abajo

RESPUESTA AL INCISO Nº 3

Mensaje  CINTHIA CADENA PEREZ el Vie Mayo 16, 2014 11:27 pm

3.- INVESTIGAR LOS CONCEPTOS DEL MODELO-VISTA-CONTROLADOR

CONCEPTO:
El modelo–vista–controlador (MVC) es un patrón de arquitectura de software que separa los datos y la lógica de negocio de una aplicación de la interfaz de usuario y el módulo encargado de gestionar los eventos y las comunicaciones. Para ello MVC propone la construcción de tres componentes distintos que son el modelo, la vista y el controlador, es decir, por un lado define componentes para la representación de la información, y por otro lado para la interacción del usuario1 2 . Este patrón de arquitectura de software se basa en las ideas de reutilización de código y la separación de conceptos, características que buscan facilitar la tarea de desarrollo de aplicaciones y su posterior mantenimiento.

DE MANERA GENÉRICA, LOS COMPONENTES DE MVC SE PODRÍAN DEFINIR COMO SIGUE:
• El Modelo: Es la representación de la información con la cual el sistema opera, por lo tanto gestiona todos los accesos a dicha información, tanto consultas como actualizaciones, implementando también los privilegios de acceso que se hayan descrito en las especificaciones de la aplicación (lógica de negocio). Envía a la 'vista' aquella parte de la información que en cada momento se le solicita para que sea mostrada (típicamente a un usuario). Las peticiones de acceso o manipulación de información llegan al 'modelo' a través del 'controlador'12 .
• El Controlador: Responde a eventos (usualmente acciones del usuario) e invoca peticiones al 'modelo' cuando se hace alguna solicitud sobre la información (por ejemplo, editar un documento o un registro en una base de datos). También puede enviar comandos a su 'vista' asociada si se solicita un cambio en la forma en que se presenta de 'modelo' (por ejemplo, desplazamiento o scroll por un documento o por los diferentes registros de una base de datos), por tanto se podría decir que el 'controlador' hace de intermediario entre la 'vista' y el 'modelo' (véase Middleware).
• La Vista: Presenta el 'modelo' (información y lógica de negocio) en un formato adecuado para interactuar (usualmente la interfaz de usuario) por tanto requiere de dicho 'modelo' la información que debe representar como salida.
Interacción de los componentes

Aunque se pueden encontrar diferentes implementaciones de MVC, el flujo de control que se sigue generalmente es el siguiente:
1. El usuario interactúa con la interfaz de usuario de alguna forma (por ejemplo, el usuario pulsa un botón, enlace, etc.)
2. El controlador recibe (por parte de los objetos de la interfaz-vista) la notificación de la acción solicitada por el usuario. El controlador gestiona el evento que llega, frecuentemente a través de un gestor de eventos (handler) o callback.
3. El controlador accede al modelo, actualizándolo, posiblemente modificándolo de forma adecuada a la acción solicitada por el usuario (por ejemplo, el controlador actualiza el carro de la compra del usuario). Los controladores complejos están a menudo estructurados usando un patrón de comando que encapsula las acciones y simplifica su extensión.
4. El controlador delega a los objetos de la vista la tarea de desplegar la interfaz de usuario. La vista obtiene sus datos del modelo para generar la interfaz apropiada para el usuario donde se reflejan los cambios en el modelo (por ejemplo, produce un listado del contenido del carro de la compra). El modelo no debe tener conocimiento directo sobre la vista. Sin embargo, se podría utilizar el patrón Observador para proveer cierta indirección entre el modelo y la vista, permitiendo al modelo notificar a los interesados de cualquier cambio. Un objeto vista puede registrarse con el modelo y esperar a los cambios, pero aun así el modelo en sí mismo sigue sin saber nada de la vista. Este uso del patrón Observador no es posible en las aplicaciones Web puesto que las clases de la vista están desconectadas del modelo y del controlador. En general el controlador no pasa objetos de dominio (el modelo) a la vista aunque puede dar la orden a la vista para que se actualice. Nota: En algunas implementaciones la vista no tiene acceso directo al modelo, dejando que el controlador envíe los datos del modelo a la vista. Por ejemplo en el MVC usado por Apple en su framework Cocoa. Suele citarse como Modelo-Interface-Control, una variación del MVC más puro
5. La interfaz de usuario espera nuevas interacciones del usuario, comenzando el ciclo nuevamente.

Historia
El patrón MVC fue una de las primeras ideas en el campo de las interfaces gráficas de usuario y uno de los primeros trabajos en describir e implementar aplicaciones software en términos de sus diferentes funciones[5] .
MVC fue introducido por Trygve Reenskaug (web personal) en Smalltalk-76 durante su visita a Xerox Parc[6] [7] en los años 70 y, seguidamente, en los años 80, Jim Althoff y otros implementaron una versión de MVC para la biblioteca de clases de Smalltalk-80[8] . Sólo más tarde, en 1988, MVC se expresó como un concepto general en un artículo[9] sobre Smalltalk-80.
En esta primera definición de MVC el controlador se definía como "el módulo que se ocupa de la entrada" (de forma similar a como la vista "se ocupa de la salida"). Esta definición no tiene cabida en las aplicaciones modernas en las que esta funcionalidad es asumida por una combinación de la 'vista' y algún framework moderno para desarrollo. El 'controlador', en las aplicaciones modernas de la década de 2000, es un módulo o una sección intermedia de código, que hace de intermediario de la comunicación entre el 'modelo' y la 'vista', y unifica la validación (utilizando llamadas directas o el "observer" para desacoplar el 'modelo' de la 'vista' en el 'modelo' activo[10] ).

Algunos aspectos del patrón MVC han evolucionado dando lugar a ciertas variantes del concepto original, ya que "'las partes del MVC clásico realmente no tienen sentido para los clientes actuales"[11] :
• HMVC (MVC Jerárquico)
• MVA (Modelo-Vista-Adaptador)
• MVP (Modelo-Vista-Presentador)
• MVVM (Modelo-Vista Vista-Modelo)
• ... y otros que han adaptado MVC a diferentes contextos.


Uso en aplicaciones Web
Aunque originalmente MVC fue desarrollado para aplicaciones de escritorio, ha sido ampliamente adaptado como arquitectura para diseñar e implementar aplicaciones web en los principales lenguajes de programación. Se han desarrollado multitud de frameworks, comerciales y no comerciales, que implementan este patrón (ver apartado siguiente "Frameworks MVC"); estos frameworks se diferencian básicamente en la interpretación de como las funciones MVC se dividen entre cliente y servidor[13] .
Los primeros frameworks MVC para desarrollo web planteaban un enfoque de cliente ligero en el que casi todas las funciones, tanto de la vista, el modelo y el controlador recaían en el servidor. En este enfoque, el cliente manda la petición de cualquier hiperenlace o formulario al controlador y después recibe de la vista una página completa y actualizada (u otro documento); tanto el modelo como el controlador (y buena parte de la vista) están completamente alojados en el servidor. Como las tecnologías web han madurado, ahora existen frameworks como JavaScriptMVC, Backbone o jQuery[14] que permiten que ciertos componentes MVC se ejecuten parcial o totalmente en el cliente (véase AJAX).


BIBLIOGRAFIA:
www.asp.net/mvc
msdn.microsoft.com/en-us/library/ff649643.aspx
https://www.fdi.ucm.es/profesor/jpavon/poo/2.14.MVC.pdf
es.wikipedia.org/wiki/Modelo–vista–controlador


ATTE: CINTHIA CADENA PEREZ

CINTHIA CADENA PEREZ

Mensajes : 51
Fecha de inscripción : 01/02/2013

Ver perfil de usuario

Volver arriba Ir abajo

REPLICA AL INCISO Nº 1

Mensaje  CINTHIA CADENA PEREZ el Vie Mayo 16, 2014 11:28 pm

addicto007 escribió:CONCEPTO Y DEFINICION DE FRAMEWORK:
La palabra inglesa "framework" (marco de trabajo) define, en términos generales, un conjunto estandarizado de conceptos, prácticas y criterios para enfocar un tipo de problemática particular que sirve como referencia, para enfrentar y resolver nuevos problemas de índole similar.

En el desarrollo de software, un framework o infraestructura digital, es una estructura conceptual y tecnológica de soporte definido, normalmente con artefactos o módulos de software concretos, que puede servir de base para la organización y desarrollo de software. Típicamente, puede incluir soporte de programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas, para así ayudar a desarrollar y unir los diferentes componentes de un proyecto.

Representa una arquitectura de software que modela las relaciones generales de las entidades del dominio, y provee una estructura y una especial metodología de trabajo, la cual extiende o utiliza las aplicaciones del dominio.

Arquitectura
Dentro de este aspecto, podemos basarnos en el modelo MVC (Controlador => Modelo => Vista), ya que debemos fragmentar nuestra programación. Tenemos que contemplar estos aspectos básicos en cuanto a la implementación de nuestro sistema:

Modelo
Este miembro del controlador maneja las operaciones lógicas, y de manejo de información (previamente enviada por su ancestro), para resultar de una forma explicable y sin titubeos. Cada miembro debe ser meticulosamente llamado, con su correcto nombre y en principio, con su verdadera naturaleza: el manejo de información, su complementación directa.
Vista
Al final, a este miembro de la familia le corresponde dibujar, o expresar la última forma de los datos: la interfaz gráfica que interactúa con el usuario final del programa (GUI). Después de todo, a este miembro le toca evidenciar la información obtenida hasta hacerla llegar al controlador. Solo (e inicialmente), nos espera demostrar la información.
Controlador
Con este apartado podemos controlar el acceso (incluso todo) a nuestra aplicación, y esto puede incluir: archivos, scripts, y/o programas; cualquier tipo de información que permita la interfaz. Así, podremos diversificar nuestro contenido de forma dinámica, y estática (a la vez); pues, sólo debemos controlar ciertos aspectos (como se ha mencionado antes).
Estructura
Dentro del controlador, modelo o vista podemos manejar lo siguiente: datos. Depende de nosotros como interpretar y manejar estos 'datos'. Ahora, sabemos que el único dato de una dirección estática web es: conseguir un archivo físico en el disco duro o de internet, etc. e interpretado o no, el servidor responde.

El modelo, al igual que el controlador y la vista, maneja todos los datos que se relacionen consigo (solo es el proceso medio de la separación por capas que ofrece la arquitectura MVC). Y sólo la vista, puede demostrar dicha información. Con lo cual ya hemos generado la jerarquía de nuestro programa: Controlador, Modelo y Vista.

FUENTE DE INFORMACION:

http://es.wikipedia.org/wiki/Framework

ATT: MOISES ANGON TORRES


MUY BENA APORTACION COMPAÑERO YO TAMBIEN ENCONTRE ALO RELACIONADO A LO TUYO.


ATTE: CINTHIA CADENA PEREZ

CINTHIA CADENA PEREZ

Mensajes : 51
Fecha de inscripción : 01/02/2013

Ver perfil de usuario

Volver arriba Ir abajo

RESPUESTA: MODELO-VISTA-CONTROLADOR

Mensaje  pablodelgadogomez el Lun Mayo 19, 2014 12:34 am

- Investigar los conceptos del Modelo-Vista-Controlador /
- Analizar marcos de trabajo para la realización de Aplicaciones Web con el Modelo-Vista-Controlador


EN EL SIGUIENTE ENLACE SE ENCUENTRA LA INFORMACIÓN QUE INVESTIGUÉ RELACIONADO CON LOS APARTADOS QUE SE MENCIONAN ANTERIORMENTE:

ENLACE:
http://es.scribd.com/doc/224954477/Modelo-Vista-Controlador
avatar
pablodelgadogomez

Mensajes : 28
Fecha de inscripción : 29/01/2013

Ver perfil de usuario

Volver arriba Ir abajo

Respuesta al reactivo 1

Mensaje  Isidro Antonio Solano el Lun Mayo 19, 2014 10:54 pm

Conceptos básicos de Framework

Un Framework es un conjunto estandarizado de conceptos, prácticas y criterios para hacer frente a un tipo común de problema, que puede ser usado para ayudarnos a  resolverlo de forma rápida y eficaz.
El objetivo de los Frameworks es proporcionar una estructura común, de modo que los desarrolladores no tienen que hacer el código de cero cada vez y puede volver a utilizar la gran mayoría.

Tipos de Frameworks
Básicamente, existen 2 tipos de diferenciar: backend y frontend (esta distinción se hace en función de si el framework es para la parte visual o para la parte lógica de la aplicación).
Es importante entender que los frameworks son un aspecto conceptual: un kit estándar prefabricado desde el que trabajar. El concepto de un framework se puede aplicar a diferentes procesos que se llevan a cabo en la web:
Capa del backend developer que conecta la base de datos con el contenido del sitio y utiliza el lenguaje PHP
Capa del frontend developer que trata la parte visual de cara al usuario formada con los lenguajes HTML y CSS.

Bibliografia
http://edgargomez.es/que-es-un-framework/#.U3rPXvl5NqU
avatar
Isidro Antonio Solano

Mensajes : 36
Fecha de inscripción : 06/02/2013
Edad : 25

Ver perfil de usuario

Volver arriba Ir abajo

Re: 4.- Frameworks Para Desarrollo De Aplicaciones Web

Mensaje  Isidro Antonio Solano el Lun Mayo 19, 2014 10:56 pm

pablodelgadogomez escribió:- Investigar los conceptos del Modelo-Vista-Controlador /
- Analizar marcos de trabajo para la realización de Aplicaciones Web con el Modelo-Vista-Controlador


EN EL SIGUIENTE ENLACE SE ENCUENTRA LA INFORMACIÓN QUE INVESTIGUÉ RELACIONADO CON LOS APARTADOS QUE SE MENCIONAN ANTERIORMENTE:

ENLACE:
http://es.scribd.com/doc/224954477/Modelo-Vista-Controlador

Jeje buena bibliografia pablo, esta explicado en la fuente que as citado,  Laughing Laughing Laughing Laughing Laughing Laughing 
avatar
Isidro Antonio Solano

Mensajes : 36
Fecha de inscripción : 06/02/2013
Edad : 25

Ver perfil de usuario

Volver arriba Ir abajo

Respuesta al reactivo Investigar los conceptos del Modelo-Vista-Controlador

Mensaje  Isidro Antonio Solano el Lun Mayo 19, 2014 11:02 pm

Modelo Vista Controlador (MVC) es un patrón de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos. El patrón MVC se ve frecuentemente en aplicaciones web, donde la vista es la página HTML y el código que provee de datos dinámicos a la página, el modelo es el Sistema de Gestión de Base de Datos y la Lógica de negocio y el controlador es el responsable de recibir los eventos de entrada desde la vista.

El modelo es el responsable de:
• Acceder a la capa de almacenamiento de datos. Lo ideal es que el modelo sea independiente del sistema de almacenamiento.
• Define las reglas de negocio (la funcionalidad del sistema). Un ejemplo de regla puede ser: “Si la mercancía pedida no está en el almacén, consultar el tiempo de entrega estándar del proveedor”.
• Lleva un registro de las vistas y controladores del sistema.
• Si estamos ante un modelo activo, notificará a las vistas los cambios que en los datos pueda producir un agente externo (por ejemplo, un fichero bath que actualiza los datos, un temporizador que desencadena una inserción, etc).

Bibliográfia

http://www.comusoft.com/modelo-vista-controlador-definicion-y-caracteristicas
avatar
Isidro Antonio Solano

Mensajes : 36
Fecha de inscripción : 06/02/2013
Edad : 25

Ver perfil de usuario

Volver arriba Ir abajo

RESPUESTA AL INCISO # 1

Mensaje  sinay vargas el Sáb Mayo 24, 2014 8:33 pm

CONCEPTOS BÁSICOS DE FRAMEWORK

FrameWork es un concepto sumamente genérico, se refiere a “ambiente de trabajo, y ejecución”, por ejemplo “.Net” es considerado un “framework” para desarrollar aplicaciones (Aplicaciones sobre Windows). En general los framework son soluciones completas que contemplan herramientas de apoyo a la construcción (ambiente de trabajo o desarrollo) y motores de ejecución (ambiente de ejecución).
Un framework para aplicaciones web es un framework diseñado para apoyar el desarrollo de sitios web dinámicos, aplicaciones web y servicios web. Este tipo de frameworks intenta aliviar el exceso de carga asociado con actividades comunes usadas en desarrollos web. Por ejemplo, muchos framework proporcionan bibliotecas para acceder a bases de datos, estructuras para plantillas y gestión de sesiones, y con frecuencia facilitan la reutilización de código.
La palabra inglesa "framework" (marco de trabajo) define, en términos generales, un conjunto estandarizado de conceptos, prácticas y criterios para enfocar un tipo de problemática particular que sirve como referencia, para enfrentar y resolver nuevos problemas de índole similar.
Un framework es un conjunto de herramientas, librerías, convenciones y buenas prácticas que pretenden encapsular las tareas repetitivas en módulos genéricos fácilmente reutilizables.
De la misma forma, un framework CSS es un conjunto de herramientas, hojas de estilos y buenas prácticas que permiten al diseñador web olvidarse de las tareas repetitivas para centrarse en los elementos únicos de cada diseño en los que puede aportar valor.



Los frameworks CSS más completos incluyen utilidades para que el diseñador no tenga que trabajar en ningún aspecto genérico del diseño web.

Por este motivo, es habitual que los mejores frameworks CSS incluyan herramientas para:
• Neutralizar los estilos por defecto que aplican los navegadores. Se trata de la habitual hoja de estilosreset.css que todos los diseñadores profesionales utilizan.
• Manejar correctamente el texto, de forma que todos los contenidos se vean exactamente igual en todos los navegadores y que sean adaptables para mejorar su accesibilidad y permitir su acceso en cualquier medio y/o dispositivo.
• Crear cualquier estructura compleja o layout de forma sencilla, con la seguridad de que funciona correctamente en cualquier versión de cualquier navegador.


VENTAJAS

• El programador no necesita plantearse una estructura global de la aplicación, sino que el framework le proporciona un esqueleto que hay que “rellenar”.
• Facilita la colaboración. Cualquiera que haya tenido que “pelearse” con el código fuente de otro programador (¡o incluso con el propio, pasado algún tiempo!) sabrá lo difícil que es entenderlo y modificarlo; por tanto, todo lo que sea definir y estandarizar va a ahorrar tiempo y trabajo a los desarrollos colaborativos.
• Es más fácil encontrar herramientas (utilidades, librerías) adaptadas al framework concreto para facilitar el desarrollo.


FUENTES DE INFORMACIÓN

http://www.soaagenda.com/journal/articulos/que-son-los-frameworks/
http://jordisan.net/blog/2006/que-es-un-framework/
http://librosweb.es/css_avanzado/capitulo_5.html


 lol!
avatar
sinay vargas

Mensajes : 68
Fecha de inscripción : 29/01/2013

Ver perfil de usuario

Volver arriba Ir abajo

RESPUESTA AL INCISO # 3

Mensaje  sinay vargas el Sáb Mayo 24, 2014 8:40 pm

Conceptos del Modelo-Vista-Controlador

El Modelo Vista Controlador (MVC) es un patrón de arquitectura de software que separa los datos y la lógica de negocio de una aplicación de la interfaz de usuario y el módulo encargado de gestionar los eventos y las comunicaciones. Para ello MVC propone la construcción de tres componentes distintos que son el modelo, la vista y el controlador, es decir, por un lado define componentes para la representación de la información, y por otro lado para la interacción del usuario. Este patrón de diseño se basa en las ideas de reutilización de código y la separación de conceptos, características que buscan facilitar la tarea de desarrollo de aplicaciones y su posterior mantenimiento

Una aplicación web basada en este patrón separa su código en tres partes diferenciadas:
• El controlador: el controlador es el punto de entrada de la aplicación, se mantiene a la escucha de todas las peticiones, ejecuta la lógica de la aplicación, y muestra la vista apropiada para cada caso.
• El modelo : el modelo contiene todo el código relacionado con el acceso a datos. Es importante que sea un código lo más genérico posible y se pueda reutilizar en otras situaciones y proyectos. Nunca incluiremos lógica en el modelo, solamente consultas a la base de datos y validaciones de entrada de datos.
• La vista : la vista contiene el código que representará lo que nosotros veremos por pantalla.


El objetivo de usar este patrón de diseño, es desacoplar lo mas posible el código de nuestra aplicación, y asi potenciar la flexibilidad y el reuso de sus partes.

El controlador encapsula todos los mecanismos de respuesta a una entrada producida en el sistema. Teniendo varios controladores posibles, podríamos cambiar la forma de interaccion con el modelo.
La relación entre Vista-Controlador podría estar implementada mediante el patrón 'Strategy'. Este patrón podría permitirnos elegir y cambiar en tiempo de ejecución que tipo de interacción existirá entre ambos objetos. Un objeto Strategy representa un algoritmo y este patrón nos permitiría tener variantes a elegir dinámicamente.

Las vistas podríamos verlas como un conjunto de elementos que se componen. El patrón 'Composite' nos permite definir un conjunto de objetos primitivos y un mecanismo para combinarlos y ensamblarlos para formar objetos mas complejos.


La capa del Modelo
El modelo representa la parte de la aplicación que implementa la lógica de negocio.  Esto significa que es responsable de la recuperación de datos, convirtiéndolo en conceptos significativos para la aplicación, así como su procesamiento, validación, asociación y cualquier otra tarea relativa a la manipulación de dichos datos.
A primera vista, los objetos del modelo puede ser considerados como la primera capa de la interacción con cualquier base de datos que podría estar utilizando tu aplicación. Pero, en general, representan los principales conceptos en torno a los cuales se desea implementar un programa.
En el caso de una red social, la capa de modelo se haría cargo de tareas tales como guardar datos del usuario, el almacenamiento de asociaciones con amigos, el almacenamiento y la recuperación de fotos de los usuarios, encontrar sugerencias de nuevos amigos, etc. Mientras que los objectos del modelo pueden ser considerados como “Amigo”, “Usuario”, “Comentario” y “Foto”.


La capa de la Vista

La vista hace una presentación de los datos del modelo. Estando separada de los objetos del modelo, es responsable del uso de la información de la cual dispone para producir cualquier interfaz de presentación de cualquier petición que se presente.
Por ejemplo, como la capa de modelo devuelve un conjunto de datos, la vista los usaría para hacer una página HTML que los contenga. O un resultado con formato XML para que otras aplicaciones puedan consumir.
La capa de la Vista no se limita únicamente a HTML o texto que represente los datos, sino que puede ser utilizada para ofrecer una amplia variedad de formatos en función de sus necesidades, tales como videos, música, documentos y cualquier otro formato que puedas imaginar.


La capa del Controlador

La capa del controlador gestiona las peticiones de los usuarios. Es responsable de responder la información solicitada con la ayuda tanto del modelo como de la vista.
Los controladores pueden ser vistos como administradores, cuidando de que todos los recursos necesarios para completar una tarea se deleguen a los trabajadores más adecuados. Espera peticiones de los clientes, comprueba su validez de acuerdo a las normas de autenticación o autorización, delega la busqueda de datos al modelo, y selecciona la tipo de respuesta más adecuado según las preferencias del cliente, finalmente, delega este proceso de presentación a la capa de la Vista.


FUENTES DE INFORMACIÓN

http://book.cakephp.org/2.0/es/cakephp-overview/understanding-model-view-controller.html
http://www.comusoft.com/modelo-vista-controlador-definicion-y-caracteristicas
https://sites.google.com/site/conceptoprogramacion/Home/mvc
http://es.wikipedia.org/wiki/Modelo_Vista_Controlador
avatar
sinay vargas

Mensajes : 68
Fecha de inscripción : 29/01/2013

Ver perfil de usuario

Volver arriba Ir abajo

Re: 4.- Frameworks Para Desarrollo De Aplicaciones Web

Mensaje  sinay vargas el Sáb Mayo 24, 2014 8:45 pm

CINTHIA CADENA PEREZ escribió:1.- CONCEPTOS BASICOS DE FRAMEWORK

DEFINICION:
La palabra inglesa "framework" (marco de trabajo) define, en términos generales, un conjunto estandarizado de conceptos, prácticas y criterios para enfocar un tipo de problemática particular que sirve como referencia, para enfrentar y resolver nuevos problemas de índole similar.

En el desarrollo de software, un framework o infraestructura digital, es una estructura conceptual y tecnológica de soporte definido, normalmente con artefactos o módulos de software concretos, que puede servir de base para la organización y desarrollo de software. Típicamente, puede incluir soporte de programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas, para así ayudar a desarrollar y unir los diferentes componentes de un proyecto.

ARQUITECTURA

Representa una arquitectura de software que modela las relaciones generales de las entidades del dominio, y provee una estructura y una especial metodología de trabajo, la cual extiende o utiliza las aplicaciones del dominio.

(plataforma, entorno, marco de trabajo). Desde el punto de vista del desarrollo de software, un framework es una estructura de soporte definida, en la cual otro proyecto de software puede ser organizado y desarrollado.

Los frameworks suelen incluir:
* Soporte de programas.
* Bibliotecas.
* Lenguaje de scripting.
* Software para desarrollar y unir diferentes componentes de un proyecto de desarrollo de programas.

Los frameworks permiten:
* Facilitar el desarrollo de software.
* Evitar los detalles de bajo nivel, permitiendo concentrar más esfuerzo y tiempo en identificar los requerimientos de software.

Una definición de framework es la de un marco de aplicación o conjunto de bibliotecas orientadas a la reutilización a muy gran escala de componentes software para el desarrollo rápido de aplicaciones. En esta categoría se incluye la Biblioteca de Componentes Visuales (VCL) de CodeGear, Swing y AWT para el desarrollo de aplicaciones con formularios en Java, Struts, para aplicaciones web también en Java, Ruby On Rails para aplicaciones web con Ruby, y las antiguas Microsoft Foundation Classes y Turbo Vision de Borland.

LAS PRINCIPALES VENTAJAS DE LA UTILIZACIÓN DE UN FRAMEWORK SON:
1. El desarrollo rápido de aplicaciones. Los componentes incluidos en un framework constituyen una capa que libera al programador de la escritura de código de bajo nivel.
2. La reutilización de componentes software al por mayor. Los frameworks son los paradigmas de la reutilización.
3. El uso y la programación de componentes que siguen una política de diseño uniforme. Un framework orientado a objetos logra que los componentes sean clases que pertenezcan a una gran jerarquía de clases, lo que resulta en bibliotecas más fáciles de aprender a usar.

LAS DESVENTAJAS DE LOS FRAMEWORKS SON:
1. La dependencia del código fuente de una aplicación con respecto al framework. Si se desea cambiar de framework, la mayor parte del código debe reescribirse.
2. La demanda de grandes cantidades de recursos computacionales debido a que la característica de reutilización de los frameworks tiende a generalizar la funcionalidad de los componentes. El resultado es que se incluyen características que están "de más", provocando una sobrecarga de recursos que se hace más grande en cuanto más amplio es el campo de reutilización.

El término framework tiene una acepción más amplia, en donde además de incluir una biblioteca de componentes reutilizables, es toda una tecnología o modelo de programación que contiene máquinas virtuales, compiladores, bibliotecas de administración de recursos en tiempo de ejecución y especificaciones de lenguajes. Tal es el caso del framework Microsoft .NET.

Otra ventaja de los frameworks, y en especial de esta acepción ampia, es la portabilidad de aplicaciones de una arquitectura a otra. Por ejemplo, los bytecodes generados a partir del código fuente de clases en Java pueden ser ejecutados sobre cualquier máquina virtual, independientemente de la arquitectura hardware y software subyacente.


BIBLIOGRAFIA
www.lsi.us.es/~javierj/investigacion_ficheros/Framework.pdf
www.alegsa.com.ar › Diccionario tecnología
www.soaagenda.com/journal/articulos/que-son-los-frameworks/
byronandrango.wordpress.com/.../definicion-de-framework-ejemplos-de...
sedici.unlp.edu.ar/bitstream/handle/10915/.../Documento_completo.pdf?...


ATTE: CINTHIA CADENA PEREZ








Hola amiga respecto a tu investigación que nos has publicado por este medio sobre los Framework es interesante por que nos das los que es la definicion e incluso su propia arquitectura, Me gusto mucho tu investigación amiga sigue así.

Atentamente: Sinaí Vargas García

 Laughing   study 
avatar
sinay vargas

Mensajes : 68
Fecha de inscripción : 29/01/2013

Ver perfil de usuario

Volver arriba Ir abajo

Replica a una compañera

Mensaje  sinay vargas el Sáb Mayo 24, 2014 8:51 pm

CINTHIA CADENA PEREZ escribió:3.- INVESTIGAR LOS CONCEPTOS DEL MODELO-VISTA-CONTROLADOR

CONCEPTO:
El modelo–vista–controlador (MVC) es un patrón de arquitectura de software que separa los datos y la lógica de negocio de una aplicación de la interfaz de usuario y el módulo encargado de gestionar los eventos y las comunicaciones. Para ello MVC propone la construcción de tres componentes distintos que son el modelo, la vista y el controlador, es decir, por un lado define componentes para la representación de la información, y por otro lado para la interacción del usuario1 2 . Este patrón de arquitectura de software se basa en las ideas de reutilización de código y la separación de conceptos, características que buscan facilitar la tarea de desarrollo de aplicaciones y su posterior mantenimiento.

DE MANERA GENÉRICA, LOS COMPONENTES DE MVC SE PODRÍAN DEFINIR COMO SIGUE:
• El Modelo: Es la representación de la información con la cual el sistema opera, por lo tanto gestiona todos los accesos a dicha información, tanto consultas como actualizaciones, implementando también los privilegios de acceso que se hayan descrito en las especificaciones de la aplicación (lógica de negocio). Envía a la 'vista' aquella parte de la información que en cada momento se le solicita para que sea mostrada (típicamente a un usuario). Las peticiones de acceso o manipulación de información llegan al 'modelo' a través del 'controlador'12 .
• El Controlador: Responde a eventos (usualmente acciones del usuario) e invoca peticiones al 'modelo' cuando se hace alguna solicitud sobre la información (por ejemplo, editar un documento o un registro en una base de datos). También puede enviar comandos a su 'vista' asociada si se solicita un cambio en la forma en que se presenta de 'modelo' (por ejemplo, desplazamiento o scroll por un documento o por los diferentes registros de una base de datos), por tanto se podría decir que el 'controlador' hace de intermediario entre la 'vista' y el 'modelo' (véase Middleware).
• La Vista: Presenta el 'modelo' (información y lógica de negocio) en un formato adecuado para interactuar (usualmente la interfaz de usuario) por tanto requiere de dicho 'modelo' la información que debe representar como salida.
Interacción de los componentes

Aunque se pueden encontrar diferentes implementaciones de MVC, el flujo de control que se sigue generalmente es el siguiente:
1. El usuario interactúa con la interfaz de usuario de alguna forma (por ejemplo, el usuario pulsa un botón, enlace, etc.)
2. El controlador recibe (por parte de los objetos de la interfaz-vista) la notificación de la acción solicitada por el usuario. El controlador gestiona el evento que llega, frecuentemente a través de un gestor de eventos (handler) o callback.
3. El controlador accede al modelo, actualizándolo, posiblemente modificándolo de forma adecuada a la acción solicitada por el usuario (por ejemplo, el controlador actualiza el carro de la compra del usuario). Los controladores complejos están a menudo estructurados usando un patrón de comando que encapsula las acciones y simplifica su extensión.
4. El controlador delega a los objetos de la vista la tarea de desplegar la interfaz de usuario. La vista obtiene sus datos del modelo para generar la interfaz apropiada para el usuario donde se reflejan los cambios en el modelo (por ejemplo, produce un listado del contenido del carro de la compra). El modelo no debe tener conocimiento directo sobre la vista. Sin embargo, se podría utilizar el patrón Observador para proveer cierta indirección entre el modelo y la vista, permitiendo al modelo notificar a los interesados de cualquier cambio. Un objeto vista puede registrarse con el modelo y esperar a los cambios, pero aun así el modelo en sí mismo sigue sin saber nada de la vista. Este uso del patrón Observador no es posible en las aplicaciones Web puesto que las clases de la vista están desconectadas del modelo y del controlador. En general el controlador no pasa objetos de dominio (el modelo) a la vista aunque puede dar la orden a la vista para que se actualice. Nota: En algunas implementaciones la vista no tiene acceso directo al modelo, dejando que el controlador envíe los datos del modelo a la vista. Por ejemplo en el MVC usado por Apple en su framework Cocoa. Suele citarse como Modelo-Interface-Control, una variación del MVC más puro
5. La interfaz de usuario espera nuevas interacciones del usuario, comenzando el ciclo nuevamente.

Historia
El patrón MVC fue una de las primeras ideas en el campo de las interfaces gráficas de usuario y uno de los primeros trabajos en describir e implementar aplicaciones software en términos de sus diferentes funciones[5] .
MVC fue introducido por Trygve Reenskaug (web personal) en Smalltalk-76 durante su visita a Xerox Parc[6] [7] en los años 70 y, seguidamente, en los años 80, Jim Althoff y otros implementaron una versión de MVC para la biblioteca de clases de Smalltalk-80[8] . Sólo más tarde, en 1988, MVC se expresó como un concepto general en un artículo[9] sobre Smalltalk-80.
En esta primera definición de MVC el controlador se definía como "el módulo que se ocupa de la entrada" (de forma similar a como la vista "se ocupa de la salida"). Esta definición no tiene cabida en las aplicaciones modernas en las que esta funcionalidad es asumida por una combinación de la 'vista' y algún framework moderno para desarrollo. El 'controlador', en las aplicaciones modernas de la década de 2000, es un módulo o una sección intermedia de código, que hace de intermediario de la comunicación entre el 'modelo' y la 'vista', y unifica la validación (utilizando llamadas directas o el "observer" para desacoplar el 'modelo' de la 'vista' en el 'modelo' activo[10] ).

Algunos aspectos del patrón MVC han evolucionado dando lugar a ciertas variantes del concepto original, ya que "'las partes del MVC clásico realmente no tienen sentido para los clientes actuales"[11] :
• HMVC (MVC Jerárquico)
• MVA (Modelo-Vista-Adaptador)
• MVP (Modelo-Vista-Presentador)
• MVVM (Modelo-Vista Vista-Modelo)
• ... y otros que han adaptado MVC a diferentes contextos.


Uso en aplicaciones Web
Aunque originalmente MVC fue desarrollado para aplicaciones de escritorio, ha sido ampliamente adaptado como arquitectura para diseñar e implementar aplicaciones web en los principales lenguajes de programación. Se han desarrollado multitud de frameworks, comerciales y no comerciales, que implementan este patrón (ver apartado siguiente "Frameworks MVC"); estos frameworks se diferencian básicamente en la interpretación de como las funciones MVC se dividen entre cliente y servidor[13] .
Los primeros frameworks MVC para desarrollo web planteaban un enfoque de cliente ligero en el que casi todas las funciones, tanto de la vista, el modelo y el controlador recaían en el servidor. En este enfoque, el cliente manda la petición de cualquier hiperenlace o formulario al controlador y después recibe de la vista una página completa y actualizada (u otro documento); tanto el modelo como el controlador (y buena parte de la vista) están completamente alojados en el servidor. Como las tecnologías web han madurado, ahora existen frameworks como JavaScriptMVC, Backbone o jQuery[14] que permiten que ciertos componentes MVC se ejecuten parcial o totalmente en el cliente (véase AJAX).


BIBLIOGRAFIA:
www.asp.net/mvc
msdn.microsoft.com/en-us/library/ff649643.aspx
https://www.fdi.ucm.es/profesor/jpavon/poo/2.14.MVC.pdf
es.wikipedia.org/wiki/Modelo–vista–controlador


ATTE: CINTHIA CADENA PEREZ



Hola amiga respecto a tu información me parece interesante ya que yo también encontre algo similar del mismo tema

Atentamente: Sinaí Vargas García


 lol!   geek 
avatar
sinay vargas

Mensajes : 68
Fecha de inscripción : 29/01/2013

Ver perfil de usuario

Volver arriba Ir abajo

RESPUESTA A UN REACTIVO

Mensaje  thanahi el Jue Jun 05, 2014 8:43 pm

Describa en qué consiste Ruby On Raills (y escriba un ejemplo de programa)

Ruby on Rails, también conocido como RoR o Rails, es un framework de aplicaciones web de código abierto escrito en el lenguaje de programación Ruby, siguiendo el paradigma de la arquitectura Modelo Vista Controlador (MVC). Trata de combinar la simplicidad con la posibilidad de desarrollar aplicaciones del mundo real escribiendo menos código que con otros frameworks y con un mínimo de configuración. El lenguaje de programación Ruby permite la metaprogramación, de la cual Rails hace uso, lo que resulta en una sintaxis que muchos de sus usuarios encuentran muy legible. Rails se distribuye a través de RubyGems, que es el formato oficial de paquete y canal de distribución de bibliotecas y aplicaciones Ruby.

Ruby on Rails es un entorno de desarrollo web de código abierto que está optimizado para la satisfacción de los programadores y para la productividad sostenible. Te permite escribir un buen código evitando que te repitas y favoreciendo la convención antes que la configuración.

Entre las carecterísticas del lenguaje se encuentran:


  • Posibilidad de hacer llamadas directamente al sistema operativo.
  • Muy potente para el manejo de cadenas y expresiones regulares.
  • No se necesita declarar las variables.
  • La sintaxis es simple y consistente.
  • Gestión de memoria automática.
  • Todo es un objeto.
  • Métodos Singleton.


Ruby es un lenguaje orientado a objetos relativamente nuevo (creado en 1995 por Yukihiro Matsumoto con sintaxis parecida a Perl y con notables características de Smalltalk), que ha ganado popularidad últimamente gracias a Rails por la facilidad y rapidez en la creación de robustas aplicaciones web.

Uno de los principales objetivos de RoR es la reutilización de código para no perder tiempo programando algo que ya está creado. Además, la framework también está pensada para que trabajar con bases de datos SQL sea de lo más sencillo. Sin embargo, es importante conocer las convenciones de programación que existen en Rails por ejemplo: el nombre de las tablas de las bases de datos. Rails recomienda nombrar las tablas con el nombre de la clase que la representa en plural y en minúsculas (la clase 'Forum' si tuviera una tabla se debería llamar 'forums'). Como este hay varios convenios más que a simple vista parecen inútiles pero luego permiten ahorrar una cantidad de tiempo impresionante cuando luego queramos hacer la documentación o editar código, etc.


Rails sigue el paradigma de programación MVC (Modelo Vista Controlador). MVC es un patrón de arquitectura del software que separa los datos, la lógica, y la interfaz del usuario en distintas capas.

Modelo: Es la representación del dominio de la información conocida también por capa de dominio.
Vista: Es la capa de presentación: la interfaz del usuario.
Controlador: Es la capa que se encarga de interactuar con las capas anteriores. Responde a eventos del usuario y provoca cambios en la capa de dominio y en la capa de presentación.

Hay muchas alternativas para trabajar con Ruby on Rails, tanto libres y gratuitas como de pago. A continuación se listan las principales:

Aptana: Multiplataforma. Nació como plugins de eclipse para la edición y desarrollo web. Actualmente puedes instalarlo como plugins o autónomo de forma independiente. Las últimas versiones están muy bien integradas con Ruby on Rails. En este momento Aptana 3 es la versión estable.
Netbeans: Uno de los más usados, libre y totalmente gratuito. Viene muy bien integrado con JRuby (lo cual es algo lógico pues es un programa de Oracle). Desde NetBeans IDE 7.0, el soporte para Ruby y Ruby on Rails no se encuentra disponible en la distribución estándar del NetBeans IDE. 5
TextMate: Sólo para Mac. Es el entorno más usado entre la comunidad Rails. Es de pago pero su potencia y forma de trabajo favorece la producción y desarrollo con Ruby on Rails.
Gmate: Un proyecto libre y gratuito para convertir Gedit -el editor de texto de escritorio Gnome de GNU/Linux- en un clon muy aproximado de Textmate. Esto se consigue instalando diferentes plugins, temas y retocando algunas opciones. Al ser gratuito es una opción que está cogiendo muchos adeptos hoy en día.
Sublime Text: Un editor de texto y editor de código fuente creado en Python desarrollado originalmente como una extensión de Vim, con el tiempo fue creando una identidad propia, por esto aún conserva un modo de edición tipo vi llamado Vintage mode.

EJEMPLO

Si quieres empezar un proyecto y ya tienes instalado RoR puedes comenzar con lo siguiente: Abre tu terminal o DOS ve a la carpeta en donde meterás tus archivos y escribe los siguientes comandos:

1) Crear el proyecto
rails new prueba
Se genera una nueva carpeta dentro del directorio en que estás posicionado.
2) Ubícarse en el directorio recién creado. Ejemplo para plataformas (Windows) cd prueba
3) Crear una tabla Empleados
rails g scaffold empleado Nombre:string direccion:string telefono:string fechadeEntrada:date
4) Se emigra (se hace corresponder el modelo del programa con una base de datos) con el comando rake db:migrate
5) Desde el terminal se lanza el servidor rails s
6) Listo. Ahora se ingresa a la siguiente dirección en el navegador para utilizar la aplicación ya desarrollada: localhost:333/Empleados

Creando la tabla en la base de datos.

La mejor manera de crear la tabla es utilizando una migración. Una migración es un concepto de ActiveRecord que le permite mantener las modificaciones al esquema de su base de datos sincronizadas con la version actual de su código. Para crear una migración, usted debe hacer lo siguiente:

$ cd direcciones
$ ruby script/generate migration crea_tabla_personas
    create  db/migrate
    create  db/migrate/20081102001338_crea_tabla_personas.rb
Rails ahora ha creado una clase llamada CreaTablaPersonas (en el archivo db/migrate/20081102001338_crea_tabla_personas.rb, que contiene los métodos self.up y self.down:

class CreaTablaPersonas < ActiveRecord::Migration
 def self.up
 end

 def self.down
 end
end
Una migración define los métodos self.up y self.down para hacer y deshacer respectivamente sus cambios al esquema. Para crear nuestra tabla, definimos la tabla con un comando de ruby en self.up. También escribiremos el código para deshacer nuestros cambios (en este caso, eliminar la tabla) en self.down:

class CreaTablaPersonas < ActiveRecord::Migration
 def self.up
   create_table :personas do |tabla|
     tabla.string :nombre, :limit => 80, :null => false
     tabla.string :apellido_paterno, :limit => 80
     tabla.string :apellido_materno, :limit => 80
     # El nombre que debemos desplegar en pantalla
     tabla.string :desplegar, :limit => 80
     tabla.string :sexo, :limit => 10, :default => 'Hombre', :null => false
     tabla.text :notas
   end
 end

 def self.down
   drop_table :personas
 end
end
El resultado de ejecutar la migración será el siguiente SQL (en mysql):

CREATE TABLE personas (
id int NOT NULL auto_increment,
nombre varchar(80) default NOT NULL,
apellido_paterno varchar(80) default NULL,
apellido_materno varchar(80) default NULL,
desplegar varchar(80) default NULL,
sexo varchar(10) default 'Hombre',
notas TEXT NULL,
PRIMARY KEY (id)
);
Note que el campo identificador (id) se crea automáticamente.

Cuando su código esté listo, simplemente ejecute el comando:

$ rake db:migrate
Y el sistema se conectará a la base de datos y ejecutará la migración.

Rails mantiene una tabla en la base de datos llamada schema_info que contiene la "versión" actual de la base de datos. Si usted ejecuta el comando rake migrate VERSION=x, la base de datos cambiará a la versión X, ya sea ejecutando los métodos "up" de las migraciones que no se han hecho, o ejecutando los métodos "down" de las versiones que hay que revertir.

Fuentes de información:
http://www.rubyonrails.org.es/
http://www.maestrosdelweb.com/editorial/rubyonrails/
http://html5facil.com/tutoriales/ruby-on-rails-desde-cero-primeros-pasos
http://www.webtutoriales.com/articulos/que-es-ruby-on-rails
http://www.hackerdude.com/courses/rails/CreandoUnModuloMVC.html
http://blog.xenodesystems.com/2012/06/tutorial-express-de-ruby-on-rails-hacer.html


ATENTAMENTE: THANAHI MEDRANO RUIZ

thanahi

Mensajes : 52
Fecha de inscripción : 30/01/2013

Ver perfil de usuario

Volver arriba Ir abajo

Re: 4.- Frameworks Para Desarrollo De Aplicaciones Web

Mensaje  thanahi el Jue Jun 05, 2014 9:05 pm

- Describa en qué consiste AJAX (y escriba un ejemplo de programa)


AJAX, acrónimo de Asynchronous JavaScript And XML (JavaScript asíncrono y XML), es una técnica de desarrollo web para crear aplicaciones interactivas o RIA (Rich Internet Applications). Éstas se ejecutan en el cliente, es decir, en el navegador de los usuarios y mantienen comunicación asíncrona con el servidor en segundo plano. De esta forma es posible realizar cambios sobre la misma página sin necesidad de recargarla. Esto significa aumentar la interactividad, velocidad y usabilidad de la misma.

AJAX es una combinación de tres tecnologías ya existentes:
•XHTML (o HTML) y hojas de estilos en cascada (CSS) para el diseño que acompaña a la información.
•Document Object Model (DOM) accedido con un lenguaje de scripting por parte del usuario, especialmente implementaciones ECMAScript como JavaScript y JScript, para mostrar e interactuar dinámicamente con la información presentada.
•El objeto XMLHttpRequest para intercambiar datos asincrónicamente con el servidor web. En algunos frameworks y en algunas situaciones concretas, se usa un objeto iframe en lugar del XMLHttpRequest para realizar dichos intercambios.
•XML es el formato usado comúnmente para la transferencia de vuelta al servidor, aunque cualquier formato puede funcionar, incluyendo HTML preformateado, texto plano, JSON y también EBML.

Una de las cosas que nos permite AJAX es realizar peticiones asíncronas, las cuales solo recarguen una parte de la página. Esto nos da la posibilidad de dar la sensación de velocidad de cara al usuario. Un caso ejemplo es el de la repaginación de datos. Es decir, tener una lista de elementos dentro de las páginas e ir avanzando o retrocediendo en el listado. Buscando no afectar al resto de la página.
En el ejemplo repaginar datos con AJAX nos vamos a centrar en la parte cliente de petición (en nuestra páginaHTML). No entraremos en detalle de la construcción de la parte servidor. Si bien, dejo pendiente el escribir un artículo completo que utilice AJAX, PHP y acceso a datos MySQL. Lo cual nos dejará ver el proceso entero de una forma más detallada.
Empezaremos definiendo la página del servidor que nos devuelva los datos. Esta puede estar construida en cualquier tecnología del lado del servidor. Véase ASP, PHP, JSP,... En nuestro caso vamos a crear una pequeña página en JSP.
Esta página recibe un parámetro denominado "página". Según el valor que le llegue como parámetro devolverá una lista HTML u otra. La URL será algo como lo siguiente:
http://www.miservidor.com/datos.jsp?pagina=2
Aunque no quiero entrar en detalle del código JSP os adjunto un pequeño extracto del código. De forma orientativa:
<%
String[] provincias = {"Álava","Albacete","Alicante","Almería",...,"Zamora","Zaragoza"};
int pagina = Integer.valueOf(request.getParameter("pagina"));
pagina=(pagina-1)*10;
out.println("<ul>");
for (int x=0;x<10;x++)
out.println("<li>" + provincias[pagina+x] + "</li>");

out.println("</ul>");

%>

Comentándolo muy por encima, recupera el valor del parámetro utilizando el método .getParameter() y lo utiliza para acceder a un array de String. A partir de ese elemento del array devuelve 10 elementos en una lista HTML utilizando las etiquetas UL y LI.
Pero centrémonos en la parte cliente. Lo primero será definir la página. La página tendrá una capa DIV donde iremos mostrando el contenido. Es importante darle un ID a la capa, ya que nuestro código JavaScriptaccederá a ella para ir modificando el contenido de forma asíncrona.
Debajo de la capa pondremos 5 enlaces que llamen a una función JavaScript paginar. Esta función será la que realice la petición AJAX y cargue el contenido en la capa DIV.
Veamos este código:

<div id="datos"></div>
<a href="#" onclick="paginar(1);" title="paginar">1</a> |
<a href="#" onclick="paginar(2);" title="paginar">2</a> |
<a href="#" onclick="paginar(3);" title="paginar">3</a> |
<a href="#" onclick="paginar(4);" title="paginar">4</a> |
<a href="#" onclick="paginar(5);" title="paginar">5</a> |

La función JavaScript paginar será la que realice todo el trabajo. Como vemos esta función recibe un parámetro que indica el número de página sobre el que queremos posicionarnos.
function paginar(pagina) {...}

Lo primero que tiene que realizar esta función es cargar el objeto que nos permita realizar las peticiones asíncronas a modo AJAX. Este objeto es XMLHttpRequest.

Aunque el objeto XMLHttpRequest es un objeto ya estandarizado y definido por la W3C hay ciertos navegadores (como el Internet Explorer) que siguen sin implementarlo. En su defecto utilizan el objeto Microsoft.XMLHTTP. Este viene a hacer lo mismo, o algo parecido, pero con otro nombre.

Es por ello que la instancia del objeto XMLHttpRequest se complica un poco. Quedaría de la siguiente manera:
// Llama objeto XMLHttpRequest
if (window.XMLHttpRequest) {
  req = new XMLHttpRequest();    

// Si no funciona intenta utiliar el objeto IE/Windows ActiveX
} else if (window.ActiveXObject) {
  req = new ActiveXObject("Microsoft.XMLHTTP");
}

La variable que tiene la instancia es req. Esta variable será la que represente la conexión con el servicio de datos
El siguiente paso será establecer la conexión. Para ello seguimos tres pasos:

Primero indicamos que función JavaScript es la que va a procesar la respuesta del servidor. Esto lo hacemos mediante el evento .onreadystatechange de la petición. En nuestro caso será la función JavaScript"procesarRespuesta"
req.onreadystatechange = procesarRespuesta;
Segundo indicamos la URL a la cual queremos realizar la petición. Para componer la URL concatenamos la URL del servicio de datos con el número de página recibido como parámetro.
url = 'http://www.miservidor.com/datos.jsp?pagina=' + pagina;
req.open("GET",url,true);

El método .open es el que utilizamos para indicar la URL. Este tiene varios parámetros: tipo de petición (GET,POST o PUT), la URL y si queremos que sea síncrono -false- o asíncrono -false- como tercer parametro.
Tercero y último realizamos la petición. Para ello nos apoyamos en el método .send()
req.send(null);

Veamos como es la función repaginar entera:
1. function paginar(pagina) {
req = false;
// Llama objeto XMLHttpRequest
if (window.XMLHttpRequest) {
  req = new XMLHttpRequest();    
// Si no funciona intenta utiliar el objeto IE/Windows ActiveX
} else if (window.ActiveXObject) {
  req = new ActiveXObject("Microsoft.XMLHTTP");
}
if(req!=null){
  req.onreadystatechange = procesarRespuesta;
  url = 'datos.jsp?pagina=' + pagina;  
  req.open("GET",url,true);
  req.send(null);
}  
}
Ahora nos tenemos que centrar en la función JavaScript "procesarRespuesta". Esta función es la que recibirá los datos del servidor y los colocará en la capa.
Los datos de la respuesta vienen en la propiedad .responseText de la petición (es decir, del objeto req). Es por ello que simplemente tenemos que pegarlos en la capa.

function procesarRespuesta(){
contenido = document.getElementById('datos');
contenido.innerHTML="Cargando los datos...";
if (req.readyState==4 && req.status==200) {
  //mostrar resultados en esta capa
  contenido.innerHTML = req.responseText;
 }
}

Para poder poner los datos en la capa DIV tenemos que haber accedido a ella mediante su ID y la función .getElementById(). Para modificar el contenido de una capa nos apoyamos en la propiedad .innerHTML. Esta propiedad será sobre la que dejemos el contenido de responseText.
Y ya está. Con esto hemos construido una repaginación de datos con AJAX de una forma muy sencilla.

Navegadores que permiten Ajax
Ha de tenerse en cuenta que ésta es una lista general, y el soporte de las aplicaciones Ajax dependerá de las características que el navegador permita.

•Navegadores basados en Gecko como Mozilla, Mozilla Firefox, SeaMonkey, Camino, K-Meleon, IceWeasel, Flock, Epiphany, Galeon y Netscape versión 7.1 y superiores
•Navegadores basados en WebKit como Google Chrome de Google o Safari de Apple.
•Microsoft Internet Explorer para Windows versión 5.0 y superiores, y los navegadores basados en él
•Navegadores con el API KHTML versión 3.2 y superiores implementado, incluyendo Konqueror versión 3.2 y superiores y el Web Browser for S60 de Nokia tercera generación y posteriores
•Opera versión 8.0 y superiores, incluyendo Opera Mobile Browser versión 8.0 y superiores.

Navegadores que no permiten Ajax
•Opera 7 y anteriores
•Microsoft Internet Explorer para Windows versión 4.0 y anteriores
•Anteriores a Safari 1.2
•Dillo
•Navegadores basados en texto como Lynx y Links
•Navegadores para personas con capacidades especiales visuales (Braille)
•Algunos navegadores de teléfonos móviles
•Navegador de la PSP

FUENTES DE INFORMACION:
•http://lineadecodigo.com/categoria/ajax/
•http://www.sicuma.uma.es/es/formacion/doctoradoargentina/independientes/argentina08/LaRed-Eugenia/index.html
•http://www.masadelante.com/faqs/ajax
•http://blog.intelligenia.com/2012/02/interfaces-ajax-peticiones-de.html

ATENTAMENTE: THANAHI MEDRANO RUIZ

thanahi

Mensajes : 52
Fecha de inscripción : 30/01/2013

Ver perfil de usuario

Volver arriba Ir abajo

Re: 4.- Frameworks Para Desarrollo De Aplicaciones Web

Mensaje  thanahi el Jue Jun 05, 2014 9:08 pm

sinay vargas escribió:Conceptos del Modelo-Vista-Controlador

El Modelo Vista Controlador (MVC) es un patrón de arquitectura de software que separa los datos y la lógica de negocio de una aplicación de la interfaz de usuario y el módulo encargado de gestionar los eventos y las comunicaciones. Para ello MVC propone la construcción de tres componentes distintos que son el modelo, la vista y el controlador, es decir, por un lado define componentes para la representación de la información, y por otro lado para la interacción del usuario. Este patrón de diseño se basa en las ideas de reutilización de código y la separación de conceptos, características que buscan facilitar la tarea de desarrollo de aplicaciones y su posterior mantenimiento

Una aplicación web basada en este patrón separa su código en tres partes diferenciadas:
• El controlador: el controlador es el punto de entrada de la aplicación, se mantiene a la escucha de todas las peticiones, ejecuta la lógica de la aplicación, y muestra la vista apropiada para cada caso.
• El modelo : el modelo contiene todo el código relacionado con el acceso a datos. Es importante que sea un código lo más genérico posible y se pueda reutilizar en otras situaciones y proyectos. Nunca incluiremos lógica en el modelo, solamente consultas a la base de datos y validaciones de entrada de datos.
• La vista : la vista contiene el código que representará lo que nosotros veremos por pantalla.


El objetivo de usar este patrón de diseño, es desacoplar lo mas posible el código de nuestra aplicación, y asi potenciar la flexibilidad y el reuso de sus partes.

El controlador encapsula todos los mecanismos de respuesta a una entrada producida en el sistema. Teniendo varios controladores posibles, podríamos cambiar la forma de interaccion con el modelo.
La relación entre Vista-Controlador podría estar implementada mediante el patrón 'Strategy'. Este patrón podría permitirnos elegir y cambiar en tiempo de ejecución que tipo de interacción existirá entre ambos objetos. Un objeto Strategy representa un algoritmo y este patrón nos permitiría tener variantes a elegir dinámicamente.

Las vistas podríamos verlas como un conjunto de elementos que se componen. El patrón 'Composite' nos permite definir un conjunto de objetos primitivos y un mecanismo para combinarlos y ensamblarlos para formar objetos mas complejos.


La capa del Modelo
El modelo representa la parte de la aplicación que implementa la lógica de negocio.  Esto significa que es responsable de la recuperación de datos, convirtiéndolo en conceptos significativos para la aplicación, así como su procesamiento, validación, asociación y cualquier otra tarea relativa a la manipulación de dichos datos.
A primera vista, los objetos del modelo puede ser considerados como la primera capa de la interacción con cualquier base de datos que podría estar utilizando tu aplicación. Pero, en general, representan los principales conceptos en torno a los cuales se desea implementar un programa.
En el caso de una red social, la capa de modelo se haría cargo de tareas tales como guardar datos del usuario, el almacenamiento de asociaciones con amigos, el almacenamiento y la recuperación de fotos de los usuarios, encontrar sugerencias de nuevos amigos, etc. Mientras que los objectos del modelo pueden ser considerados como “Amigo”, “Usuario”, “Comentario” y “Foto”.


La capa de la Vista

La vista hace una presentación de los datos del modelo. Estando separada de los objetos del modelo, es responsable del uso de la información de la cual dispone para producir cualquier interfaz de presentación de cualquier petición que se presente.
Por ejemplo, como la capa de modelo devuelve un conjunto de datos, la vista los usaría para hacer una página HTML que los contenga. O un resultado con formato XML para que otras aplicaciones puedan consumir.
La capa de la Vista no se limita únicamente a HTML o texto que represente los datos, sino que puede ser utilizada para ofrecer una amplia variedad de formatos en función de sus necesidades, tales como videos, música, documentos y cualquier otro formato que puedas imaginar.


La capa del Controlador

La capa del controlador gestiona las peticiones de los usuarios. Es responsable de responder la información solicitada con la ayuda tanto del modelo como de la vista.
Los controladores pueden ser vistos como administradores, cuidando de que todos los recursos necesarios para completar una tarea se deleguen a los trabajadores más adecuados. Espera peticiones de los clientes, comprueba su validez de acuerdo a las normas de autenticación o autorización, delega la busqueda de datos al modelo, y selecciona la tipo de respuesta más adecuado según las preferencias del cliente, finalmente, delega este proceso de presentación a la capa de la Vista.


FUENTES DE INFORMACIÓN

http://book.cakephp.org/2.0/es/cakephp-overview/understanding-model-view-controller.html
http://www.comusoft.com/modelo-vista-controlador-definicion-y-caracteristicas
https://sites.google.com/site/conceptoprogramacion/Home/mvc
http://es.wikipedia.org/wiki/Modelo_Vista_Controlador

HOLA AMIGA LA INFORMACION APORTADA AL FORO DEFINES DE FORMA PRECISA TODO LO NECESARIO SOBRE EL MODELO-VISTA-CONTROLADOR.

ATT: THANAHI MEDRANO RUIZ

thanahi

Mensajes : 52
Fecha de inscripción : 30/01/2013

Ver perfil de usuario

Volver arriba Ir abajo

Re: 4.- Frameworks Para Desarrollo De Aplicaciones Web

Mensaje  thanahi el Jue Jun 05, 2014 9:11 pm

pablodelgadogomez escribió:- Investigar los conceptos del Modelo-Vista-Controlador /
- Analizar marcos de trabajo para la realización de Aplicaciones Web con el Modelo-Vista-Controlador


EN EL SIGUIENTE ENLACE SE ENCUENTRA LA INFORMACIÓN QUE INVESTIGUÉ RELACIONADO CON LOS APARTADOS QUE SE MENCIONAN ANTERIORMENTE:

ENLACE:
http://es.scribd.com/doc/224954477/Modelo-Vista-Controlador


EXCELENTE APORTE AMIGO NOS MUESTRA LOS CONCEPTOS MAS BASICOS SOBRE EL MODELO-VISTA-CONTROLADOR.

ATT: THANAHI MEDRANO RUIZ

thanahi

Mensajes : 52
Fecha de inscripción : 30/01/2013

Ver perfil de usuario

Volver arriba Ir abajo

RESPUESTA MA DE LOS ÁNGELES ALONSO TAPIA

Mensaje  AngelesAT el Sáb Jun 07, 2014 4:02 pm

Diferencias entre Framework , IDEs y Workspaces

FRAMEWORK:
En el desarrollo de software, un framework o infraestructura digital, es una estructura conceptual y tecnológica de soporte definido, normalmente con artefactos o módulos de software concretos, que puede servir de base para la organización y desarrollo de software. Típicamente, puede incluir soporte de programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas, para así ayudar a desarrollar y unir los diferentes componentes de un proyecto. Representa una arquitectura de software que modela las relaciones generales de las entidades del dominio, y provee una estructura y una especial metodología de trabajo, la cual extiende o utiliza las aplicaciones del dominio.

IDEs
Un entorno de desarrollo integrado, llamado también IDE (sigla en inglés de integrated development environment), es un programa informático compuesto por un conjunto de herramientas de programación. Puede dedicarse en exclusiva a un solo lenguaje de programación o bien puede utilizarse para varios.

Un IDE es un entorno de programación que ha sido empaquetado como un programa de aplicación; es decir, que consiste en un editor de código, un compilador, un depurador y un constructor de interfaz gráfica (GUI). Los IDEs pueden ser aplicaciones por sí solas o pueden ser parte de aplicaciones existentes.

Los IDE proveen un marco de trabajo amigable para la mayoría de los lenguajes de programación tales como C++, PHP, Python, Java, C#, Delphi, Visual Basic, etc. En algunos lenguajes, un IDE puede funcionar como un sistema en tiempo de ejecución, en donde se permite utilizar el lenguaje de programación en forma interactiva, sin necesidad de trabajo orientado a archivos de texto, como es el caso de Smalltalk u Objective-C.

WORKSPACE
Workspace es un programa de enseñanza de última generación especialmente diseñado para las aulas digitales.

FUENTES CONSULTADAS
http://es.wikipedia.org/wiki/Framework
http://www.einstruction.es/products/productsteaching/index.php?id=7

 Smile
avatar
AngelesAT

Mensajes : 36
Fecha de inscripción : 29/01/2013

Ver perfil de usuario

Volver arriba Ir abajo

Re: 4.- Frameworks Para Desarrollo De Aplicaciones Web

Mensaje  AngelesAT el Sáb Jun 07, 2014 4:04 pm

CINTHIA CADENA PEREZ escribió:1.- CONCEPTOS BASICOS DE FRAMEWORK

DEFINICION:
La palabra inglesa "framework" (marco de trabajo) define, en términos generales, un conjunto estandarizado de conceptos, prácticas y criterios para enfocar un tipo de problemática particular que sirve como referencia, para enfrentar y resolver nuevos problemas de índole similar.

En el desarrollo de software, un framework o infraestructura digital, es una estructura conceptual y tecnológica de soporte definido, normalmente con artefactos o módulos de software concretos, que puede servir de base para la organización y desarrollo de software. Típicamente, puede incluir soporte de programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas, para así ayudar a desarrollar y unir los diferentes componentes de un proyecto.

ARQUITECTURA

Representa una arquitectura de software que modela las relaciones generales de las entidades del dominio, y provee una estructura y una especial metodología de trabajo, la cual extiende o utiliza las aplicaciones del dominio.

(plataforma, entorno, marco de trabajo). Desde el punto de vista del desarrollo de software, un framework es una estructura de soporte definida, en la cual otro proyecto de software puede ser organizado y desarrollado.

Los frameworks suelen incluir:
* Soporte de programas.
* Bibliotecas.
* Lenguaje de scripting.
* Software para desarrollar y unir diferentes componentes de un proyecto de desarrollo de programas.

Los frameworks permiten:
* Facilitar el desarrollo de software.
* Evitar los detalles de bajo nivel, permitiendo concentrar más esfuerzo y tiempo en identificar los requerimientos de software.

Una definición de framework es la de un marco de aplicación o conjunto de bibliotecas orientadas a la reutilización a muy gran escala de componentes software para el desarrollo rápido de aplicaciones. En esta categoría se incluye la Biblioteca de Componentes Visuales (VCL) de CodeGear, Swing y AWT para el desarrollo de aplicaciones con formularios en Java, Struts, para aplicaciones web también en Java, Ruby On Rails para aplicaciones web con Ruby, y las antiguas Microsoft Foundation Classes y Turbo Vision de Borland.

LAS PRINCIPALES VENTAJAS DE LA UTILIZACIÓN DE UN FRAMEWORK SON:
1. El desarrollo rápido de aplicaciones. Los componentes incluidos en un framework constituyen una capa que libera al programador de la escritura de código de bajo nivel.
2. La reutilización de componentes software al por mayor. Los frameworks son los paradigmas de la reutilización.
3. El uso y la programación de componentes que siguen una política de diseño uniforme. Un framework orientado a objetos logra que los componentes sean clases que pertenezcan a una gran jerarquía de clases, lo que resulta en bibliotecas más fáciles de aprender a usar.

LAS DESVENTAJAS DE LOS FRAMEWORKS SON:
1. La dependencia del código fuente de una aplicación con respecto al framework. Si se desea cambiar de framework, la mayor parte del código debe reescribirse.
2. La demanda de grandes cantidades de recursos computacionales debido a que la característica de reutilización de los frameworks tiende a generalizar la funcionalidad de los componentes. El resultado es que se incluyen características que están "de más", provocando una sobrecarga de recursos que se hace más grande en cuanto más amplio es el campo de reutilización.

El término framework tiene una acepción más amplia, en donde además de incluir una biblioteca de componentes reutilizables, es toda una tecnología o modelo de programación que contiene máquinas virtuales, compiladores, bibliotecas de administración de recursos en tiempo de ejecución y especificaciones de lenguajes. Tal es el caso del framework Microsoft .NET.

Otra ventaja de los frameworks, y en especial de esta acepción ampia, es la portabilidad de aplicaciones de una arquitectura a otra. Por ejemplo, los bytecodes generados a partir del código fuente de clases en Java pueden ser ejecutados sobre cualquier máquina virtual, independientemente de la arquitectura hardware y software subyacente.


BIBLIOGRAFIA
www.lsi.us.es/~javierj/investigacion_ficheros/Framework.pdf
www.alegsa.com.ar › Diccionario tecnología
www.soaagenda.com/journal/articulos/que-son-los-frameworks/
byronandrango.wordpress.com/.../definicion-de-framework-ejemplos-de...
sedici.unlp.edu.ar/bitstream/handle/10915/.../Documento_completo.pdf?...


ATTE: CINTHIA CADENA PEREZ





Buena tu informacion =)
avatar
AngelesAT

Mensajes : 36
Fecha de inscripción : 29/01/2013

Ver perfil de usuario

Volver arriba Ir abajo

INVESTIGAR LOS CONCEPTOS DEL MODELO-VISTA-CONTROLADOR

Mensaje  alma rosa el Dom Jun 08, 2014 12:51 pm

Una aplicación web basada en este patrón separa su código en tres partes diferenciadas:
• El controlador: el controlador es el punto de entrada de la aplicación, se mantiene a la escucha de todas las peticiones, ejecuta la lógica de la aplicación, y muestra la vista apropiada para cada caso.
• El modelo: el modelo contiene todo el código relacionado con el acceso a datos. Es importante que sea un código lo más genérico posible y se pueda reutilizar en otras situaciones y proyectos. Nunca incluiremos lógica en el modelo, solamente consultas a la base de datos y validaciones de entrada de datos.
• La vista: la vista contiene el código que representará lo que nosotros veremos por pantalla.
El objetivo de usar este patrón de diseño, es desacoplar lo más posible el código de nuestra aplicación, y así potenciar la flexibilidad y el reusó de sus partes.

La capa del Modelo
El modelo representa la parte de la aplicación que implementa la lógica de negocio. Esto significa que es responsable de la recuperación de datos, convirtiéndolo en conceptos significativos para la aplicación, así como su procesamiento, validación, asociación y cualquier otra tarea relativa a la manipulación de dichos datos.
A primera vista, los objetos del modelo pueden ser considerados como la primera capa de la interacción con cualquier base de datos que podría estar utilizando tu aplicación. Pero, en general, representan los principales conceptos en torno a los cuales se desea implementar un programa.
En el caso de una red social, la capa de modelo se haría cargo de tareas tales como guardar datos del usuario, el almacenamiento de asociaciones con amigos, el almacenamiento y la recuperación de fotos de los usuarios, encontrar sugerencias de nuevos amigos, etc. Mientras que los objetos del modelo pueden ser considerados como “Amigo”, “Usuario”, “Comentario” y “Foto”.
La capa de la Vista
La vista hace una presentación de los datos del modelo. Estando separada de los objetos del modelo, es responsable del uso de la información de la cual dispone para producir cualquier interfaz de presentación de cualquier petición que se presente.
Por ejemplo, como la capa de modelo devuelve un conjunto de datos, la vista los usaría para hacer una página HTML que los contenga. O un resultado con formato XML para que otras aplicaciones puedan consumir.
La capa de la Vista no se limita únicamente a HTML o texto que represente los datos, sino que puede ser utilizada para ofrecer una amplia variedad de formatos en función de sus necesidades, tales como videos, música, documentos y cualquier otro formato que puedas imaginar.
La capa del Controlador
La capa del controlador gestiona las peticiones de los usuarios. Es responsable de responder la información solicitada con la ayuda tanto del modelo como de la vista.
Los controladores pueden ser vistos como administradores, cuidando de que todos los recursos necesarios para completar una tarea se deleguen a los trabajadores más adecuados. Espera peticiones de los clientes, comprueba su validez de acuerdo a las normas de autenticación o autorización, delega la busqueda de datos al modelo, y selecciona la tipo de respuesta más adecuado según las preferencias del cliente, finalmente, delega este proceso de presentación a la capa de la Vista.

http://book.cakephp.org/2.0/es/cakephp-overview/understanding-model-view-controller.html
https://sites.google.com/site/conceptoprogramacion/Home/mvc

Alma Rosa Peñaloza Fierros

alma rosa

Mensajes : 45
Fecha de inscripción : 29/01/2013

Ver perfil de usuario

Volver arriba Ir abajo

DESCRIBA EN QUÉ CONSISTE STRUTS (Y ESCRIBA UN EJEMPLO DE PROGRAMA)

Mensaje  alma rosa el Dom Jun 08, 2014 12:54 pm

Struts es una herramienta de soporte para el desarrollo de aplicaciones Web bajo el patrón MVC bajo la plataforma Java EE(Java Enterprise Edition). Struts se desarrollaba como parte del proyecto Jakarta de la Apache Software Foundation, pero actualmente es un proyecto independiente conocido como Apache Struts.
Struts permite reducir el tiempo de desarrollo. Su carácter de "software libre" y su compatibilidad con todas las plataformas en las que Java Entreprise esté disponible lo convierten en una herramienta altamente disponible.
Struts 2 es un nuevo framework (anteriormente conocido como WebWork 2)2 que introdujo algunas mejoras sobre Struts 1, de cara a simplificar las tareas más comunes en el desarrollo de aplicaciones web, así como mejorar su integración con AJAX, etc.
Struts se basa en el patrón de arquitectura de software Modelo-Vista-Controlador (MVC) el cual se utiliza ampliamente y es considerado de gran solidez. De acuerdo con este Framework, el procesamiento se separa en tres secciones diferenciadas llamadas el modelo, las vistas y el controlador.
Introducción:
En este apartado veremos la representación en código de un proyecto web con struts y servidor Tomcat 5.5.
Trataremos el tipo de parametros que se codifican en el struts-xml para definir la navegación web de la aplicación así como la relación ActionForm-FormBean, las JSPs que contendrán la información que enviaremos a los ActionForm-FormBean y de ahi a las BD y viceversa.
struts-config.xml
Podemos encontrar este fichero tras dentro de nuestro proyecto tras desplegar "Web Pages" dentro del directorio "WEB-INF". Su contenido podría ser similar a esto:
<struts-config>
<form-beans>

<form-bean name="consultaUsuariosForm"
type="com.jao.controladores.consultas.forms.consultaUsuariosForm"/>
....
....
</form-beans>
<action-mappings>
<action path="/consultaUsuariosAction"
type="com.jao.controladores.consultas.actions.consultaUsuariosAction"

name= "consultaUsuariosForm" scope="request" validate="false" >

<forward name="success" path="JSPs/rsConsultaUsuarios.jsp" />

<forward name="error" path="JSPs/formulario.jsp" />
</action>
<action path="/altaUsuariosAction"

type="com.jao.controladores.consultas.actions.altaUsuariosAction"

name="consultaUsuariosForm" scope="request" validate="false" >

<forward name="success" path="JSPs/altaExito.jsp" />

<forward name="error" path="JSPs/erroralta.jsp" />

</action>
......
......

</action>
Action Form
package com.jao.controladores.consultas.actions;
import com.jao.controladores.consultas.forms.consultaUsuariosForm;

import com.jao.dao.usuarioDao;

import java.util.ArrayList;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
/*

*

* @author JAO

*/

public class altaUsuariosAction extends org.apache.struts.action.Action
{

/* forward name="success" path="" */

private static final String SUCCESS = "success";

private static final String ERROR = "error";

private consultaUsuariosForm formulario;

/**

* This is the action called from the Struts framework.

* @param mapping The ActionMapping used to select this instance.

* @param form The optional ActionForm bean for this request.

* @param request The HTTP Request we are processing.

* @param response The HTTP Response we are processing.

* @throws java.lang.Exception

* @return

*/

public ActionForward execute(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response)

throws Exception {

String paginaRetorno="";

int numFilas=0;

try {

formulario =(consultaUsuariosForm) form;

usuarioDao usuDAO=new usuarioDao();

numFilas=usuDAO.insert(formulario);

if(0<numFilas){

ArrayList alUsuarioAlta= new ArrayList();

alUsuarioAlta.add(formulario);

request.setAttribute("MiLista", alUsuarioAlta);

paginaRetorno=SUCCESS;

}else{

request.setAttribute("mensaje", "no se ha podido realizar
la insercion");

paginaRetorno=ERROR;

}

} catch (Exception e) {

e.printStackTrace();

request.setAttribute("mensaje", "no se ha podido realizar
la insercion");

paginaRetorno=ERROR;

}



return mapping.findForward(paginaRetorno);

}

}
FormBean
package com.jao.controladores.consultas.forms;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage; /**
*
* @author JAO
*/
public class consultaUsuariosForm extends org.apache.struts.action.ActionForm {
private Integer id;
private String usuario;
private String clave;
private String edad;
private String fechanacimiento;
private String profesion;

public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
}
public String getClave() {
return clave;
} public void setClave(String clave) {
this.clave = clave;
} public String getEdad() {
return edad;
} public void setEdad(String edad) {
this.edad = edad;
} public String getFechanacimiento() {
return fechanacimiento;
} public void setFechanacimiento(String fechanacimiento) {
this.fechanacimiento = fechanacimiento;
} public String getProfesion() {
return profesion;
} public void setProfesion(String profesion) {
this.profesion = profesion;
} public String getUsuario() {
return usuario;
} public void setUsuario(String usuario) {
this.usuario = usuario;
}
/**
*
*/
public consultaUsuariosForm() {
super();
// TODO Auto-generated constructor stub
} /**
* This is the action called from the Struts framework.
* @param mapping The ActionMapping used to select this instance.
* @param request The HTTP Request we are processing.
* @return
*/
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
ActionErrors errors = new ActionErrors();
if (getUsuario() == null || getUsuario().length() < 1) {
errors.add("name", new ActionMessage("error.name.required"));
// TODO: add 'error.name.required' key to your resources
}
return errors;
}
}


JSP
<!--alta.jsp-->
<%@ page language="java" %>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<html:html>
<head>
<title>STRUTS :: ejemplo de ALTA</title>
</head>
<body>
<html:form action="/altaUsuariosAction?tipo=A" >
<b><bean:message key="titulo.alta"/></b><hr>
<bean:message key="text1.usuario"/>
<html:text property="usuario" size="8" maxlength="8" /><br>
<bean:message key="text2.clave"/>
<html:password property="clave" size="8" maxlength="8" /><br>
<bean:message key="text3.edad"/>
<html:text property="edad" size="3" maxlength="3"/><br>
<bean:message key="text4.fechanacimiento"/>
<html:text property="fechanacimiento" size="10" maxlength="10"/><br>
<bean:message key="text5.profesion"/>
<html:select property="profesion">
<html:option value="-1">Selecciona Una categoria</html:option>
<html:option value="ProgramadorJR">Programador Jr</html:option>
<html:option value="ProgramadorSR">Programador Sr</html:option>
<html:option value="Analista Programador">Analista Programador</html:option>
<html:option value="Analista">Analista</html:option>
<html:option value="Jefe Proyecto">Jefe Proyecto</html:option>
</html:select><br>
<html:hidden property="id"></html:hidden>
<html:submit property="alta"/>
</html:form>
</body>
</html:html>

alma rosa

Mensajes : 45
Fecha de inscripción : 29/01/2013

Ver perfil de usuario

Volver arriba Ir abajo

REPLICA

Mensaje  alma rosa el Dom Jun 08, 2014 1:07 pm

addicto007 escribió:CONCEPTO Y DEFINICION DE FRAMEWORK:
La palabra inglesa "framework" (marco de trabajo) define, en términos generales, un conjunto estandarizado de conceptos, prácticas y criterios para enfocar un tipo de problemática particular que sirve como referencia, para enfrentar y resolver nuevos problemas de índole similar.

En el desarrollo de software, un framework o infraestructura digital, es una estructura conceptual y tecnológica de soporte definido, normalmente con artefactos o módulos de software concretos, que puede servir de base para la organización y desarrollo de software. Típicamente, puede incluir soporte de programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas, para así ayudar a desarrollar y unir los diferentes componentes de un proyecto.

Representa una arquitectura de software que modela las relaciones generales de las entidades del dominio, y provee una estructura y una especial metodología de trabajo, la cual extiende o utiliza las aplicaciones del dominio.

Arquitectura
Dentro de este aspecto, podemos basarnos en el modelo MVC (Controlador => Modelo => Vista), ya que debemos fragmentar nuestra programación. Tenemos que contemplar estos aspectos básicos en cuanto a la implementación de nuestro sistema:

Modelo
Este miembro del controlador maneja las operaciones lógicas, y de manejo de información (previamente enviada por su ancestro), para resultar de una forma explicable y sin titubeos. Cada miembro debe ser meticulosamente llamado, con su correcto nombre y en principio, con su verdadera naturaleza: el manejo de información, su complementación directa.
Vista
Al final, a este miembro de la familia le corresponde dibujar, o expresar la última forma de los datos: la interfaz gráfica que interactúa con el usuario final del programa (GUI). Después de todo, a este miembro le toca evidenciar la información obtenida hasta hacerla llegar al controlador. Solo (e inicialmente), nos espera demostrar la información.
Controlador
Con este apartado podemos controlar el acceso (incluso todo) a nuestra aplicación, y esto puede incluir: archivos, scripts, y/o programas; cualquier tipo de información que permita la interfaz. Así, podremos diversificar nuestro contenido de forma dinámica, y estática (a la vez); pues, sólo debemos controlar ciertos aspectos (como se ha mencionado antes).
Estructura
Dentro del controlador, modelo o vista podemos manejar lo siguiente: datos. Depende de nosotros como interpretar y manejar estos 'datos'. Ahora, sabemos que el único dato de una dirección estática web es: conseguir un archivo físico en el disco duro o de internet, etc. e interpretado o no, el servidor responde.

El modelo, al igual que el controlador y la vista, maneja todos los datos que se relacionen consigo (solo es el proceso medio de la separación por capas que ofrece la arquitectura MVC). Y sólo la vista, puede demostrar dicha información. Con lo cual ya hemos generado la jerarquía de nuestro programa: Controlador, Modelo y Vista.

FUENTE DE INFORMACION:

http://es.wikipedia.org/wiki/Framework

ATT: MOISES ANGON TORRES


Me parecio correcta tu informacion sobre Framework ya que fomenta lo que realizamos en clase

att: Alma Rosa Peñaloza Fierros

alma rosa

Mensajes : 45
Fecha de inscripción : 29/01/2013

Ver perfil de usuario

Volver arriba Ir abajo

- Investigar los conceptos del Modelo-Vista-Controlador

Mensaje  ixhel el Dom Jun 08, 2014 2:59 pm

¿Qué es y en donde se utiliza más frecuentemente el Modelo Vista Controlador?
Modelo Vista Controlador (MVC) es un patrón de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos. El patrón MVC se ve frecuentemente en aplicaciones web, donde la vista es la página HTML y el código que provee de datos dinámicos a la página, el modelo es el Sistema de Gestión de Base de Datos y la Lógica de negocio y el controlador es el responsable de recibir los eventos de entrada desde la vista
¿Cuál es la finalidad del Modelo Vista Controlador?
La finalidad del modelo es mejorar la reusabilidad por medio del desacople entre la vista y el modelo. Los elementos del patrón son los siguientes:

El modelo es el responsable de:
1. Acceder a la capa de almacenamiento de datos. Lo ideal es que el modelo sea independiente del sistema de almacenamiento.
2. Define las reglas de negocio (la funcionalidad del sistema). Un ejemplo de regla puede ser: “Si la mercancía pedida no está en el almacén, consultar el tiempo de entrega estándar del proveedor”.
3. Lleva un registro de las vistas y controladores del sistema.
4. Si estamos ante un modelo activo, notificará a las vistas los cambios que en los datos pueda producir un agente externo (por ejemplo, un fichero bath que actualiza los datos, un temporizador que desencadena una inserción, etc).
El controlador es el responsable de:
1. Recibe los eventos de entrada (un clic, un cambio en un campo de texto, etc.).
2. Contiene reglas de gestión de eventos, del tipo “SI Evento Z, entonces Acción W”. Estas acciones pueden suponer peticiones al modelo o a las vistas. Una de estas peticiones a las vistas puede ser una llamada al método “Actualizar()”. Una petición al modelo puede ser “Obtener_tiempo_de_entrega( nueva_orden_de_venta )”.

Las vistas son responsables de:
1. Recibir datos del modelo y los muestra al usuario.
2. Tienen un registro de su controlador asociado (normalmente porque además lo instancia).
3. Pueden dar el servicio de “Actualización()”, para que sea invocado por el controlador o por el modelo (cuando es un modelo activo que informa de los cambios en los datos producidos por otros agentes).
• ¿Qué Ventajas trae utilizar el MVC?
1. Es posible tener diferentes vistas para un mismo modelo (eg. representación de un conjunto de datos como una tabla o como un diagrama de barras).
2. Es posible construir nuevas vistas sin necesidad de modificar el modelo subyacente.
3. Proporciona un mecanismo de configuración a componentes complejos muchos más tratable que el puramente basado en eventos (el modelo puede verse como una representación estructurada del estado de la interacción).
• ¿Cuáles son los orígenes del Modelo Vista Controlador?
Basado en información histórica, puede decirse que este fue descrito por primera vez en 1979 por Trygve Reenskaug, trabajador de Smalltalk, en unos laboratorios de gran investigación de Xerox.
• Flujo que sigue el control en una implementación general de un MVC

Aunque se pueden encontrar diferentes implementaciones de MVC, el flujo que sigue el control generalmente es el siguiente:
1. El usuario interactúa con la interfaz de usuario de alguna forma (por ejemplo, el usuario pulsa un botón, enlace)
2. El controlador recibe (por parte de los objetos de la interfaz-vista) la notificación de la acción solicitada por el usuario. El controlador gestiona el evento que llega, frecuentemente a través de un gestor de eventos (handler) o callback.
3. El controlador accede al modelo, actualizándolo, posiblemente modificándolo de forma adecuada a la acción solicitada por el usuario (por ejemplo, el controlador actualiza el carro de la compra del usuario). Los controladores complejos están a menudo estructurados usando un patrón de comando que encapsula las acciones y simplifica su extensión.
4. El controlador delega a los objetos de la vista la tarea de desplegar la interfaz de usuario. La vista obtiene sus datos del modelo para generar la interfaz apropiada para el usuario donde se refleja los cambios en el modelo (por ejemplo, produce un listado del contenido del carro de la compra
5. La interfaz de usuario espera nuevas interacciones del usuario, comenzando el ciclo nuevamente.

bibliografia:
http://www.comusoft.com/modelo-vista-controlador-definicion-y-caracteristicas
http://www.desarrolloweb.com/articulos/que-es-mvc.html

ATT: IXHEL LUVIANO MOJICA

ixhel

Mensajes : 29
Fecha de inscripción : 29/01/2013

Ver perfil de usuario

Volver arriba Ir abajo

Describa en qué consiste AJAX (y escriba un ejemplo de programa)

Mensaje  ixhel el Dom Jun 08, 2014 3:04 pm

La aplicación AJAX completa más sencilla consiste en una adaptación del clásico "Hola Mundo". En este caso, una aplicación JavaScript descarga un archivo del servidor y muestra su contenido sin necesidad de recargar la página.

Código fuente completo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Hola Mundo con AJAX</title>

<script type="text/javascript">
function descargaArchivo() {
 // Obtener la instancia del objeto XMLHttpRequest
 if(window.XMLHttpRequest) {
   peticion_http = new XMLHttpRequest();
 }
 else if(window.ActiveXObject) {
   peticion_http = new ActiveXObject("Microsoft.XMLHTTP");
 }

 // Preparar la funcion de respuesta
 peticion_http.onreadystatechange = muestraContenido;

 // Realizar peticion HTTP
 peticion_http.open('GET', 'http://localhost/holamundo.txt', true);
 peticion_http.send(null);

 function muestraContenido() {
   if(peticion_http.readyState == 4) {
     if(peticion_http.status == 200) {
       alert(peticion_http.responseText);
     }
   }
 }
}

window.onload = descargaArchivo;
</script>

</head>
<body></body>
</html>
En el ejemplo anterior, cuando se carga la página se ejecuta el método JavaScript que muestra el contenido de un archivo llamado holamundo.txt que se encuentra en el servidor. La clave del código anterior es que la petición HTTP y la descarga de los contenidos del archivo se realizan sin necesidad de recargar la página.

bibliografia: http://librosweb.es/ajax/capitulo_7/la_primera_aplicacion.html
http://lineadecodigo.com/categoria/ajax/

ATT: IXHEL LUVIANO MOJICA

ixhel

Mensajes : 29
Fecha de inscripción : 29/01/2013

Ver perfil de usuario

Volver arriba Ir abajo

Re: 4.- Frameworks Para Desarrollo De Aplicaciones Web

Mensaje  ixhel el Dom Jun 08, 2014 3:06 pm

CINTHIA CADENA PEREZ escribió:3.- INVESTIGAR LOS CONCEPTOS DEL MODELO-VISTA-CONTROLADOR

CONCEPTO:
El modelo–vista–controlador (MVC) es un patrón de arquitectura de software que separa los datos y la lógica de negocio de una aplicación de la interfaz de usuario y el módulo encargado de gestionar los eventos y las comunicaciones. Para ello MVC propone la construcción de tres componentes distintos que son el modelo, la vista y el controlador, es decir, por un lado define componentes para la representación de la información, y por otro lado para la interacción del usuario1 2 . Este patrón de arquitectura de software se basa en las ideas de reutilización de código y la separación de conceptos, características que buscan facilitar la tarea de desarrollo de aplicaciones y su posterior mantenimiento.

DE MANERA GENÉRICA, LOS COMPONENTES DE MVC SE PODRÍAN DEFINIR COMO SIGUE:
• El Modelo: Es la representación de la información con la cual el sistema opera, por lo tanto gestiona todos los accesos a dicha información, tanto consultas como actualizaciones, implementando también los privilegios de acceso que se hayan descrito en las especificaciones de la aplicación (lógica de negocio). Envía a la 'vista' aquella parte de la información que en cada momento se le solicita para que sea mostrada (típicamente a un usuario). Las peticiones de acceso o manipulación de información llegan al 'modelo' a través del 'controlador'12 .
• El Controlador: Responde a eventos (usualmente acciones del usuario) e invoca peticiones al 'modelo' cuando se hace alguna solicitud sobre la información (por ejemplo, editar un documento o un registro en una base de datos). También puede enviar comandos a su 'vista' asociada si se solicita un cambio en la forma en que se presenta de 'modelo' (por ejemplo, desplazamiento o scroll por un documento o por los diferentes registros de una base de datos), por tanto se podría decir que el 'controlador' hace de intermediario entre la 'vista' y el 'modelo' (véase Middleware).
• La Vista: Presenta el 'modelo' (información y lógica de negocio) en un formato adecuado para interactuar (usualmente la interfaz de usuario) por tanto requiere de dicho 'modelo' la información que debe representar como salida.
Interacción de los componentes

Aunque se pueden encontrar diferentes implementaciones de MVC, el flujo de control que se sigue generalmente es el siguiente:
1. El usuario interactúa con la interfaz de usuario de alguna forma (por ejemplo, el usuario pulsa un botón, enlace, etc.)
2. El controlador recibe (por parte de los objetos de la interfaz-vista) la notificación de la acción solicitada por el usuario. El controlador gestiona el evento que llega, frecuentemente a través de un gestor de eventos (handler) o callback.
3. El controlador accede al modelo, actualizándolo, posiblemente modificándolo de forma adecuada a la acción solicitada por el usuario (por ejemplo, el controlador actualiza el carro de la compra del usuario). Los controladores complejos están a menudo estructurados usando un patrón de comando que encapsula las acciones y simplifica su extensión.
4. El controlador delega a los objetos de la vista la tarea de desplegar la interfaz de usuario. La vista obtiene sus datos del modelo para generar la interfaz apropiada para el usuario donde se reflejan los cambios en el modelo (por ejemplo, produce un listado del contenido del carro de la compra). El modelo no debe tener conocimiento directo sobre la vista. Sin embargo, se podría utilizar el patrón Observador para proveer cierta indirección entre el modelo y la vista, permitiendo al modelo notificar a los interesados de cualquier cambio. Un objeto vista puede registrarse con el modelo y esperar a los cambios, pero aun así el modelo en sí mismo sigue sin saber nada de la vista. Este uso del patrón Observador no es posible en las aplicaciones Web puesto que las clases de la vista están desconectadas del modelo y del controlador. En general el controlador no pasa objetos de dominio (el modelo) a la vista aunque puede dar la orden a la vista para que se actualice. Nota: En algunas implementaciones la vista no tiene acceso directo al modelo, dejando que el controlador envíe los datos del modelo a la vista. Por ejemplo en el MVC usado por Apple en su framework Cocoa. Suele citarse como Modelo-Interface-Control, una variación del MVC más puro
5. La interfaz de usuario espera nuevas interacciones del usuario, comenzando el ciclo nuevamente.

Historia
El patrón MVC fue una de las primeras ideas en el campo de las interfaces gráficas de usuario y uno de los primeros trabajos en describir e implementar aplicaciones software en términos de sus diferentes funciones[5] .
MVC fue introducido por Trygve Reenskaug (web personal) en Smalltalk-76 durante su visita a Xerox Parc[6] [7] en los años 70 y, seguidamente, en los años 80, Jim Althoff y otros implementaron una versión de MVC para la biblioteca de clases de Smalltalk-80[8] . Sólo más tarde, en 1988, MVC se expresó como un concepto general en un artículo[9] sobre Smalltalk-80.
En esta primera definición de MVC el controlador se definía como "el módulo que se ocupa de la entrada" (de forma similar a como la vista "se ocupa de la salida"). Esta definición no tiene cabida en las aplicaciones modernas en las que esta funcionalidad es asumida por una combinación de la 'vista' y algún framework moderno para desarrollo. El 'controlador', en las aplicaciones modernas de la década de 2000, es un módulo o una sección intermedia de código, que hace de intermediario de la comunicación entre el 'modelo' y la 'vista', y unifica la validación (utilizando llamadas directas o el "observer" para desacoplar el 'modelo' de la 'vista' en el 'modelo' activo[10] ).

Algunos aspectos del patrón MVC han evolucionado dando lugar a ciertas variantes del concepto original, ya que "'las partes del MVC clásico realmente no tienen sentido para los clientes actuales"[11] :
• HMVC (MVC Jerárquico)
• MVA (Modelo-Vista-Adaptador)
• MVP (Modelo-Vista-Presentador)
• MVVM (Modelo-Vista Vista-Modelo)
• ... y otros que han adaptado MVC a diferentes contextos.


Uso en aplicaciones Web
Aunque originalmente MVC fue desarrollado para aplicaciones de escritorio, ha sido ampliamente adaptado como arquitectura para diseñar e implementar aplicaciones web en los principales lenguajes de programación. Se han desarrollado multitud de frameworks, comerciales y no comerciales, que implementan este patrón (ver apartado siguiente "Frameworks MVC"); estos frameworks se diferencian básicamente en la interpretación de como las funciones MVC se dividen entre cliente y servidor[13] .
Los primeros frameworks MVC para desarrollo web planteaban un enfoque de cliente ligero en el que casi todas las funciones, tanto de la vista, el modelo y el controlador recaían en el servidor. En este enfoque, el cliente manda la petición de cualquier hiperenlace o formulario al controlador y después recibe de la vista una página completa y actualizada (u otro documento); tanto el modelo como el controlador (y buena parte de la vista) están completamente alojados en el servidor. Como las tecnologías web han madurado, ahora existen frameworks como JavaScriptMVC, Backbone o jQuery[14] que permiten que ciertos componentes MVC se ejecuten parcial o totalmente en el cliente (véase AJAX).


BIBLIOGRAFIA:
www.asp.net/mvc
msdn.microsoft.com/en-us/library/ff649643.aspx
https://www.fdi.ucm.es/profesor/jpavon/poo/2.14.MVC.pdf
es.wikipedia.org/wiki/Modelo–vista–controlador


ATTE: CINTHIA CADENA PEREZ



REPLICA:
Muy buena información compañera!! gracias por la bibliografia...

ixhel

Mensajes : 29
Fecha de inscripción : 29/01/2013

Ver perfil de usuario

Volver arriba Ir abajo

Re: 4.- Frameworks Para Desarrollo De Aplicaciones Web

Mensaje  Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Página 1 de 2. 1, 2  Siguiente

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.