Publicado el 7 de Noviembre del 2019
2.367 visualizaciones desde el 7 de Noviembre del 2019
3,5 MB
19 paginas
Creado hace 18a (31/05/2006)
Appendix A – Frameworks de Última
Generación
Dr. Diego Lz. de Ipiña Gz. de Artaza
http://paginaspesonales.deusto.es/dipina
http://www.morelab.deusto.es
http://www.ctme.deusto.es
Frameworks de Última Generación
Visión Microsoft:
ASP.NET 2.0, WSE 3.0 y Windows Communication Foundation
Visión Java:
Java EE 5.0, JSF y Spring
Visión Open Source:
LAMP y Ruby on Rails
2
1
Web Services Enhancements 3.0
Extensión a la framework .NET que implementa los
últimos estándares WS-* especificados
Nos permite experimentar con SOA, haciendo uso de los servicios
avanzados necesarios en aplicaciones empresariales
http://msdn.microsoft.com/webservices/webservices/building/wse/defa
ult.aspx
Windows Communication Foundation (WCF)
Modelo de programación propuesto por Microsoft para
desarrollar aplicaciones basadas en servicios
Previamente conocido como Índigo
Parte de WinFX, la API basada en .NET que substituirá a Win32
con Windows Vista
Orientado a servicios
Unifica varios mecanismos de programación distribuida:
Servicios Web, .NET Remoting, Transacciones Distribuidas y Colas
de Mensajes
Usa SOAP para comunicar dos procesos, por lo que es
interoperable con otros procesos que también usan este
estándar
3
4
2
ASP.NET Atlas
ASP.NET Atlas es un paquete de extensión para
ASP.NET 2.0
Desarrollado por Microsoft
http://atlas.asp.net
Pone en práctica el enfoque AJAX
http://atlas.asp.net/docs/Default.aspx
Características ATLAS
Atlas te ayuda a crear aplicaciones web AJAX:
Un conjunto de APIs orientadas a objetos para desarrollo en
JavaScript
Compatibilidad multi-navegador
APIs basadas en la parte cliente y ricos componentes de interfaz
Un modelo declarativo para el desarrollo en la parte cliente
Facilita la integración de client-side scripting con el
desarrollo de la parte servidora de ASP.NET, mediante:
Servicios web integrables con aplicaciones Atlas
ASP.NET Web Server Controls que emiten el código de scripting
necesario en Atlas
Herramientas de desarrollo integrado como Visual Studio
5
6
3
Arquitectura de ATLAS
Consta de librerías en la parte cliente y componentes en
la parte servidora
Componentes Atlas parte cliente:
Consiste de un conjunto de ficheros .js que proveen facilidades
de desarrollo orientado a objetos:
Una capa de compatibilidad del browser
Servicios core de Atlas (clases, espacios de nombres, manejo de
eventos, herencia, tipos de datos y serialización de objetos)
Una capa de red que gestiona peticiones asíncronas
Una capa de UI con comportamientos y controles nuevos
Una capa de controles específicos Atlas para la parte cliente
7
Arquitectura de ATLAS
Componentes Atlas parte servidora:
Consiste de servicios web y controles de ASP.NET. 'Atlas' usa
servicios web de ASP.NET como:
Profiles service para persistir información en el servidor.
Membership service para autenticación
Roles service ofrece autorización basada en roles
Personalization services para persistir detalles de personalización a
nivel de página o usuario
Globalización y servicios específicos de cultura
ASP.NET también incluye 'Atlas' server controls similares a los
ASP.NET server controls, que emiten 'Atlas' client script.
Ideal para desarrolladores que quieren concentrar su desarrollo en
la parte servidora
8
4
Visión Java
Java EE (Java Plataform Enterprise Edition) incluye varias APIs
importantes para el desarrollo de aplicaciones empresariales:
EJBs, Servlets, Portlets, JSPs, Web Services
Java EE 5.0, corrige algunos errores pasados:
Desarrollo más sencillo – menos código y deployment descriptors, más
anotaciones
EJB 3.0 – promueve uso Plain Old Java Beans (POJOs) e introduce
servicios del sistema mediante interceptores y anotaciones
(@Stateless)
Servicios Web Mejorados – facilita el desarrollo de servicios web para
implementar arquitecturas SOA
Incorpora APIs de presentación:
Construir web sofisticadas es más sencillo con JavaServer Faces (JSF) y JSP
Standard Tag Library (JSTL)
Soporta el desarrollo de aplicaciones Web 2.0 en AJAX
9
Anotaciones en Java EE 5
Configura servicios de manera declarativa mediante
anotaciones:
@SecurityDomain("other")
public class Foo {
@RolesAllowed({"managers"})
@TransactionAttribute(TransactionAttributeType.RE
QUIRED)
public bar () {
// do something ...
}
}
10
5
Servicios Web en Java EE 5
Antes se necesitaba: Java interfaz con API, clase Java
con implementación y deployment descriptor
Ahora con un fichero Java fuente sobra:
package endpoint;
import javax.jws.WebService;
@@@@WebService
WebService
WebService
WebService
public class Hello {
public String sayHello(String param) {
return "Hello " + param;
}
}
11
Java Server Faces
Framework para construir interfaces de usuario para aplicaciones
web:
APIs para representar componentes UI y gestionar su estado
Manejo de eventos y validación de formularios, definiendo navegación de
página y
Internacionalización y accesibilidad
Librería de etiquetas personalizadas para expresar interfaz JSF en JSP
Aumenta la productividad de aplicaciones web:
Ensamblando componentes UI reutilizables
Conectando esos componentes a fuentes de datos
Enlazando eventos de la parte cliente con eventos en la parte servidora
JSF gestiona de manera sencilla y eficiente la interfaz en el servidor,
permitiendo que el usuario se centre en el código de la aplicación
12
6
Ventajas de JSF
Facilidad de uso
Clara separación entre presentación y lógica
Gestión transparente de las complejidades de la gestión de
interfaces, incluyendo validación de entrada, gestión del estado
del componente, navegación de páginas y gestión de eventos
Estandarización
Desarrollado a través del Java Community Process, bajo JSR-127
Independencia de dispositivo
Separa la definición del componente de su renderización
13
Usuarios de JSF
Autores de páginas construyen UIs mediante tags de
JSF
Desarrolladores de aplicaciones escriben el código de
la aplicación (acceso a datos, manejo de eventos, lógica
de negocio)
Desarrolladores de componentes construyen o
extienden componentes UI
Desarrolladores de herramientas construyen
herramientas para facilitar la edición de interfaces con
JSF
14
7
Spring Application Framework
Proyecto Open Source desde Febrero 2003
¿Por qué otra nueva framework J2EE?
Infraestructura orientada a permitir la creación de aplicaciones
empresariales usando POJOs
Sofisticada
Simple
Diseñada para simplificar desarrollo de aplicaciones Java EE
No reinventa, hace lo existente más fácil de usar
Utiliza varios conceptos noveles de Ingeniería del
Software:
Inversion of Control/Dependency Injection
La framework IoC llama a tu código en vez de al revés:
Setter Injection
Constructor Injection
Usa AOP para proveer servicios J2EE a POJOs.
15
Características Spring
Gestión de configuración basada en JavaBeans,
aplicando Inversion of Control
Una factoría de objetos principal
Capa de abstracción genérica para transacciones
Capa de abstracción genérica para JDBC
Se integra con Hibernate, JDO o iBATIS SQL Maps
Framework MVC altamente flexible
Se puede integrar con frameworks de vistas como JSP, Velocity o
Tiles
Capa de negocio se puede integrar con Struts, WebWork o
Tapestry
Framework basada en AOP
16
8
Instalando Spring
Requisito: Java SDK 5.0
Bajarse Spring Framework (spring-framework-1.2.7-with-
dependencies.zip) de:
http://sourceforge.net/projects/springframework/
17
Ejemplo Spring
En examples\Spring simpleexample\ se ha
colocado una aplicación que muestra cómo usar esta
framework:
story_configuration.xml fichero de configuración que
define beans y sus relaciones de forma declarativa
Story.java y StoryList.java beans que van a ser usados
desde una aplicación Spring
StoryReader.java ejemplo de aplicación usando Spring
Fuente: http://en.wikibooks.org/wiki/Spring_framework
18
9
LAMP = Linux + Apache + MySQL +
[PHP|Perl|Python]
Permite el desarrollo y explotación de portales web de alto
rendimiento
Sólida y robusta
Sólo hay que tomar Apache como referencia
Muy popular
Por medio de la herramienta Netcraft se puede comprobar que
muchas de las webs más populares usan Apache sobre Linux y
tienen mod_perl o mod_php instalados.
En general hace referencia a cualquier combinación de
herramientas open source para desarrollo web
Linux podría reemplazarse por OpenBSD
MySQL por PostGreSQL
La ‘P’ podría traducirse en PHP, Perl, Python o Ruby
19
LAMP = Open Source Web Platform
Permite el desarrollo y explotación de portales web de alto
rendimiento
Sólida y robusta
Sólo hay que tomar Apache como referencia
Muy popular
Por medio de la herramienta Netcraft se puede comprobar que
muchas de las webs más populares usan Apache sobre Linux y
tienen mod_perl o mod_php instalados.
En general hace referencia a cualquier combinación de
herramientas open source para desarrollo web
Linux podría reemplazarse por OpenBSD
MySQL por PostGreSQL
La ‘P’ podría traducirse en PHP, Perl, Python o Ruby
20
10
Características LAMP
LAMP es una alternativa open source de calidad a otras
plataformas de desarrollo web
ASP.NET 2.0
Java EE 5.0
Su popularidad y fácil aprendizaje son argumentos para
considerarla
El pago de licencias no siempre está ligado a la calidad de las
herramientas
LAMP es gratuito y muy indicado para portales de tamaño medio
Ruby on Rails
Rails es una framework Ruby para el desarrollo de
aplicaciones web que usan bases de datos
Creada por David Heinemeier Hansson
Version 1.0 en Diciembre 2005
Version 1.1 en Marzo 2006
Sin duda, la Framework web más productiva
Hasta 10 veces más que otras frameworks, por:
Elegancia
Comentarios de: Appendix A – Frameworks de Última Generación (0)
No hay comentarios