diapo java EE.7.pptx

download diapo java EE.7.pptx

of 73

Transcript of diapo java EE.7.pptx

Java EE

ARQUITECTURA DE APLICACIONES .NET

Para disear la arquitectura de un sistema se debe tener en cuenta los intereses de los usuarios del sistema, el sistema y los objetivos del negocio, ya que ellos imponen requisitos y restricciones que se deben tener en cuenta.

En el diseo de la arquitectura, se debe decidir primero el tipo de sistema o aplicacin que se va a construir, los que pueden ser: aplicaciones mviles, de escritorio, aplicaciones de servicios, aplicaciones web, etc.

El tipo de arquitectura depende del tipo de aplicacin, adems un tipo de aplicacin suele responder a ms de un estilo de arquitectura.ARQUITECTURA Cliente/ServidorEl estilo Cliente/Servidor, define una relacin entre dos aplicaciones, en las cuales una de ellas enva peticiones (cliente), a la otra (servidor).

Principios

El cliente realiza una o ms peticiones, espera por las respuestas y las procesa a su llegada.El cliente normalmente se conecta solo a uno o a un nmero reducido de servidores al mismo tiempo.El cliente interacta directamente con el usuario a travs de una interfaz grfica.El servidor no realiza ninguna peticin al cliente.El servidor enva los datos en respuesta a las peticiones realizadas por los clientes conectados.El servidor normalmente autentifica y verifica primero al usuario y despus procesa la peticin y enva los resultados.

BeneficiosMs seguridad ya que los datos se almacenan en el servidor, que generalmente ofrece ms control sobre la seguridad.Acceso centralizado en los datos que estn almacenados en el servidor, lo que facilita su acceso y actualizacin.Facilidad de mantenimiento, ya que los roles y las responsabilidades se distribuyen entre los distintos servidores a travs de la red, lo que permite que un cliente no se vea afectado por un error en un servidor particular.

ARQUITECTURA BASADA EN COMPONENTES:

describe un acercamiento al diseo de sistemas como un conjunto de componentes que exponen interfaces bien definidas y que colaboran entre s para resolver el problema.

Principios

Los componentes son diseados de forma que puedan ser reutilizados en distintos escenarios en diferentes aplicaciones aunque algunos componentes son diseados para una tarea especfica.Los componentes son diseados para operar en diferentes entornos y contextos. Toda la informacin debe ser pasada al componente en lugar de incluirla en l o que ste acceda a ella.Los componentes pueden ser extendidos a partir de otros componentes para ofrecer nuevos comportamientos.Los componentes exponen interfaces que permiten al cdigo usar su funcionalidad y no revelan detalles internos de los procesos que realizan o de su estado.Los componentes estn diseados para ser lo ms independientes posibles de otros componentes, por lo que pueden ser desplegados sin afectar a otros componentes o sistemas.

Beneficios

Fcil despliegue ya que se puede sustituir un componente por su nueva versin sin afectar a otros componentes o al sistema.Reduccin de costes ya que se pueden usar componentes de terceros para abaratar los costes de desarrollo y mantenimiento.Reusables, ya que son independientes del contexto se pueden emplear en otras aplicaciones y sistemas.Reduccin de la complejidad gracias al uso de contenedores de componentes que realizan la activacin, gestin del ciclo de vida, etc.

ARQUITECTURA en capas:

Se basa en capas en una distribucin jerrquica de los roles y las responsabilidades para proporcionar una divisin efectiva de los problemas a resolver. Los roles indican el tipo y la forma de la interaccin con otras capas y las responsabilidades la funcionalidad que implementan.

PrincipiosCada capa contiene la funcionalidad relacionada slo con las tareas de esa capa.Las capas inferiores no tienen dependencias de las capas superiores.La comunicacin entre capas est basada en una abstraccin que proporciona un bajo acoplamiento entre capas.

ARQUITECTURA presentacin desacoplada:

Indica cmo debe realizarse el manejo de las acciones del usuario, la manipulacin de la interfaz y los datos de la aplicacin.

Caractersticas

Es un estilo para disear aplicaciones, basado en patrones de diseo conocidos.Separa la lgica para el manejo de la interaccin de la presentacin de los datos con que trabaja el usuario.Permite a los diseadores crear una interfaz grfica mientras los desarrolladores escriben el cdigo para su funcionamiento.

ARQUITECTURA n-niveles:

La arquitectura de N-Niveles, define la separacin de la funcionalidad en segmentos/niveles fsicos separados, similar que el estilo N-Capas pero sita cada segmento en una mquina distinta, niveles fsicos.

PrincipiosEs un estilo para definir el despliegue de las capas de la aplicacin.Se caracteriza por la descomposicin funcional de las aplicaciones, componentes del servicio y su despliegue distribuido, que ofrece mejor escalabilidad, disponibilidad, rendimiento, manejabilidad y uso de recursos.Cada nivel es completamente independiente de los otros niveles, excepto del inmediatamente inferior.Este estilo tiene al menos 3 niveles lgicos o capas separados. Cada capa implementa funcionalidad especfica y est fsicamente separada en distintos servidores.

ARQUITECTURA orientada al dominio (ddd):

se basa en la importancia del dominio del negocio, sus elementos y comportamiento y las relaciones entre ellos. Est indicado para disear e implementar aplicaciones empresariales complejas donde es fundamental definir un modelo de dominio.DDD identifica una serie de patrones de arquitectura importantes a tener en cuenta en el diseo de una aplicacin, como son:Arquitectura N-Capas (capas especficas tendencias arquitectura DDD).Patrones de diseo.En DDD es fundamental el desacoplamiento entre componentes.

ARQUITECTURA orientada a oBJEToS:

Define el sistema como un conjunto de objetos que cooperan entre s.

Caractersticas

Es un estilo para disear aplicaciones basado en un nmero de unidades lgicas y cdigo reusable.Describe el uso de objetos que contienen los datos y el comportamiento para trabajar con esos datos y adems tiene un rol y responsabilidad distinta.Hace hincapi en la reutilizacin a travs de la encapsulacin, la modularidad, el polimorfismo y la herencia.

ARQUITECTURA orientada a servicios (soa):

La Arquitectura orientada a servicios permite a una aplicacin ofrecer su funcionalidad como un conjunto de servicios para que sean consumidos. Los servicios usan interfaces estndares que pueden ser invocadas, publicadas y descubiertas. Se centran en proporcionar un esquema basado en mensajes con operaciones de nivel de aplicacin y no de componente o de objeto.

Principios

Los servicios son autnomos, es decir cada servicio se mantiene, se desarrolla, se despliega y se versiona independientemente.Los servicios pueden estar situados en cualquier nodo de una red local o remota mientras sta soporte los protocolos de comunicacin necesarios.Cada servicio es independiente del resto de servicios y puede ser reemplazado y actualizado sin afectar a las aplicaciones que lo usan mientras la interfaz sea compatible.Los servicios comparten esquemas y contratos para comunicarse, no clases.La compatibilidad se basa en polticas que definen funcionalidades como el mecanismo de transporte, el protocolo y la seguridad.

ARQUITECTURA bus de servicios (Mensajes):

Define un sistema software que puede enviar y recibir mensajes usando uno o ms canales de forma que las aplicaciones pueden interactuar sin conocer detalles especficos la una de la otra.

Principios

Toda la comunicacin entre aplicaciones se basa en mensajes que usan esquemas comunes.Como la interaccin con el bus se basa en esquemas comunes y mensajes se pueden aadir o eliminar aplicaciones del bus para cambiar la lgica usada para procesar los mensajes.Al usar un modelo de comunicacin con mensajes basados en estndares se puede interactuar con aplicaciones desarrolladas para distintas plataformas.

FRAMEWORKS.Net Frameworkes unframeworkdeMicrosoftque hace un nfasis en la transparencia deredes, con independencia de plataforma dehardwarey que permita un rpido desarrollo deaplicaciones.Net Compact Framework(.NET CF)

Microsoft. NET Compact Framework(.NET CF) es una versin del.NET Frameworkbasado en mviles/dispositivos embebidos tales como PDAs, telfonos mvilesJava EE 7Arquitectura

Java EE 7(Java Enterprise Edition) Plataforma Java para el desarrollo de aplicaciones empresariales.Es una coleccin de especificaciones que definen una infraestructura para desarrollar aplicaciones distribuidas multicapa.

ObjetivoFacilita el desarrollo de aplicaciones distribuidas en java.El objetivo ms importante de la plataforma Java EE 7 es simplificar el desarrollo proporcionando una base comn para los diversos tipos de componentes en la plataforma Java EE.Los desarrolladores se benefician con las mejoras de productividad con ms anotaciones y menos configuracin XML.

Caractersticas Java Platform, Enterprise Edition 7 (Java EE 7) ofrece nuevas caractersticas que mejoran el apoyo HTML5, aumentar la productividad de los desarrolladores, y mejora an ms cmo se pueden satisfacer las demandas empresariales.Java EE 7 desarrolladores escribir menos cdigo repetitivo, tiene mejor soporte para las ltimas aplicaciones Web y los marcos, y tener acceso a la escalabilidad mejorada y ms rica, la funcionalidad ms simple.Las empresas se beneficiarn de las nuevas caractersticas que permiten el procesamiento por lotes porttiles y una mejor escalabilidadModelo de la aplicacinEl modelo de la aplicacin Java EE define una arquitectura para implementar servicios como lo hacen las aplicaciones multicapa, las cuales son escalables, accesibles y tienen la capacidad de gestin para aplicaciones de nivel empresarial.La lgica de negocio y presentacin a ser implementado por el desarrollador.Los servicios estndar del sistema de la plataforma Java EE Aplicaciones Multicapa DistribuidasJava EE multicapa aplicaciones son generalmente consideradas aplicaciones tres niveles porque se distribuyen en tres localizaciones: equipos cliente, la mquina del servidor Java EE y la base de datos.Nivel de cliente: componentes que corren en la mquina cliente.Nivel Web: componentes que corren en el servidor Java EE.Nivel de Negocios: componentes que corren en el servidor Java EE.Nivel EIS (Sistema de informacin empresarial): software que se ejecuta en el servidor EIS.

Componentes Java EEUna aplicacin Java EE esta creada de componentes. Un componente es una unidad autnoma de software funcional que se ensambla en una aplicacin Java EE con sus clases y archivos relacionados y que se comunica con otros componentes.Las aplicaciones cliente y los applets son componentes que se ejecutan en el cliente.Java Servlet, JavaServerFaces y JavaServerPages son componentes Web que se ejecutan en el servidor.Enterprise JavaBeans (EJB) son componentes de negocio que se ejecutan en el servidor.

Clientes Java EEUn cliente Java EE puede ser un cliente Web o una aplicacin cliente.Cliente Web. El cliente web consta de dos partes:Pginas web dinmicas que contienen varios tipos de lenguaje de marcado (HTML, XML y as en), que son generados por los componentes web que se ejecutan en la capa web.Un navegador web, son las pginas recibidas del servidor.

Clientes Java EEApplets.Una pgina web recibido desde la web pueden incluir un applet incrustado. Escrito en un lenguaje de programacin Java applet es una aplicacin cliente pequeo que se ejecuta en el Mquina virtual de Java instalada en el navegador web. 3) Clientes de aplicacin.Un cliente de aplicacin se ejecuta en un equipo cliente y proporciona una manera para que los usuarios puedan manejar tareas que requieren una interfaz de usuario ms rica que puede ser proporcionado por un lenguaje de marcado.

Arquitectura de los componentes JavaBeansEl servidor y el cliente pueden incluir componentes JavaBeans para administrar el flujo de datos entre una aplicacin cliente o un applet y componentes que se ejecutan en el servidor JEE o entre componentes de servidor y BD.

Componentes WebSon componentes de Java EE web servlets o pginas web creadas utilizando Java Server, la tecnologa JSP (las pginas JSP).Servlets. Es lenguaje de programacin Java clases que procesan dinmicamente solicitudes y construccin respuestas.Pginas JSP. Estn basados en texto documentos que ejecutan como servlets, pero permiten un enfoque ms natural para crear contenido esttico. Tecnologa JavaServer Faces se basa en la tecnologa JSP y servlets y proporciona un usuario marco de componente de interfaz de aplicaciones web.

Componentes empresariales Resuelven o satisfacen las necesidades de un dominio particular de negocio como la banca, venta al por menor o la financiacin est a cargo de un enterprise bean que se ejecutan en la capa de negocio.

Sistema de informacin empresarialEl sistema de informacin empresarial (EIS) incluye software y sistemas de infraestructura de la empresa tales como la planificacin de recursos empresariales (ERP), procesamiento de transacciones mainframe, sistemas de bases de datos y otros sistemas heredados.CONTENEDORES EN JAVA

DEFINICIN DE CONTENEDORUn contenedor es un componente especial que permite contener en su interior a otros componentes, incluidos otros contenedoresLos contenedores descienden de la clase padre Container, la cual, a su vez, es descendiente directa de la clase ComponenT.

java.lang.Object java.awt.Component java.awt.Container

Para agregar componentes a un contenedor existe un mtodo llamado add(aadir, agregar), que posee diversas sintaxis:

public Component add (Component comp) // Aade el componente al final del contenedor

public Component add (Component comp) // Aade el componente al final del contenedor

public Component add (String name) // Aade el componente al final del contenedor y Component comp) // le asigna un nombre

public Component add (Component comp,// Aade el componente en la posicin indicada

int index) // por ndex. Con 1 lo aade al final

public void add (Component comp) // dem al anterior pero indicando que agregue

int index) // la lista de componentes del contenedor

Para eliminar componentes del contenedor se utiliza el mtodo remove, cuya sintaxis es la siguiente:

public remove (int index) // Elimina el componente que hay en la posicin-index.public remove (Component comp) // Elimina el componente especificado.

Si se desea vaciar el contenedor, el mtodoremoveAlles el mtodo indicado:

public void removeAll ( )

Para conocer el nmero de componentes que hay actualmente insertados en el contenedor, se puede utilizar el mtodo siguiente:

public int getComponentCount ( )

Los contenedores poseen tambin la habilidad de validar o no su contenido. Esto se consigue gracias a algunos mtodos especiales:

public void invalidate ( ) // Invalida el contenedor

public void validate ( ) // Valida el contenedor y sus subcomponentes

Tipos de contenedoresJava posee varios tipos de contenedores, dispuestos en la siguiente jerarqua:java.lang.Object java.awt.Component java.awt.Container java.awt.Panel java.applet.applet java.awt.ScrollPane java.awt.Window java.awt.Dialog java.awt.FileDialog java.awt.Frame

PanelUn panel es la clase de contenedor ms simple, ya que nicamente proporciona el espacio para contener otros componentes y contenedores.AppletUn applet es un contenedor que deriva de la clasePanel. Adems de proporcionar espacio para contener otros componentes.ScrollPaneEste tipo de contenedor puede implementar desplazamientos horizontales y/o verticales para poder acceder a posiciones de sus componentes hijos.WindowRepresenta el nivel ms bsico de una ventana, sin bordes ni mens. Una instancia de una ventana no puede estar contenida dentro de otro contenedor.DialogEs una especializacin de una ventana, y muestra bordes y ttulo, y es utilizada comnmente como formularios de entrada por los usuarios.FileDialogEs una especializacin de un dilogo (Dialog), permitiendo al usuario seleccionar navegar por los discos para seleccionar ficheros o archivos.FrameUnframe(marco) es una especializacin de ventana y muestra bordes y ttulo, y adems pueden tener mensFRAMEWORKS EN JAVAApache Cocoon, usualmente llamado simplemente Cocoon, es un framework para aplicaciones web ,encapsulacin y desarrollo de aplicaciones web basado en componentes.

El framework se enfoca en la publicacin pasada en XML y XSLT, habiendo sido construido en el lenguaje de programacin Java. La flexibilidad lograda basndose fundamentalmente en XML permite la rpida publicacin de contenidos en una variedad de formatos, entre los que se incluyen HTML, PDF y WML.

Cocoon tambin se usa con frecuencia como herramienta ETL de almacn de datos o como middleware para el transporte de datos entre diferentes sistemas.APACHE COCOONAPACHE STRUTSStruts es una herramienta de soporte para el desarrollo de aplicaciones Web bajo el patrn MVC bajo la plataforma Java EE (Java Enterprise Edition).

Struts permite reducir el tiempo de desarrollo. Su carcter de "software libre" y su compatibilidad con todas las plataformas en las que Java Entreprise est disponible lo convierten en una herramienta altamente disponible.JUNITJUnit es un conjunto de bibliotecas creadas por Erich Gamma y Kent Beck que son utilizadas en programacin para hacer pruebas unitarias de aplicaciones Java.

JUnit es un conjunto de clases (framework) que permite realizar la ejecucin de clases Java de manera controlada, para poder evaluar si el funcionamiento de cada uno de los mtodos de la clase se comporta como se espera.

En la actualidad las herramientas de desarrollo como NetBeans y Eclipse cuentan con plug-ins que permiten que la generacin de las plantillas necesarias para la creacin de las pruebas de una clase Java se realice de manera automtica, facilitando al programador enfocarse en la prueba y el resultado esperado, y dejando a la herramienta la creacin de las clases que permiten coordinar las pruebas.

JBoss Seam

JBoss Seam es un framework desarrollado por JBoss, una divisin de Red Hat.

framework para mapeo objeto relacional Hibernate.

Combina a los 2 frameworks Enterprise JavaBeans EJB3 y JavaServerFaces JSF.

Se puede acceder a cualquier componente EJB desde la capa de presentacin refirindote a l mediante su nombre de componente seam(introduce el concepto de contextos).Spring Framework

Spring es un framework para el desarrollo de aplicaciones

Si bien las caractersticas fundamentales de Spring Framework pueden ser usadas en cualquier aplicacin desarrollada en Java.

A pesar de que no impone ningn modelo de programacin en particular, este framework se ha vuelto popular en la comunidad al ser considerado una alternativa, sustituto, e incluso un complemento al modelo EJB (Enterprise JavaBean).ARQUITECTURA DE APLICACIONES PHPLa Arquitectura MVCinicializacin y configuracin globallgica de negocio relacionada con la pgina solicitadaobtencin de registros de la base de datos y por ltimoel cdigo PHP que se emplea para generar la pginaLa Arquitectura MVCEl patrn de diseo MVC organiza el cdigo en base a su funcin. De hecho, este patrn separa el cdigo en tres capas:

La capa delmodelodefine la lgica de negocio (la base de datos pertenece a esta capa).

La Arquitectura MVCEl patrn de diseo MVC organiza el cdigo en base a su funcin. De hecho, este patrn separa el cdigo en tres capas:

Lavistaes lo que utilizan los usuarios para interactuar con la aplicacin (los gestores de plantillas pertenecen a esta capa).

La Arquitectura MVCEl patrn de diseo MVC organiza el cdigo en base a su funcin. De hecho, este patrn separa el cdigo en tres capas:

Elcontroladores un bloque de cdigo que realiza llamadas al modelo para obtener los datos y se los pasa a la vista para que los muestre al usuario.

La Arquitectura MVCSymfony

La capa delmodelo: Symfony guarda todas las clases y archivos relacionados con el modelo en el directoriolib/model/.

La Arquitectura MVCSymfony

Lavista: En Symfony la capa de la vista est formada principalmente por plantillas en PHP. Estas plantillas se guardan en varios directorios llamadostemplates/repartidos por todo el proyectoLa Arquitectura MVCSymfony

Elcontrolador: En Symfony, todas las peticiones se canalizan a travs de los controladores frontales (index.phpyfrontend_dev.php). Estos controladores frontales realmente delegan todo el trabajo en lasacciones.Framework para phpFramework para phpCakePHP

Es un framework que facilita el desarrollo de aplicaciones web, utilizando el patrn de diseo MVC (Modelo-Vista-Controlador). Es un framework de cdigo abierto. Est desarrollado en PHP con programacin orientada a objetos.

Framework para phpCakePHP : CARACTERISTICAS

Compatible con PHP4 y PHP5CRUD de la base de datos integradoCreacin de url amigables.Sistema de plantillas rpido y flexible.Ayuda para Ajax, Jacascript, html....Proporciona componentes de seguridad y sesin.

Framework para phpCakePHP : VENTAJAS

Desarrollo rpido - Construye aplicaciones ms rpido que antes.Buenas prcticas - Cake es muy fcil de entender y cumple los estndares en seguridad y autentificacin, manejo de sesiones y muchas otras caractersticas.Orientado a Objetos - Si te gusta la programacin orientada a objetos que bien y si eres principiante te sentirs cmodo.Cero Configuracin - Solamente pon la informacin de la base de datos y la magia comenzar.Framework para phpCakePHP : DESVENTAJAS

Ninguna ofertade formacin est disponible para este framework.No ofrecen ms apoyo que foros, listas de correo y Google Grupos.Framework para phpCodeIgniter

Es un framework para desarrollo de aplicaciones en PHP. Es Open Source y muy pequeo, con una estructura de sus libreras muy bien estructurado.

Destaca por lo liviano que es y por su facilidad para ponerlo en marcha. Solo hay que descomprimirlo y ponerlo en una carpeta.

Framework para phpCodeIgniter : CARACTERISTICAS

Compatible para PHP4 y PHP5Gran documentacin con una gran comunida de desarrolladores.Gran facilidad de aprendizaje. En poco tiempo se puede hacer grandes cosas.Utiliza el patrn de diseo Modelo-Vista-ControladorFramework para phpCodeIgniter : VENTAJAS

Amplia documentacin disponible.Ligero, y sin instalacin (para comenzar a desarrollar una aplicacin basta con copiar los archivos, y ponerse a trabajar).Compatibilidad con una amplia variedad de servidores y configuraciones Flexibilidad, ya que no obliga a tener una determinada estructurade tablas, nombres de campos, ni adherirse a una forma de programar concretaFramework para phpCodeIgniter : DESVENTAJAS

Curva deaprendizaje: necesidad de aprender nuevas funciones, estructuras y mtodos de programacin.Dificultad para adaptar el cdigo escrito en PHP tradicionalFramework para phpZend Framework

Zend Framework es un framework de cdigo abierto para desarrollar aplicaciones web y servicios web con PHP 5. ZF es una implementacin que usa cdigo 100% orientado a objetos

Framework para phpZend Framework: VENTAJAS

Trabaja con MVC.Cuenta con mdulos para manejararchivosPDF,WebServices (Amazon, Flickr, Yahoo), etc.Robustas clases para autenticacin y filtrado de entrada.CertificacionesFramework para phpZend Framework : DESVENTAJAS

Requiere de una larga curva de aprendizaje.Documentacin muy pobre.Necesita de una gran configuracin antes de poder comenzar a trabajar Dificultad para adaptar el cdigo escrito en PHP tradicionalFramework para phpYii : CARACTERISTICAS

Patrn de diseoModelo Vista Controlador(MVC).Integracin conjQuery.Entradas deFormulario y validacin.Widgets deAjax, como autocompletado de campos de texto y dems.Soporte deAutenticacin incorporado. Personalizacin de aspectos y temas.

GRACIAS POR SU ATENCIN