Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

ARQUITECTURA MARCO N-CAPAS CON ORIENTACIÓN AL DOMINIO

Libro Micosoft NET
by

on 6 March 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of ARQUITECTURA MARCO N-CAPAS CON ORIENTACIÓN AL DOMINIO

ARQUITECTURA MARCO N-CAPAS CON ORIENTACIÓN AL DOMINIO

Recalcar que hablamos de Arquitectura con „Orientación al Dominio‟, no hablamos
de DDD (Domain Driven Design).

El objetivo es centrarnos exclusivamente en una Arquitectura N-Layer que encaje
con DDD y como mapearlo posteriormente a las tecnologías Microsoft.

Capas de Presentación, Aplicación, Dominio e
Infraestructura

Esta sección define de forma global la arquitectura marco en N-Capas así como ciertos patrones y técnicas a tener en cuenta para la integración de dichas capas.

El objetivo de esta arquitectura marco es estructurar de una forma limpia y clara la complejidad de una aplicación empresarial basada en las diferentes capas de la arquitectura, siguiendo el patrón N-Layered y las tendencias de arquitecturas en DDD.

El patrón N-Layered distingue diferentes capas y sub-capas internas en una aplicación, delimitando la situación de los diferentes componentes por su tipología.

Por supuesto, esta arquitectura concreta N-Layer es personalizable según las necesidades de cada proyecto y/o preferencias de Arquitectura, simplemente proponemos una Arquitectura marco a seguir y que sirva como punto base a ser modificada o adaptada por arquitectos, según sus necesidades y requisitos.


- Capa de Presentación
o Subcapa de Componentes Visuales (Vistas)
o Subcapas de Proceso de Interfaz de Usuario (Controladores y similares)

- Capa de Interfaz Remoto (Servicios-Web)
o Servicios-Web publicando las Capas de Aplicación y Dominio

- Capa de Aplicación
48 Guía de Arquitectura N-Capas orientada al Dominio con .NET 4.0 (Beta)
o Tareas, Servicios de Aplicación y coordinadores de casos de uso

En concreto, las capas y sub-capas propuestas para aplicaciones „N-Layered con
Orientación al Dominio‟ son:

- Capa de Infraestructura de Acceso a Datos
o Sub-Capa de „Repositorios‟
o Modelo lógico de Datos
o Clases Base (Patrón Layer-Supertype)
o Infraestructura tecnología ORM
o Agentes de Servicios externos

- Componentes/Aspectos Horizontales de la Arquitectura
o Aspectos horizontales de Seguridad, Gestión de operaciones,
Monitorización, Correo Electrónico automatizado, etc.

- Capa del Modelo de Dominio
o „Entidades del Dominio‟
o Subcapa de „Servicios del Dominio‟
o „Especificaciones de Consultas‟ (Opcional)
o „Contratos/Interfaces de Repositorios‟
o „Clases base del Dominio‟ (Patrón Layer-Supertype)
o Subcapa de „Workflows‟ (Opcional)


ARQUITECTURA MARCO N-CAPAS CON ORIENTACIÓN AL DOMINIO
La plataforma J2EE es a menudo críticada por su complejidad lo que dificulta su adopción por parte de los desarrolladores menos experimentados.

La cantidad de modelos de desarrollo, frameworks, APIs oficiales, etc., ofrecen una gran flexibilidad y funcionalidad pero añaden más confusión a este grupo de desarrolladores.
El modelo de desarrollo de J2EE

El rol de cada una de estas capas es similar en cada ambas plataformas variando únicamente la tecnología sobre la que se sustentan cada una de dichas capas :

• Capa de cliente
: Es la capa donde se localizan los diferentes clientes de nuestras aplicaciones. Estos clientes normalmente serán de tipos y funcionalidades muy diversos.

• Capa de presentación
: La capa de presentación contiene toda la lógica de interacción entre el usuario y la aplicación. Además, es la capa encargada de controlar la interacción entre el usuario y la lógica de negocio generando las vistas necesarias para mostrar información al usuario en la forma y formatos más adecuados.

• Capa de lógica de negocio
: En esta capa se localiza el código y las reglas que sirven como núcleo de nuestras aplicaciones empresariales. Como tal es importante que cumpla una serie de características fundamentales como la fácil extensibilidad y mantenibilidad, alta reutilización, alta flexibilidad y fácil adopción de tecnologías, etc.


Componentes J2EE:
Las aplicaciones J2EE están compuestas de diferentes componentes. Un componente J2EE es una unidad de software funcional auto-contenido que se ensambla dentro de una aplicación J2EE con sus clases de ayuda y ficheros y que se comunica con otros componentes de la aplicación. La especificación J2EE define los siguientes componentes J2EE:

• Las Aplicaciones CLientes y los Applets son componentes que se ejecutan en el lado del cliente.

• Los componentes Java Servlet la tecnología JavaServer Pages son componentes Web que se ejecutan en el lado del servidor.

• Los Enterprise JavaBeans (beans enterprise) son componentes de negocio que se ejecutan en el servidor de aplicación.
• Capa de integración :
Esta es la capa donde se realizan diferentes tareas de integración con otros sistemas como son el acceso a datos, el acceso a sistemas legacy, la aplicación de motores de reglas o de workflow, etc. Es importante que estos sistemas sean especialmente extensibles de modo que sea fácil añadir nuevas fuentes sin que esto afecte a la capa de lógica de negocio.

• Capa de sistemas legacy :
En esta capa se localizan los diferentes sistemas de información disponibles en nuestra empresa. Bases de datos, sistemas de ficheros COBOL, sistemas 4GL, Tuxedo, Siebel, SAP, etc., son sólo algunos de los inquilinos que nos encontraremos en este nivel de la arquitectura. Es fundamental tener algún sistema que nos permita el acceso flexible a sistemas tan heterogéneos.


Modelos de desarrollo de aplicaciones distribuidas con J2EE
El modelo de desarrollo de J2EE
J2EE es una especificación abierta que define una plataforma para el desarrollo de aplicaciones distribuidas orientadas a la empresa.

El desarrollo de aplicaciones bajo J2EE, al igual que otras plataformas como .NET, se basa en la separación de capas.

Esta separación de capas permite una delimitación de responsabilidades a la vez que satisface los requisitos no funcionales de este tipo de aplicaciones ( escalabilidad, extensibilidad, flexibilidad, etc. ) y disminuye el acoplamiento entre las diferentes partes de las mismas.
El número de capas de una aplicación J2EE variará según su complejidad y/o necesidades. Aún así, la estructura
sugerida como modelo para el desarrollo de aplicaciones J2EE es la que se aprecia en la figura 1 :


Ver Video
http://icursos.net/component/guru/gurutasks/5-cursos-java-empresarial/180-leccion-1-introduccion-a-java-ee/1111-arquitectura-multicapas-en-java-ee.html
Full transcript