Desarrollo de aplicaciones en n

Download Report

Transcript Desarrollo de aplicaciones en n

DESARROLLO DE
APLICACIONES EN N- CAPAS
Arquitecturas .Net versus J2EE
José Gabriel Sanabria Vega A16250
Contenido





Estructura n capas.
Arquitectura de Visual Studio
 Arquitectura ASP.NET
 Ventajas
 Desventajas
Arquitectura J2EE
 Arquitectura de aplicaciones JSP
 Java Server Faces JSF
 Ventajas
 Desventajas
Comparaciones
Conclusiones
Estructura n capas.





Es una de las tendencias más usadas en estos días.
Ayuda a la división de tareas y provee una mayor seguridad
entre las diferentes capaz.
Lo más común es dividir el proyecto en una estructura de tres
capas.
Lo que se busca con una estructura de n capas es proporcionar
escalabilidad.
Cada capa debería funcionar como una caja negra ante las
demás capas.
ARQUITECTURA VISUAL
STUDIO .NET
Microsoft
Historia


Al principio Microsoft ofrecía una tecnología de mezcla de
tecnologías. Ya que contaba con un servidor de Internet
Information Server, un servidor de SQLServer, un servidor
transaccional MTS y MSMQ y las páginas ASP.
La comunicación se realizaba por medio de una interfaz
binaria (Interfaz COM). Y el desarrollador podía elegir entre
diversos lenguajes, Visual Basic, Visual C++.
Definición

La plataforma .NET es una implementación de Microsoft
basada en estándares abiertos como CLI (Command Line
Interface), SOAP (Simple Object Access Protocol) y WSDL
(Web Services Definition Language) que permite al
programador disponer de un entorno único para trabajar en
múltiples lenguajes.
Arquitectura Visual Studio .Net
Capas de componentes de servicios y aplicaciones distribuidas creadas con .NET
http://www.microsoft.com/
Arquitectura ASP.NET


ASP .NET es una de las piezas esenciales de
Microsoft .NET Framework y proporciona la
infraestructura para aplicaciones .NET Web
dinámicas
Es una plataforma unificada de desarrollo Web
que proporciona a los desarrolladores los servicios
necesarios para generar aplicaciones Web de
empresa.
Arquitectura ASP.NET
Arquitectura ASP.NET
MSDN, Microsoft Corporation
Arquitectura ASP.NET
Introducción a ASP.NET de Microsoft
Ventajas





Posee una arquitectura de Dominio de Aplicación
Seguridad de acceso al código, Se puede especificar
diferentes niveles de acceso al código de lectura de
archivos. Para evitar que las aplicaciones Web dañen el
S.O.
Tiene un conjunto de herramientas completo y un IDE común
para diseño.
La programación en ASP resulta bastante más fácil de
aprender.
El entorno .NET está especialmente orientado a la creación
de servicios Web.
Desventajas





El crear y destruir un proceso de Dominio de Aplicación
consume mucho tiempo en su desarrollo. Además de su
complejidad.
En aplicaciones Web, existe una falta de soporte en todos los
navegadores.
Se hace difícil que los ambientes distribuidos estén en otras
plataformas.
Se necesita tener instalado el Framework.
La tecnología de .Net no ofrece un estándar a la hora de
desarrollar componentes de acceso a datos.
ARQUITECTURA J2EE
Sun. Microsystems
Historia




1995 Se libera formalmente el lenguaje de java.
Lo que se buscaba era simplicidad, Orientación a objetos y
seguridad.
La propuesta de SUN siempre ha estado dividida en dos
grandes grupos, una tecnología de servlets y páginas JSP y la
otra en una arquitectura de J2EE
J2EE (Java 2 Platform Enterprise Edition) es, según Sun
Microsystems, un conjunto de especificaciones que permiten el
desarrollo de aplicaciones basadas en la tecnología Java.
Arquitectura J2EE
Introducción a la arquitectura J2EE con ejemplos prácticos
Arquitectura J2EE


¿Por qué utilizar EJB?

Implantación de Lógica de Negocios Distribuida.

Separación de la base de datos.

Manejo de concurrencia.

Eficiencia y consistencia en el manejo de gran cantidad de datos.
Cuando no utilizar EJB

Aplicaciones de pocas transacciones, más de “consultas”.

Objetivo principal del sistema es consultas eficientes.

Poca cantidad de datos.
Arquitectura de aplicaciones JSP


Una página JSP es un tipo especial de página HTML que contiene
unos pequeños programas (también llamados scripts) que son
ejecutados antes de ser enviados al usuario para su visualización
en forma de página HTML.
Existen dos implementaciones de estas arquitecturas basadas en el
patrón de MVC (Modelo, Vista, Controlador), que son los Struts y
los (JSP) Java Server Faces.
Struts

Esta es una tecnología Open Source
desarrollada por apache. Una de las
características principales es que permite
reducir el tiempo de desarrollo.
Struts
http://struts.apache.org/2.x/docs/big-picture.html
Java Server Faces


Los java Server Faces, son una arquitectura del lado del
servidor basada en xml. Es la arquitectura oficial de SUN, es
un modelo de trabajo basado en componentes UI (user
interface), definidos por medio de etiquetas y XML.
La programación del interfaz se hacer a través de
componentes y basada en eventos.
Java Server Faces
Introducción a la Tecnología Java Server Faces
Ventajas





Permite una mayor implementación, en el desarrollo.
Los clientes podrían no tener la máquina virtual de java
instalada y las aplicaciones cliente no pertenecer a una
estructura de J2EE.
J2EE ofrece un estándar a la hora de desarrollar
componentes de acceso a datos.
El API JSP se beneficia de la extendida comunidad JAVA
existente.
Las implementaciones de J2EE pueden adquirirse de
distintas compañías.
Ventajas



Desde un comienzo Java se fundamentó en un estricto modelo
de seguridad.
Java pueden correr en una amplia gama de sistemas
operativos.
J2EE es ahora el producto de la colaboración de más de 400
empresas.
Desventajas





Complejidad a la hora de diseñar interfaces de usuario.
Programar en JSP resulta más complicado y difícil de
aprender
J2EE sólo trabaja con un solo lenguaje.
Herramientas mas complicadas de usar.
Mas complicado construir servicios Web.
Comparaciones
.NET
J2EE
Lenguajes Web
ASP
JSP
Capa de Control
COM/COM+
EJB (Enterprise JavaBeans)
Capa intermedia
ASP .NET
Servlets
Lenguajes Ap.
Visual Basic .NET y C#
Java
Web Services
Si
Si
Multiplataforma
Si
Si
Conclusiones






Es difícil y absurdo tratar de comparar del todo la tecnología de
.Net con la J2EE.
Los estándares actuales permiten, por medio de los Web Services,
interrelacionar diferentes arquitecturas.
Es importante escoger la tecnología y la arquitectura dependiendo
de lo que se desee hacer y para quien sea.
Con J2EE existe una variedad de implementaciones, mientras que con
.Net existe una única implementación.
El valor precio no es un buen indicador de cual es mejor, ya que
aunque el JDK sea libre, las herramientas no lo son.
Son muchos los que desean la caída de Microsoft, y no es extraño
que surjan alianzas en su contra.
http://cibernetica.wordpress.com/
Conclusiones


Al implementar una arquitectura por capas, se asegura un trabajo
de forma ordenada y separada, debido a que sigue el principio de
“divide y vencerás”.
La programación en capas ha sido una de las últimas tendencias en
cuanto a software comercial se refiere, es una tendencia que bien
aplicada puede resultar en un desarrollo de software eficiente.