TALLERDesarrollo de Aplicaciones Profesionales con Tecnologías .NET<br />
Sorey García(@soreygarcia)<br />
AGENDA<br />Sesión 2 (Junio 30  10:00 A.M. a 12:00.M.)<br />Introducción a los conceptos<br />Aplicaciones Distribuidas<br...
¿Qué es una aplicación distribuida?<br />
Es una aplicación con distintos componentesque se ejecutan en entornos separados, normalmente en diferentes plataformas co...
¿Cuales son los componentesque se distribuyen? ¿Qué criterios se usan para determinar que conforma un componente?¿A través...
Algunos Conceptos…<br />Protocolos<br />Cliente/Servidor<br />Capas<br />Despliegue<br />Webservices<br />UML<br />Servici...
Vamos por partes…¿A qué se refiere la distribución?<br />Las distribución refiere a la construcción de software por partes...
Esta distribución como bien enunciaba la definición formal, habla de que las partes o componentes se encuentran en entorno...
La separación físicano es en todas las ocasiones “maquinas diferentes” de acuerdo a la arquitectura también puede ser la u...
Ahora bien, cuando hablemos de distribución lógica lo entenderemos como separación por “Capas” (layers) y cuando hablemos ...
La separación por capas y niveles hace parte de la arquitectura del sistema y es definida por el arquitecto de la aplicaci...
“Las capasdentro de una arquitectura son un conjunto de servicios especializados que pueden ser accesibles por múltiples c...
Una capa puede contener muchoscomponentes, un mismo componente puede ubicarse en variascapas de acuerdo a su naturaleza y ...
¿Qué es un componente?<br />Un componentees un elementode software que encapsulauna serie de funcionalidades. Un component...
Cada componente de un sistema puede verse como un paqueteo módulo<br />Un componente esta compuesto por elementos que pued...
En este punto visualizamos varios conceptos que podemos presentar de la siguiente forma…<br />Aplicación<br />Niveles<br /...
Ahora bien…<br />El paradigma básico de la separación por capas establece al menos 3 partes distintas dentro de una aplica...
La Presentación o interfaz de usuario se refiere al mecanismo de interacción del usuario con el sistemaLos tipos de interf...
La Lógica de Negocio refiere el conjunto de reglas que determinan específicamente como funciona un sistema, según su natur...
El Acceso a Datos refiere al medio a través del cual podemos acceder y manipular los datospersistentes de un sistemaEl Alm...
Así nos encontramos con componentes de diferentes tipos<br />Ejecutables, Páginas Web, Librerías, Controles, Procedimiento...
Después de conocer estos conceptos básicos, podemos pasar entonces a ver, los diferentes tipos de aplicaciónAplicaciones M...
Una aplicación monolítica o de una capa es aquella cuya interfaz, lógica de negocio y acceso a datos se encuentran mezclad...
Una aplicación Cliente/Servidor o aplicación de doscapas es aquella donde los datos y la lógica de negocio se encuentran s...
Una aplicación 3 capas es aquella donde la interfaz, la lógica de negocio, el acceso a datos y los datos se encuentran sep...
¡ATENCIÓN!<br />Es muy importante entender, que la separación de la que se habla no es necesariamente física, como ya se h...
Ahora, para hacer un trabajo bien hecho, hay que reconocer que las consideraciones asociadas al desarrollo por capas…<br />
¿Que consideraciones deberíamos tener en cuenta cuando pensamos en la Capa de Presentación?<br />
¿Y las consideraciones de la Capa de Lógica de Negocios?<br />
¿Y las consideraciones de la Capa de Acceso a Datos?<br />
Bueno y si ya están separadas las 3 capas principales, ¿Qué es entonces una de aplicación de N capas?<br />
Pues bien, la evolución de la tecnología y las redes de comunicaciones, hacen que cada día se generen nuevos escenarios de...
Otra de las razones importantes por las que surge este concepto, es debido a que en la evolución del desarrollo de softwar...
Usuarios<br />Auditoria y Control  de Excepciones<br />Seguridad<br />Comunicación<br />Componentes de Interfaz de Usuario...
¿Qué arquitectura tendrá nuestro ejemplo de Campus Party?<br />
@soreygarcia<br />@mteheran<br />@dramirez2009<br />@khriztianmoreno<br />@jodageeks<br />@andreslon<br />@pavelespitia<br...
¡GRACIAS!Síguenos @Avanet<br />
Próxima SlideShare
Cargando en…5
×

Taller Campus Party 2011: Desarrollo de Aplicaciones con .NET (Sesión 2)

1.099 visualizaciones

Publicado el

Esta es solo la parte teórica

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
1.099
En SlideShare
0
De insertados
0
Número de insertados
112
Acciones
Compartido
0
Descargas
25
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Taller Campus Party 2011: Desarrollo de Aplicaciones con .NET (Sesión 2)

  1. 1. TALLERDesarrollo de Aplicaciones Profesionales con Tecnologías .NET<br />
  2. 2. Sorey García(@soreygarcia)<br />
  3. 3. AGENDA<br />Sesión 2 (Junio 30 10:00 A.M. a 12:00.M.)<br />Introducción a los conceptos<br />Aplicaciones Distribuidas<br />TALLER: Construyendo aplicación profesional<br />Presentación (Winforms, ASP.NET, C#.NET)<br />Servicios Web (ASP.NET, C#.NET)<br />Lógica de Negocio (C#.NET)<br />Acceso a Datos (C#.NET, LINQ, SQL Server 2008)<br />
  4. 4. ¿Qué es una aplicación distribuida?<br />
  5. 5. Es una aplicación con distintos componentesque se ejecutan en entornos separados, normalmente en diferentes plataformas conectadas a través de una red<br />Wikipedia<br />
  6. 6. ¿Cuales son los componentesque se distribuyen? ¿Qué criterios se usan para determinar que conforma un componente?¿A través de que mecanismos se realiza la comunicación entre componentes distribuidos?¿Qué es un componente?<br />
  7. 7. Algunos Conceptos…<br />Protocolos<br />Cliente/Servidor<br />Capas<br />Despliegue<br />Webservices<br />UML<br />Servicios<br />Objetos<br />Interfaces<br />Niveles<br />Comunicación<br />Interoperabilidad<br />Arquitectura<br />Lógica de Negocio<br />Acceso a Datos<br />Interfaz de Usuario<br />Paquetes<br />Componentes<br />
  8. 8. Vamos por partes…¿A qué se refiere la distribución?<br />Las distribución refiere a la construcción de software por partes, a las cuales les son asignadas un conjunto específicode responsabilidades dentro de un sistema.<br />
  9. 9. Esta distribución como bien enunciaba la definición formal, habla de que las partes o componentes se encuentran en entornos separados, sin embargo, lo que tiene implícito esta definición, es que para realizar esta separación física primero debe tenerse clara la separación lógicade las partes de una aplicación, esto quiere decir que programáticamente existe una forma de separaro agruparlos componentes.<br />
  10. 10. La separación físicano es en todas las ocasiones “maquinas diferentes” de acuerdo a la arquitectura también puede ser la ubicación de un conjunto de funcionalidades en rutas de despliegue o tecnologías diferentes dentro de la misma máquina<br />
  11. 11. Ahora bien, cuando hablemos de distribución lógica lo entenderemos como separación por “Capas” (layers) y cuando hablemos de distribución física usaremos el término separación en “Niveles” (tiers)<br />
  12. 12. La separación por capas y niveles hace parte de la arquitectura del sistema y es definida por el arquitecto de la aplicación.<br />
  13. 13. “Las capasdentro de una arquitectura son un conjunto de servicios especializados que pueden ser accesibles por múltiples clientes y que deben ser fácilmente reutilizables.”<br />
  14. 14. Una capa puede contener muchoscomponentes, un mismo componente puede ubicarse en variascapas de acuerdo a su naturaleza y a las consideraciones explicitas de la arquitectura<br />… como? No hay problema, lo iremos entendiendo, de eso se trata…<br />
  15. 15. ¿Qué es un componente?<br />Un componentees un elementode software que encapsulauna serie de funcionalidades. Un componentees una unidad independiente, que puede ser utilizado en conjunto con otros componentes para formar un sistema más complejo.<br />
  16. 16. Cada componente de un sistema puede verse como un paqueteo módulo<br />Un componente esta compuesto por elementos que pueden ser clasesy/o recursos complementarios como archivos de configuración, imágenes, entre otros. Y a su vez esas clases y recursos pueden están agrupados dentro del componente en subpaquetes, de acuerdo a su naturaleza o necesidades de negocio.<br />
  17. 17. En este punto visualizamos varios conceptos que podemos presentar de la siguiente forma…<br />Aplicación<br />Niveles<br />Capas<br />Componentes<br />Paquetes<br />Clases<br />Otros Recursos<br />Sub paquetes<br />
  18. 18. Ahora bien…<br />El paradigma básico de la separación por capas establece al menos 3 partes distintas dentro de una aplicaciónLa PresentaciónLa Lógica de NegocioEl Acceso a Datos y los Datos<br />
  19. 19. La Presentación o interfaz de usuario se refiere al mecanismo de interacción del usuario con el sistemaLos tipos de interfaces de software más comunes son las aplicaciones de ventanas y web Los tipos de interfaces de hardware más comunes son el ratón, el teclado, el micrófono, pantallas táctiles, dispositivos de audio<br />
  20. 20. La Lógica de Negocio refiere el conjunto de reglas que determinan específicamente como funciona un sistema, según su naturaleza, y bajo que parámetros y condiciones de acuerdo a las necesidades de los clientes y usuarios.<br />
  21. 21. El Acceso a Datos refiere al medio a través del cual podemos acceder y manipular los datospersistentes de un sistemaEl Almacenamiento de Datos refiere a la forma en que se encuentran guardados dichos datos, por ejemplo, en archivos o bases de datos.<br />
  22. 22. Así nos encontramos con componentes de diferentes tipos<br />Ejecutables, Páginas Web, Librerías, Controles, Procedimientos Almacenados, Servicios Web…<br />
  23. 23. Después de conocer estos conceptos básicos, podemos pasar entonces a ver, los diferentes tipos de aplicaciónAplicaciones MonolíticasAplicaciones Cliente/ServidorAplicaciones de 3 CapasAplicaciones de N Capas<br />
  24. 24. Una aplicación monolítica o de una capa es aquella cuya interfaz, lógica de negocio y acceso a datos se encuentran mezclados o altamente acoplados, esto dificulta que pueda hacerse una separación lógica y física donde alguna de las partes pueda ser reutilizable.<br />
  25. 25. Una aplicación Cliente/Servidor o aplicación de doscapas es aquella donde los datos y la lógica de negocio se encuentran separados de la interfaz, este tipo de aplicación también es denominada,cliente liviano.<br />Otro escenario válido para una aplicación Cliente/Servidor, se da separando los datos de la interfaz y la lógica de negocio, este tipo de aplicación también es denominado, cliente pesado.<br />
  26. 26. Una aplicación 3 capas es aquella donde la interfaz, la lógica de negocio, el acceso a datos y los datos se encuentran separados.<br />
  27. 27. ¡ATENCIÓN!<br />Es muy importante entender, que la separación de la que se habla no es necesariamente física, como ya se había dicho antes, la primera separación que se da es lógica y debemos reiterar que la separación lógica es programática.<br />
  28. 28. Ahora, para hacer un trabajo bien hecho, hay que reconocer que las consideraciones asociadas al desarrollo por capas…<br />
  29. 29. ¿Que consideraciones deberíamos tener en cuenta cuando pensamos en la Capa de Presentación?<br />
  30. 30. ¿Y las consideraciones de la Capa de Lógica de Negocios?<br />
  31. 31. ¿Y las consideraciones de la Capa de Acceso a Datos?<br />
  32. 32. Bueno y si ya están separadas las 3 capas principales, ¿Qué es entonces una de aplicación de N capas?<br />
  33. 33. Pues bien, la evolución de la tecnología y las redes de comunicaciones, hacen que cada día se generen nuevos escenarios de intercambio de información entre empresas, y entre los mismos sistemas existentes dentro de las empresas, de forma que se satisfagan las necesidades constantes y cambiantes de clientes y usuarios, para quienes debe resultar transparenteel obtener información de un sistema u otro.<br />
  34. 34. Otra de las razones importantes por las que surge este concepto, es debido a que en la evolución del desarrollo de software, se ha identificado la necesidad de crear nuevas capas, especializadas en funciones especificas, diferentes a las 3 identificadas previamente.Tal es el caso de la seguridad, el control de excepciones, el transporte de datos entre capas, la generación de trazas de errores, entre otros.<br />
  35. 35. Usuarios<br />Auditoria y Control de Excepciones<br />Seguridad<br />Comunicación<br />Componentes de Interfaz de Usuario<br />Componentes de Proceso de Interfaz de Usuario<br />Interfaces de Servicio<br />Flujos de Negocio<br />Componentes de negocio<br />Entidades de Negocio<br />ComponentesAccesoDatos<br />Agentes de Servicio<br />ServiciosExternos<br />Orígenes de Datos<br />UnapropuestaMicrosoft Patterns & Practices<br />
  36. 36. ¿Qué arquitectura tendrá nuestro ejemplo de Campus Party?<br />
  37. 37. @soreygarcia<br />@mteheran<br />@dramirez2009<br />@khriztianmoreno<br />@jodageeks<br />@andreslon<br />@pavelespitia<br />@dxp2<br />@hernandgr (virtual)<br />@magicovercast (virtual)<br />@elianaca (virtual)<br />ACOMPAÑAMIENTO<br />
  38. 38. ¡GRACIAS!Síguenos @Avanet<br />

×