La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Programación Web Frameworks para el Desarrollo de Aplicaciones Web

Presentaciones similares


Presentación del tema: "Programación Web Frameworks para el Desarrollo de Aplicaciones Web"— Transcripción de la presentación:

1 Programación Web Frameworks para el Desarrollo de Aplicaciones Web
Profesor: Ing. Juan Talavera Asistentes: Ing. Marcelo Alvarez Univ. Eduardo Rivas Univ. Santiago Yegros 2008

2 Objetivos Explicar lo que son los frameworks, su propósito y sus características principales. Reconocer la importancia de la utilización de los mismos hoy en día. Ofrecer una introducción básica a los frameworks actuales y las herramientas disponibles para los mismos. Discutir sobre el uso conveniente de los mismos.

3 Contenido Frameworks. Concepto. Características. Struts Spring MVC
Java Server Faces Ruby on Rails ASPX.NET Otros frameworks Conclusiones

4 Concepto de Framework En su forma más simple, un framework es un conjunto de interfaces, clases y/o componentes que cooperan entre sí de manera a resolver un tipo de problema de software específico.

5 Características Posee múltiples clases o componentes, cada uno de los cuales proveen una abstracción de algún concepto en particular. El framework define como sus abstracciones trabajarán juntos de manera a resolver el problema. Sus componentes son reutilizables. Utilización de patrones para la solución de problemas comunes.

6 Características que se encuentran en la mayoría de los frameworks actuales
Abstracción de URLs y sesiones. Acceso a datos. Controladores. Autentificación y Control de Acceso. Internacionalización. Separación entre diseño y contenido.

7 Propósitos (1) Facilitar el desarrollo de software.
Pasar más tiempo identificando requerimientos de SW que tratar con detalles de bajo nivel. Proveer una estructura y una metodología de trabajo definida.

8 Propósitos (2) Ayudar al desarrollo de software, proporcionando una estructura definida, la cual ayuda a crear aplicaciones con mayor rapidez. Ayudar a realizar el mantenimiento del sitio gracias a la organización que se mantiene durante el desarrollo de la aplicación.

9 Tipos de Frameworks. Ejemplos:
Orientados a la interfaz de usuario: Java Server Faces. Orientado a publicación de documentos: Cocoon. Orientado a eventos: Struts, Tapestry, etc.

10 MVC – Model 2

11

12 Struts 1

13 Struts 1 Implementa la arquitectura del modelo 2 - patrón de diseño MVC. Creada por Craig McClanahan y donada a la Apache Software Foundation en el 2000 (Actualmente pertenece a Apache Jakarta)

14 ¿Qué proporciona Struts?
Lógica de navegación entre páginas Binding entre java y el html Validación de entradas Mecanismos para el manejo y reporte de errores Internacionalización (i18n)

15 Flujo de Control de Struts

16 Componentes Principales (1)
Actions: Posible acción a invocar. Son objetos que heredan de la clase Action donde se escribe que es lo que se hará. Por ejemplo se puede decidir invocar alguna regla de negocio y en base a su resultado mostrar la vista que corresponda. ActionMapping: mapea las URLs a acciones (objetos). Es decir, se le da un nombre a cada Clase Action de manera que puedan ser invocadas desde el cliente como un String. ActionServlet: El Servlet Controlador. Ejecuta acciones invoacndo al método execute() de la Clase Action.

17 Componentes Principales (2)
ActionForm: JavaBean con propiedades que corresponden a los controles de un formulario HTML. Los parámetros son mapeados a propiedades del bean. El programador define un form bean extendiendo la clase org.apache.struts.action.ActionForm (o de forma declarativa usando org.apache.struts.action.DynaActionForm) Hay que definir cada una de las propiedades en la clase y escribir los getters/setters correspondientes, siguiendo las reglas de JavaBeans. Después de escribir el código del form bean, es necesario asociarlo con una o más acciones a través del fichero de configuración de Struts struts- config.xml

18 Struts-config.xml (1) El archivo <struts-config> contiene dos elementos importantes que son usados para describir las acciones: <form-beans> contiene la definición de los beans para cada formulario. Atributos importantes: - name: identificador único para el bean. - type: tipo del bean de formulario.

19 Struts-config.xml (2) <action-mapping> contiene nuestras definiciones de acciones. Usamos un elemento <action> por cada una de las acciones que se desea definir. Cada elemento action requiere que se definan los siguientes atributos: - path: el path a la clase action en relación al contexto de la aplicación. - type: el nombre de la clase Action. - name: el nombre del elemento <form-bean> asociado a la acción.

20 Struts-config.xml - Ejemplo
<form-beans> <form-bean name="loginForm" type="com.empresa.LoginForm"/> </form-beans> <action-mappings> <action path="/inicio" forward="/jsp/inicio.jsp"/> <action path="/login" forward="/jsp/login.jsp"/> <action path="/slogin" type="com.empresa.LoginAction" name="loginForm" scope="request" validate="true" input="/jsp/login.jsp"> <forward name="exito" path="/jsp/inicio.jsp"/> <forward name="falla" path="/jsp/login.jsp"/> </action> </action-mappings>

21 Struts Tag Libraries La framework Struts proporciona un conjunto de 4 librerías de etiquetas, que asisten en la tarea de la creación de la vista de MVC para evitar incluir código Java en los JSPs : Bean Tags: manejo de los beans a los que tiene acceso la página. HTML Tags: utilizado para generar formularios HTML que interatuan con la API de Struts. Logic Tags: permite direccionar el flujo de ejecución de la página según condiciones. Nested Tags: permite el anidado de componentes.

22 Struts Tag Libraries - Ejemplo
taglib uri="/tags/struts-html" prefix="html" %> <html:errors/> <html:form action="/LogonSubmit" focus="username"> <TABLE border="0" width="100%"> <TR> <TH align="right">Username:</TH> <TD align="left"><html:text property="username"/></TD> </TR><TR> <TH align="right">Password:</TH> <TD align="left"><html:password property="password"/></TD> <TD align="right"><html:submit/></TD> <TD align="left"><html:reset/></TD></TR> </TABLE> </html:form>

23 Validación de Entradas
Struts provee 2 mecanismos de validación de las entradas ingresadas: Redefiniendo el método validate() de los ActionForms A través de lo que primero fue un plugin y luego se incorporó a la versión principal y que se denomina struts-validator. Permite la validación tanto en el lado cliente (javascript) como el lado servidor.

24 Validación de Entradas - Ejemplo
Definir el archivo de validación. Ejemplo: validation.xml <form-validation> <formset> <form name="FormInicio"> <field property="nombreusuario“ depends="required"> <arg0 key="forms.nombreusuario"/> </field> </form> </formset> </form-validation>

25 Manejo de Errores (1) Se recomienda que el manejo de errores se lleve a cabo dentro del método execute() y el control se transfiera a la vista apropiada errors.add("passphrase",new ActionError("error.passphrase.required")); Visualización de los errores en JSP: <html:errors property=“passphrase”/>

26 Manejo de Errores (2) Recursos de String
Todos los strings usados en mensajes en JSPs tanto de datos de aplicación como de errores pueden ser colocados en un archivo de recursos (ApplicationResources.properties) Struts proporciona etiquetas personalizadas JSP tags para acceder a estos recursos: <bean:message key="prompt.goodguess.heading"/>

27 Internacionalización (i18n)
Struts soporta internacionalización a través de ficheros de recursos, sus librerías de etiquetas personalizadas y Java Locales. Se pueden definir strings a visualizar y luego utilizarlos en los JSPs. Ej: ApplicationResources.properties Otros ficheros de recursos adicionales pueden ser definidos que incluyen el idioma a usar en el nombre del fichero. Ejemplos: ApplicationResources_es.properties ApplicationResources_br.properties Para cambiar el idioma preferido en IE: ToolsInternet OptionsLanguages Los navegadores envían la cabecera HTTP Accept-Language en cada petición que indica cuál es el idioma preferido por el usuario.

28 Spring MVC

29 Spring MVC Spring es un framework open source para desarrollar aplicaciones usando tecnología Java. Como el alcance de este framework es muy amplio, generalmente se suele mezclar con otros frameworks quedando Spring como una capa intermedia en la que se basan las demás herramientas.

30 ¿Qué permite Spring MVC?
Facilidad de mantenimiento. Separación limpia entre Controladores, Modelos y Vistas. Lo cual, a su vez, facilita el desarrollo en equipo disciplinado. Independencia en la Vista de la aplicación. Facilidad a la hora de testear la aplicación. Validaciones Facilidad de trabajar con los componentes gracias a la implementación del patrón de diseño DI "Dependency Injection"

31 Ejemplo de procesamiento de una solicitud en Spring MVC

32 Componentes Principales de Spring MVC (1)
DispatcherServlet: es la implementación del Front Controller. El cual se encarga de administrar los request. Controlador: encapsula la lógica de navegación. Crean los componentes necesarios para manejar los request. Vista: muestra la salida. Ej: JSP, JSTL, Velocity, FreeMarker, PDF, etc.

33 Componentes Principales de Spring MVC (2)
ModelAndView: creados por el controlador. Permiten asociar modelos a las vistas. ViewResolver: permiten mapear nombres lógicos de vistas a una implementación de la misma. HandlerMapping: interfaz utilizado por el DispatcherServlet para mapear los request a los respectivos controladores.

34 Spring MVC & Dependency Injection (DI)
Todos los componentes MVC son configurados en un fichero de recursos como por ej: ApplicationContext. De este modo, todos los componentes MVC pueden ser configurados utilizando DI. <bean id="springCheersController" class="com...web.SpringCheersController"> <property name="methodNameResolver“ ref=“springCheersMethodResolver"/> <property name="service" ref="service"/> </bean>

35 Validación en Spring MVC (1)
public class CustomerValidator implements Validator { public boolean supports(Class cls) { return (cls == Customer.class); } public void validate(Object obj, Errors errors) { Customer customer = (Customer) obj; ValidationUtils.rejectIfEmptyOrWhitespace(errors, "name", "required", "required");

36 Validación en Spring MVC (2)
Luego se debe configurar el Controlador del CustomerForm: WEB-INF/springmvc-servlet.xml <bean id="customerForm" class="com.springcheers.web.CustomerForm"> <property name="formView" value="editCustomer"/> <property name="successView" value="redirect:list.htm"/> <property name="service" ref="service"/> <property name="validator" ref="customerValidator"/> </bean>

37 Spring MVC - Ejemplo Definición del Modelo …
public class Product implements Serializable { private String description; private Double price; public void setDescription(String s) { description = s; } public String getDescription() { return description; Getters & Setters

38 Definición del Manager
Spring MVC - Ejemplo Definición del Manager package … import … public class ProductManager implements Serializable { private List products; public void setProducts(List p) { products = p; } public List getProducts() { return products;

39 Definición del Controlador
Spring MVC - Ejemplo Definición del Controlador public class SpringappController implements Controller { protected final Log logger = LogFactory.getLog(getClass()); private ProductManager prodMan; public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String now = (new java.util.Date()).toString(); logger.info("returning hello view with " + now); Map myModel = new HashMap(); myModel.put("now", now); myModel.put("products",getProductManager().getProducts()); return new ModelAndView("hello", "model", myModel); }

40 Spring MVC - Ejemplo Definir el controlador y manejador que utilizará la aplicación: springapp-servlet.xml <bean id="springappController" class="web.SpringappController"> <property name="productManager"> <ref bean="prodMan"/> </property> </bean> <bean id=" productManager " class="bus.ProductManager"> <property name="productDao" ref="productDao"/>

41 Definición de la Vista: hello.jsp
Spring MVC - Ejemplo Definición de la Vista: hello.jsp <h1><fmt:message key="heading"/></h1> <p><fmt:message key="greeting"/> <c:out value="${model.now}"/> </p> <h3>Products</h3> <c:forEach items="${model.products}" var="prod"> <c:out value="${prod.description}"/> <i>$<c:out value="${prod.price}"/></i><br><br> </c:forEach>

42 Spring MVC Vs. Struts Spring MVC es muy flexible, ya que implementa toda su estructura mediante interfaces no como Struts que obliga a heredar de clases concretas tanto en sus Actions como en sus Forms. Spring MVC no obliga a utilizar JSP, permite utilizar XLST, Velocity o implementar tu propio lenguaje para integrarlo en la Vista de la aplicación. Los controllers de Spring MVC se configuran mediante IoC como los demás objetos. No existen ActionForms, se enlaza directamente con los beans de negocio.

43 Struts 2

44 Struts 2 Apache Struts 2 fue originalmente conocido como WebWork 2.
Luego de trabajar de manera independiente por varios años, las comunidades de WebWork y Struts unen sus fuerzas para crear lo que hoy día conocemos como Struts2.

45 Algunas Mejoras en Struts 2
Soporte para Ajax. Fácil integración con Spring & DI. Tecnología de renderizado: JSP, Freemarker, Velocity, JasperReports, … Los formularios son clases Java planas (POJO). No más ActionForm. Las acciones son clases Java planas (POJO). Se puede utilizar cualquier clase como Action. Tecnología basada en plugins. No más configuración. Facilidad de realizar pruebas sobre las acciones Y más…

46 Struts 2 en una Arquitectura Web

47 Arquitectura MVC de Struts 2

48 Ciclo de Vida de las Peticiones en Struts 2
El usuario envía una petición: Llega un Request. El Request es interpretado por el DispatcherFilter y determina que Action y que conjunto de Interceptors invocar. Cada Interceptor ejecuta sus acciones previas a la ejecución del método de Action a invocar: I18nInterceptor, ValidationInterceptor, etc. Ejecución de la acción. Se examina el resultado obtenido del Action y se determina el Result correspondiente. Mediante el Result determinado se genera la vista. La vista generada retorna al cliente.

49 Struts 2 - Ejemplo POJO + JPA Annotations @Entity
public class Person extends BaseObject { private Long id; private String firstName; private String lastName; = GenerationType.AUTO) public Long getId() { return this.id; } @Column(name="first_name", length=50) public String getFirstName() { return this.firstName; } @Column(name="last_name", length=50) public String getLastName() { return this.lastName; } /* And setters */ }

50 Action. Controlador y Modelo
Struts 2 - Ejemplo Action. Controlador y Modelo public class PersonAction extends BaseAction { private GenericManager<Person, Long> personManager; private List persons; public void setPersonManager(GenericManager<Person, Long> personManager) { this.personManager = personManager; } public List getPersons() { return persons; public String list() { persons = personManager.getAll(); return SUCCESS;

51 Definición de la Vista: personList.jsp
Struts 2 - Ejemplo Definición de la Vista: personList.jsp <c:out value="${buttons}" escapeXml="false" /> <s:set name="persons" value="persons" scope="request"/> <display:table name="persons" class="table" id="personList" export="true" pagesize="25"> <display:column property="id" href="editPerson.html" paramId="id" paramProperty="id" titleKey="person.id"/> <display:column property=“firstName" titleKey="person.firstName"/> <display:column property=“lastName " titleKey="person.lastName"/> </display:table>

52 Definición de la acción: struts.xml
Struts 2 - Ejemplo Definición de la acción: struts.xml <action name="persons" class=“...PersonAction" method="list"> <result>/WEB-INF/pages/personList.jsp</result> </action>

53 Struts 2 - Ejemplo Vista: personList.jsp

54 Agregando edit() & delete() a PersonAction.java
Struts 2 - Ejemplo Agregando edit() & delete() a PersonAction.java private Person person; private Long id; public String delete() { personManager.remove(person.getId()); saveMessage(getText("person.deleted")); return SUCCESS; } public String edit() { if (id != null) { person = personManager.get(id); } else { person = new Person(); }

55 Agregando el método save() a PersonAction.java
Struts 2 - Ejemplo Agregando el método save() a PersonAction.java public String save() throws Exception { if (cancel != null) return "cancel"; if (delete != null) return delete(); boolean isNew = (person.getId() == null); person = personManager.save(person); String key = (isNew) ? "person.added" : "person.updated"; saveMessage(getText(key)); if (!isNew) return INPUT; else return SUCCESS; }

56 Definición de la acción: struts.xml
Struts 2 - Ejemplo Definición de la acción: struts.xml <action name="editPerson" class=“..PersonAction" method="edit"> <result>/WEB-INF/pages/personForm.jsp</result> <result name="error">/WEB-INF/pages/personList.jsp</result> </action> <action name="savePerson" class=“..PersonAction" method="save"> <result name="input">/WEB-INF/pages/personForm.jsp</result> <result name="cancel" type="redirect-action">persons</result> <result name="delete" type="redirect-action">persons</result> <result name="success" type="redirect-action">persons</result>

57 Definición de la Vista: personForm.jsp
Struts 2 - Ejemplo Definición de la Vista: personForm.jsp <s:form id="personForm" action="savePerson" method="post" validate="true"> <s:hidden name="person.id" value="%{person.id}"/> <s:textfield key="person.firstName" required="true" cssClass="text medium"/> <s:textfield key="person.lastName" required="true" cssClass="text medium"/> </s:form>

58 Struts 2 - Ejemplo Vista: personForm.jsp

59 Java Server Faces (JSF)

60 Java Server Faces (JSF)
Es un framework de desarrollo basado en el patrón MVC. Al igual que Struts, JSF pretende normalizar y estandarizar el desarrollo de aplicaciones web. El creador de Struts (Craig R. McClanahan) también es líder de la especificación de JSF. JSF nos ofrece un marco de trabajo que facilita el desarrollo de aplicaciones, separando las diferentes capas de una arquitectura: presentación, reglas y entidades de negocio.

61 JSF - Características JSF trata la vista (el interfaz de usuario) de una forma algo diferente a lo que estamos acostumbrados en aplicaciones web. Trata de emular a Swing, VB o Delphi. JSF es muy flexible. Por ejemplo nos permite crear nuestros propios componentes. Un modelo de trabajo basado en componentes UI (user interface), definidos por medio de etiquetas y XML. Asocia (de forma modular) cada componente gráfico con los datos. Incluye la capa de control, definida de forma declarativa en archivos XML. Lo que implica control de eventos y errores.

62 JSF – Características (2)
Validación en cliente y en servidor. Control de mensajes y roles. Navegación. JSF proporciona un modelo de navegación declarada, que permite enlazar en las aplicaciones una vista a otra(faces-config.xml).

63 JSF – Ejemplo En el archivo faces-config.xml
Estando en la pagina inputname.jsp, si el resultado de ejecutar la misma es greeting pasamos a la pagina greeting.jsp <navigationrule> <fromviewid>/pages/inputname.jsp </fromviewid> <navigationcase> <fromoutcome>greeting</fromoutcome> <toviewid>/pages/greeting.jsp</toviewid> </navigationcase> </navigationrule>

64 JSF – Ejemplo (2) Creamos luego un JSF- Manager Bean.
public class PersonBean { String personName; public String getPersonName() { return personName; } public void setPersonName(String name) { personName = name;

65 JSF – Ejemplo (3) Entonces en nuestro archivo faces-config.xml, tendríamos que registrar el Bean. <managedbean> <managedbeanname>personBean</managedbeanname> <managedbeanclass>pack.PersonBean</managedbeanclass> <managedbeanscope>request</managedbeanscope> </managedbean>

66 JSF – Ejemplo (4) Entonces creamos nuestro formulario inputname.jsp.
taglib uri=" prefix="h" %> taglib uri=" prefix="f" %> <f:loadBundle basename="jsfks.bundle.messages" var="msg"/> <html> <head> <title>Pagina de Prueba</title> </head> <body> <f:view> <h1><h:outputText value="JSF prueba"/></h1> <h:form id="helloForm"> <h:outputText value="Escribe tu nombre"/> <h:inputText value="#{personBean.personName}" /> <h:commandButton action="greeting" value="Saludame" /> </h:form> </f:view> </body> </html>

67 JSF – Ejemplo (5) Entonces creamos nuestro formulario greeting.jsp
taglib uri=" prefix="h" %> taglib uri=" prefix="f" %> <f:loadBundle basename="jsfks.bundle.messages" var="msg"/> <html> <head> <title>greeting page</title> </head> <body> <f:view> <h:form> <h:outputText value="Bienvenido" />, <h:outputText value="#{personBean.personName}" /> </h:form> </f:view> </body> </html>

68 Ruby on Rails

69 RoR Ruby on Rails es un entorno de desarrollo web de código abierto que está optimizado para satisfacción de los programadores y de la productividad. Te permite escribir un buen código favoreciendo la convención antes que la configuración. Rails está basado en estos principios de desarrollo: No te Repitas (Don’t Repeat Yourself). Convención por encima de la Configuración (Convention Over Configuration).

70 RoR - Esquema

71 RoR - Características Basado en la arquitectura MVC
Código Limpio, compacto y legible. Brinda Abstracción de objetos Persistentes Brinda soporte para pruebas unitarias y funcionales Contiene unos generadores de código, llamados Helpers Gran integración con Ajax Dispone de Ruby Gems que permite una fácil instalación, añadir nuevos módulos y actualización del software. Tiene soporte para varias bases de datos, como MySQL, PostgreSQL, SQLite, Oracle, SQL Server, DB2, o Firebird.

72 RoR - Modelo En las aplicaciones web orientadas a objetos sobre bases de datos, el Modelo consiste en las clases que representan a las tablas de la base de datos. En Ruby on Rails, las clases del Modelo son gestionadas por ActiveRecord. Por lo general, lo único que tiene que hacer el programador es heredar de la clase ActiveRecord::Base, y el programa averiguará automáticamente qué tabla usar y qué columnas tiene (No siempre).

73 RoR – Modelo (2) Las definiciones de las clases también detallan las relaciones entre clases con sentencias de mapeo objeto relacional. class Persona < ActiveRecord::Base has_one :detalle has_many :telefono end class Detalle < ActiveRecord::Base belongs_to :persona class Telefono < ActiveRecord::Base

74 RoR - Vista En MVC, Vista es la lógica de visualización, o cómo se muestran los datos de las clases del Controlador. Con frecuencia en las aplicaciones web la vista consiste en una cantidad mínima de código incluido en HTML. Existen en la actualidad muchas maneras de gestionar las vistas. El método que se emplea en Rails por defecto es usar Ruby Embebido (archivos .rhtml), que son básicamente fragmentos de código HTML con algo de código en Ruby, siguiendo una sintaxis similar a JSP

75 RoR - Controlador La implementación del Controlador es manejada por el ActionPack de Rails, que contiene la clase ApplicationController. Una aplicación Rails simplemente hereda de esta clase y define las acciones necesarias como métodos, que pueden ser invocados desde la web, por lo general en la forma que invoca a EjemploController#metodo, y presenta los datos usando el archivo de plantilla /app/views/ejemplo/metodo.rhtml, a no ser que el método redirija a algún otro lugar.

76 RoR - Ejemplo Primeramente crearemos nuestro proyecto.
$ rails prueba Ahora supongamos que nuestra tabla personas tiene las siguientes columnas: Id Nombre Apellido Creamos un modelo Persona $ ruby script\generate model Persona Esto creara un archivo persona.rb class Persona < ActiveRecord::Base end

77 RoR – Ejemplo (2) Ahora debemos crear el controlador de forma similar al modelo: $ ruby script\generate controller Persona Esto creara un archivo persona_controller.rb class PersonaController < ApplicationController scaffold :persona def index render_text “Hola Mundo” end

78 RoR – Ejemplo (3) Ahora solo debemos levantar el servidor WeBring:
$ ruby script\server Y probar nuestra aplicación, en Ahora probaremos lo mas importante, con la simple línea scaffold:persona RoR no genera los siguiente: Creación de Persona en Modificación de Persona en Listado de Personas en Eliminación de Persona en

79 RoR – Ejemplo (4) Pero todo lo mostrado anteriormente se puede lograr ejecutando: $ ruby /script/generate scaffold Persona

80 ASPX.NET

81 ASP.net ASP.NET es un framework para aplicaciones web desarrollado y comercializado por Microsoft. ASP.NET esta construido sobre el Common Language Runtime, permitiendo a los programadores escribir código ASP.NET usando cualquier lenguaje admitido por el .NET Framework.

82 ASP.net (2) Los formularios web están contenidos en archivos con una extensión ASPX; en jerga de programación, estos archivos típicamente contienen etiquetas HTML o XHTML estático , y también etiquetas definiendo Controles Web que se procesan del lado del servidor y Controles de Usuario donde los desarrolladores colocan todo el código estático y dinámico requerido por la pagina web.

83 ASP.net - Características
Mejor rendimiento de su predecesor. Rapidez en la programación, mediante el uso de diversos tipos de controles. Servicios Web, herramientas para compartir datos entre distintos sitios. Mayor seguridad.

84 ASP.net – Ejemplo Simple
Page language="VB"%> Import Namespace="System.data.oledb" %> <script runat="server"> Sub Nombre_change(sender as object, e as EventArgs) Mensaje.text = "Buenos días " + Nombre.text End sub </script> <html> <body> <font face="verdana" size=2>Esta es la página </font><br> <form runat="server"> Tu nombre: <asp:TextBox id="Nombre" OnTextChanged="Nombre_change" runat="server" autopostback="true"/> <asp:label id="Mensaje" runat="server" /> </form> </body> </html>

85 Otros Frameworks

86 Otros Frameworks Tapestry Google Web Toolking (GWT) EJB RIFE Trails
Wicket Etc, etc, etc..

87 En Resumen… Los frameworks permiten:
El desarrollo ágil de aplicaciones. Diseño reutilizable. Mantenimiento de aplicaciones. La elección de un framework depende del tipo de aplicación a ser desarrollada.

88 Tarea 4 Volver a implementar el mismo sistema desarrollado en la Tarea 2 pero esta vez haciendo uso exclusivo de algún framework web propuesto en clase. Fecha de entrega: Martes Integrantes: 2 personas. Entregar en un CD conteniendo: Directorio IMPLEMENTACION, dentro del cual estaría la estructura de directorios de la aplicación. Y un archivo esquema.sql, con el script de creación de la base de datos. Documento Integrates.txt, con los nombres de los integrantes del grupo. Documento Indicaciones.txt, con las indicaciones necesarias para hacer las pruebas a la aplicación. Documento Consideraciones.pdf, donde se expliquen problemas encontrados durante la implementación, y sus soluciones, así como cualquier observación que consideren relevante en relación al trabajo y las herramientas utilizadas. OBS 1: Al igual que la Tarea 2, utilizar el gestor de base de datos PostgreSQL. OBS 2: Se evaluará, más que nada, la correcta utilización del framework.


Descargar ppt "Programación Web Frameworks para el Desarrollo de Aplicaciones Web"

Presentaciones similares


Anuncios Google