DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas.Net versus J2EE José Gabriel Sanabria Vega...

27
DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas .Net versus J2EE José Gabriel Sanabria Vega A16250

Transcript of DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas.Net versus J2EE José Gabriel Sanabria Vega...

Page 1: DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas.Net versus J2EE José Gabriel Sanabria Vega A16250.

DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas .Net versus J2EEJosé Gabriel Sanabria Vega A16250

Page 2: 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

Page 3: DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas.Net versus J2EE José Gabriel Sanabria Vega A16250.

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.

Page 4: DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas.Net versus J2EE José Gabriel Sanabria Vega A16250.

ARQUITECTURA VISUAL STUDIO .NET

Microsoft

Page 5: DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas.Net versus J2EE José Gabriel Sanabria Vega A16250.

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++.

Page 6: DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas.Net versus J2EE José Gabriel Sanabria Vega A16250.

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.

Page 7: DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas.Net versus J2EE José Gabriel Sanabria Vega A16250.

Arquitectura Visual Studio .Net

Capas de componentes de servicios y aplicaciones distribuidas creadas con .NEThttp://www.microsoft.com/

Page 8: DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas.Net versus J2EE José Gabriel Sanabria Vega A16250.

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

Page 9: DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas.Net versus J2EE José Gabriel Sanabria Vega A16250.

Arquitectura ASP.NET

MSDN, Microsoft Corporation

Page 10: DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas.Net versus J2EE José Gabriel Sanabria Vega A16250.

Arquitectura ASP.NET

Introducción a ASP.NET de Microsoft

Page 11: DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas.Net versus J2EE José Gabriel Sanabria Vega A16250.

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.

Page 12: DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas.Net versus J2EE José Gabriel Sanabria Vega A16250.

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.

Page 13: DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas.Net versus J2EE José Gabriel Sanabria Vega A16250.

ARQUITECTURA J2EE

Sun. Microsystems

Page 14: DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas.Net versus J2EE José Gabriel Sanabria Vega A16250.

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.

Page 15: DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas.Net versus J2EE José Gabriel Sanabria Vega A16250.

Arquitectura J2EE

Introducción a la arquitectura J2EE con ejemplos prácticos

Page 16: DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas.Net versus J2EE José Gabriel Sanabria Vega A16250.

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.

Page 17: DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas.Net versus J2EE José Gabriel Sanabria Vega A16250.

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.

Page 18: DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas.Net versus J2EE José Gabriel Sanabria Vega A16250.

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.

Page 19: DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas.Net versus J2EE José Gabriel Sanabria Vega A16250.

Struts

http://struts.apache.org/2.x/docs/big-picture.html

Page 20: DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas.Net versus J2EE José Gabriel Sanabria Vega A16250.

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.

Page 21: DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas.Net versus J2EE José Gabriel Sanabria Vega A16250.

Java Server Faces

Introducción a la Tecnología Java Server Faces

Page 22: DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas.Net versus J2EE José Gabriel Sanabria Vega A16250.

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.

Page 23: DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas.Net versus J2EE José Gabriel Sanabria Vega A16250.

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.

Page 24: DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas.Net versus J2EE José Gabriel Sanabria Vega A16250.

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.

Page 25: DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas.Net versus J2EE José Gabriel Sanabria Vega A16250.

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

Page 26: DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas.Net versus J2EE José Gabriel Sanabria Vega A16250.

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/

Page 27: DESARROLLO DE APLICACIONES EN N- CAPAS Arquitecturas.Net versus J2EE José Gabriel Sanabria Vega A16250.

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.