SlideShare une entreprise Scribd logo
1  sur  38
TALLERDesarrollo de Aplicaciones Profesionales con Tecnologías .NET
Sorey García(@soreygarcia)
AGENDA Sesión 2 (Junio 30  10:00 A.M. a 12:00.M.) Introducción a los conceptos Aplicaciones Distribuidas TALLER: Construyendo aplicación profesional Presentación (Winforms, ASP.NET, C#.NET) Servicios Web (ASP.NET, C#.NET) Lógica de Negocio (C#.NET) Acceso a Datos (C#.NET, LINQ, SQL Server 2008)
¿Qué es una aplicación distribuida?
Es una aplicación con distintos componentesque se ejecutan en entornos separados, normalmente en diferentes plataformas conectadas a través de una red Wikipedia
¿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?
Algunos Conceptos… Protocolos Cliente/Servidor Capas Despliegue Webservices UML Servicios Objetos Interfaces Niveles Comunicación Interoperabilidad Arquitectura Lógica de Negocio Acceso a Datos Interfaz de Usuario Paquetes Componentes
Vamos por partes…¿A qué se refiere la distribución? 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.
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.
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
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)
La separación por capas y niveles hace parte de la arquitectura del sistema y es definida por el arquitecto de la aplicación.
“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.”
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 … como? No hay problema, lo iremos entendiendo, de eso se trata…
¿Qué es un componente? 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.
Cada componente de un sistema puede verse como un paqueteo módulo 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.
En este punto visualizamos varios conceptos que podemos presentar de la siguiente forma… Aplicación Niveles Capas Componentes Paquetes Clases Otros Recursos Sub paquetes
Ahora bien… 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
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
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.
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.
Así nos encontramos con componentes de diferentes tipos Ejecutables, Páginas Web, Librerías, Controles, Procedimientos Almacenados, Servicios Web…
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
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.
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. 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.
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.
¡ATENCIÓN! 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.
Ahora, para hacer un trabajo bien hecho, hay que reconocer que las consideraciones asociadas al desarrollo por capas…
¿Que consideraciones deberíamos tener en cuenta cuando pensamos en la Capa de Presentación?
¿Y las consideraciones de la Capa de Lógica de Negocios?
¿Y las consideraciones de la Capa de Acceso a Datos?
Bueno y si ya están separadas las 3 capas principales, ¿Qué es entonces una de aplicación de N capas?
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.
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.
Usuarios Auditoria y Control  de Excepciones Seguridad Comunicación Componentes de Interfaz de Usuario Componentes de Proceso de Interfaz de Usuario Interfaces de Servicio Flujos de Negocio Componentes de negocio Entidades de Negocio ComponentesAccesoDatos Agentes de Servicio ServiciosExternos Orígenes de Datos UnapropuestaMicrosoft Patterns & Practices
¿Qué arquitectura tendrá nuestro ejemplo de Campus Party?
@soreygarcia @mteheran @dramirez2009 @khriztianmoreno @jodageeks @andreslon @pavelespitia @dxp2 @hernandgr (virtual) @magicovercast (virtual) @elianaca (virtual) ACOMPAÑAMIENTO
¡GRACIAS!Síguenos @Avanet

Contenu connexe

Tendances (19)

Trabajo 1
Trabajo 1Trabajo 1
Trabajo 1
 
Clase03
Clase03Clase03
Clase03
 
Modelo de bases de datos
Modelo de bases de datosModelo de bases de datos
Modelo de bases de datos
 
Base de datos2
Base de datos2Base de datos2
Base de datos2
 
Base de datos
Base de datosBase de datos
Base de datos
 
Herramientas aplicadas para modelar datos
Herramientas aplicadas para modelar datos Herramientas aplicadas para modelar datos
Herramientas aplicadas para modelar datos
 
bases de datos 3 generacion
bases de datos 3 generacionbases de datos 3 generacion
bases de datos 3 generacion
 
Base de datos 2
Base de datos 2Base de datos 2
Base de datos 2
 
Actividad Número 2 base de datos
Actividad Número 2 base de datos Actividad Número 2 base de datos
Actividad Número 2 base de datos
 
Unidad 1 IntroduccióN A Las Bases De Datos
Unidad 1 IntroduccióN A Las Bases De DatosUnidad 1 IntroduccióN A Las Bases De Datos
Unidad 1 IntroduccióN A Las Bases De Datos
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Lab5
Lab5Lab5
Lab5
 
Lab5
Lab5Lab5
Lab5
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
 
Sistemas distribuidos2
Sistemas distribuidos2Sistemas distribuidos2
Sistemas distribuidos2
 
Sistemas distribuidos 2
Sistemas distribuidos 2Sistemas distribuidos 2
Sistemas distribuidos 2
 
Arquitecturas centralizadas
Arquitecturas centralizadasArquitecturas centralizadas
Arquitecturas centralizadas
 
Presente Y Futuro De Los Si
Presente Y Futuro De Los SiPresente Y Futuro De Los Si
Presente Y Futuro De Los Si
 
Unidad 7 diseño estructructurado de datos microsoft access.
Unidad 7 diseño estructructurado de datos microsoft access.Unidad 7 diseño estructructurado de datos microsoft access.
Unidad 7 diseño estructructurado de datos microsoft access.
 

En vedette

Controles UpDown y ScrollBar de VB en versión Visual Studio
Controles UpDown y ScrollBar de VB en versión Visual StudioControles UpDown y ScrollBar de VB en versión Visual Studio
Controles UpDown y ScrollBar de VB en versión Visual StudioUVM
 
Rapid Application Development con Visual Studio 2005
Rapid Application Development con Visual Studio 2005Rapid Application Development con Visual Studio 2005
Rapid Application Development con Visual Studio 2005juliocasal
 
Desarrollo De Componentes , Servicios Y Aplicaciones En .Net
Desarrollo De Componentes , Servicios Y Aplicaciones En .NetDesarrollo De Componentes , Servicios Y Aplicaciones En .Net
Desarrollo De Componentes , Servicios Y Aplicaciones En .NetJavier Martínez Álvarez
 
Dce2 Introduccion Win Forms
Dce2 Introduccion Win FormsDce2 Introduccion Win Forms
Dce2 Introduccion Win FormsEsteban Soraire
 
Manual técnico del software ok
Manual técnico del software okManual técnico del software ok
Manual técnico del software okdang850129
 
Manual de sistema ejemplo
Manual de sistema ejemploManual de sistema ejemplo
Manual de sistema ejemploAnaylen Lopez
 
Pasos para crear un proyecto de visual studio 2008
Pasos para crear un proyecto de visual studio 2008Pasos para crear un proyecto de visual studio 2008
Pasos para crear un proyecto de visual studio 2008vnslgars
 
Programando en microsoft visual studio 2008
Programando en microsoft visual studio 2008Programando en microsoft visual studio 2008
Programando en microsoft visual studio 2008ibrahimgonzalez
 
Introduccion a Visual Studio .NET
Introduccion a Visual Studio .NETIntroduccion a Visual Studio .NET
Introduccion a Visual Studio .NETjnarchie
 
Proyectos de Base de Datos con Visual Studio 2013
Proyectos de Base de Datos con Visual Studio 2013Proyectos de Base de Datos con Visual Studio 2013
Proyectos de Base de Datos con Visual Studio 2013Rodolfo Finochietti
 
Visual Studio 2012
Visual Studio 2012Visual Studio 2012
Visual Studio 2012Byron Paguay
 
Programacion de aplicaciones Web con ASP.NET
Programacion de aplicaciones Web con ASP.NETProgramacion de aplicaciones Web con ASP.NET
Programacion de aplicaciones Web con ASP.NETJavier Roig
 
Pasos para crear un proyecto de visual studio 2008[1][1]
Pasos para crear un proyecto de visual studio 2008[1][1]Pasos para crear un proyecto de visual studio 2008[1][1]
Pasos para crear un proyecto de visual studio 2008[1][1]carechupona
 

En vedette (16)

Controles UpDown y ScrollBar de VB en versión Visual Studio
Controles UpDown y ScrollBar de VB en versión Visual StudioControles UpDown y ScrollBar de VB en versión Visual Studio
Controles UpDown y ScrollBar de VB en versión Visual Studio
 
Rapid Application Development con Visual Studio 2005
Rapid Application Development con Visual Studio 2005Rapid Application Development con Visual Studio 2005
Rapid Application Development con Visual Studio 2005
 
Desarrollo De Componentes , Servicios Y Aplicaciones En .Net
Desarrollo De Componentes , Servicios Y Aplicaciones En .NetDesarrollo De Componentes , Servicios Y Aplicaciones En .Net
Desarrollo De Componentes , Servicios Y Aplicaciones En .Net
 
ADO .NET
ADO .NETADO .NET
ADO .NET
 
Dce2 Introduccion Win Forms
Dce2 Introduccion Win FormsDce2 Introduccion Win Forms
Dce2 Introduccion Win Forms
 
Manual técnico del software ok
Manual técnico del software okManual técnico del software ok
Manual técnico del software ok
 
Manual de sistema ejemplo
Manual de sistema ejemploManual de sistema ejemplo
Manual de sistema ejemplo
 
Windows.forms.ejercicios
Windows.forms.ejerciciosWindows.forms.ejercicios
Windows.forms.ejercicios
 
Pasos para crear un proyecto de visual studio 2008
Pasos para crear un proyecto de visual studio 2008Pasos para crear un proyecto de visual studio 2008
Pasos para crear un proyecto de visual studio 2008
 
Programando en microsoft visual studio 2008
Programando en microsoft visual studio 2008Programando en microsoft visual studio 2008
Programando en microsoft visual studio 2008
 
Introduccion a Visual Studio .NET
Introduccion a Visual Studio .NETIntroduccion a Visual Studio .NET
Introduccion a Visual Studio .NET
 
Proyectos de Base de Datos con Visual Studio 2013
Proyectos de Base de Datos con Visual Studio 2013Proyectos de Base de Datos con Visual Studio 2013
Proyectos de Base de Datos con Visual Studio 2013
 
Visual Studio 2012
Visual Studio 2012Visual Studio 2012
Visual Studio 2012
 
Programacion de aplicaciones Web con ASP.NET
Programacion de aplicaciones Web con ASP.NETProgramacion de aplicaciones Web con ASP.NET
Programacion de aplicaciones Web con ASP.NET
 
Pasos para crear un proyecto de visual studio 2008[1][1]
Pasos para crear un proyecto de visual studio 2008[1][1]Pasos para crear un proyecto de visual studio 2008[1][1]
Pasos para crear un proyecto de visual studio 2008[1][1]
 
[Code Camp 2009] Aplicaciones de .NET en la medicina (Armando A. Meabe)
[Code Camp 2009] Aplicaciones de .NET en la medicina (Armando A. Meabe)[Code Camp 2009] Aplicaciones de .NET en la medicina (Armando A. Meabe)
[Code Camp 2009] Aplicaciones de .NET en la medicina (Armando A. Meabe)
 

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

Aplicaciones Distribuidas
Aplicaciones DistribuidasAplicaciones Distribuidas
Aplicaciones DistribuidasSorey García
 
Ejemplo arquitectura 3 capas con access
Ejemplo arquitectura 3 capas con accessEjemplo arquitectura 3 capas con access
Ejemplo arquitectura 3 capas con accessuniv of pamplona
 
3 capas
3 capas3 capas
3 capasUACH
 
Monografia top sw
Monografia top swMonografia top sw
Monografia top swjamoca25
 
Unidad 1
Unidad 1Unidad 1
Unidad 1mi casa
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 CapasFani Calle
 
210452 arquitectura-de-software-adrian-lasso
210452 arquitectura-de-software-adrian-lasso210452 arquitectura-de-software-adrian-lasso
210452 arquitectura-de-software-adrian-lassoEpmaps q
 
A charla12 arq.3-capas
A charla12 arq.3-capasA charla12 arq.3-capas
A charla12 arq.3-capashome
 
Unidad 1. Desarrollo de Aplicaciones Distribuidas
Unidad 1. Desarrollo de Aplicaciones DistribuidasUnidad 1. Desarrollo de Aplicaciones Distribuidas
Unidad 1. Desarrollo de Aplicaciones DistribuidasIsidro Lopez Riuz
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Universidad de Guadalajara
 
Programacion por capas
Programacion por capasProgramacion por capas
Programacion por capasJosue Lopez
 
Programación en capass
Programación en capassProgramación en capass
Programación en capassPatricia Reyna
 
diseño de arquitectura de un sistema de informacion
diseño de arquitectura de un sistema de informaciondiseño de arquitectura de un sistema de informacion
diseño de arquitectura de un sistema de informacionzulaymaylin
 

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

Aplicaciones Distribuidas
Aplicaciones DistribuidasAplicaciones Distribuidas
Aplicaciones Distribuidas
 
Ejemplo arquitectura 3 capas con access
Ejemplo arquitectura 3 capas con accessEjemplo arquitectura 3 capas con access
Ejemplo arquitectura 3 capas con access
 
3 capas
3 capas3 capas
3 capas
 
Monografia top sw
Monografia top swMonografia top sw
Monografia top sw
 
Fr amework
Fr ameworkFr amework
Fr amework
 
Arquitectura multicapa
Arquitectura multicapaArquitectura multicapa
Arquitectura multicapa
 
Sistema distribuido
Sistema distribuido Sistema distribuido
Sistema distribuido
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 Capas
 
Framework
FrameworkFramework
Framework
 
210452 arquitectura-de-software-adrian-lasso
210452 arquitectura-de-software-adrian-lasso210452 arquitectura-de-software-adrian-lasso
210452 arquitectura-de-software-adrian-lasso
 
A charla12 arq.3-capas
A charla12 arq.3-capasA charla12 arq.3-capas
A charla12 arq.3-capas
 
Unidad 1. Desarrollo de Aplicaciones Distribuidas
Unidad 1. Desarrollo de Aplicaciones DistribuidasUnidad 1. Desarrollo de Aplicaciones Distribuidas
Unidad 1. Desarrollo de Aplicaciones Distribuidas
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
 
Framework
FrameworkFramework
Framework
 
Programacion por capas
Programacion por capasProgramacion por capas
Programacion por capas
 
Programación en capass
Programación en capassProgramación en capass
Programación en capass
 
Presentacion
PresentacionPresentacion
Presentacion
 
diseño de arquitectura de un sistema de informacion
diseño de arquitectura de un sistema de informaciondiseño de arquitectura de un sistema de informacion
diseño de arquitectura de un sistema de informacion
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 

Plus de Avanet

Azure en entornos empresariales
Azure en entornos empresarialesAzure en entornos empresariales
Azure en entornos empresarialesAvanet
 
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .net
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .netDesarrollo de aplicaciones móviles (ios,android,windows phone) con .net
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .netAvanet
 
Flujos de trabajo en servidores virtuales de Azure Implementando Process Maker
Flujos de trabajo en servidores virtuales de Azure Implementando Process MakerFlujos de trabajo en servidores virtuales de Azure Implementando Process Maker
Flujos de trabajo en servidores virtuales de Azure Implementando Process MakerAvanet
 
Uso de html5 + webcomponents
Uso de html5 + webcomponentsUso de html5 + webcomponents
Uso de html5 + webcomponentsAvanet
 
Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2Avanet
 
Intro a HTML5 Apps con Windows 8.1
Intro a HTML5 Apps con Windows 8.1Intro a HTML5 Apps con Windows 8.1
Intro a HTML5 Apps con Windows 8.1Avanet
 
Hardening De Servidores GNU/Linux
Hardening De Servidores GNU/LinuxHardening De Servidores GNU/Linux
Hardening De Servidores GNU/LinuxAvanet
 
Desarrollo de aplicaciones Django con Python 2.0 en Azure
Desarrollo de aplicaciones Django con Python 2.0 en AzureDesarrollo de aplicaciones Django con Python 2.0 en Azure
Desarrollo de aplicaciones Django con Python 2.0 en AzureAvanet
 
Microsoft Azure.- IAAS
Microsoft Azure.- IAASMicrosoft Azure.- IAAS
Microsoft Azure.- IAASAvanet
 
Enseñar a programar a los más chicos
Enseñar a programar a los más chicosEnseñar a programar a los más chicos
Enseñar a programar a los más chicosAvanet
 
Desarrollo de aplicaciones PHP con Azure
Desarrollo de aplicaciones PHP con AzureDesarrollo de aplicaciones PHP con Azure
Desarrollo de aplicaciones PHP con AzureAvanet
 
Introducción a Google Dart + HTML5
Introducción a Google Dart + HTML5Introducción a Google Dart + HTML5
Introducción a Google Dart + HTML5Avanet
 
Pair Programming - Discute con tu compañero, no con tu teclado
Pair Programming - Discute con tu compañero, no con tu tecladoPair Programming - Discute con tu compañero, no con tu teclado
Pair Programming - Discute con tu compañero, no con tu tecladoAvanet
 
Introducción a la Programación Web con Django
Introducción a la Programación Web con DjangoIntroducción a la Programación Web con Django
Introducción a la Programación Web con DjangoAvanet
 
Html5.- Desarrollo y Buenas Prácticas con JavaScript
Html5.- Desarrollo y Buenas Prácticas con JavaScriptHtml5.- Desarrollo y Buenas Prácticas con JavaScript
Html5.- Desarrollo y Buenas Prácticas con JavaScriptAvanet
 
Webmatrix.- Web Apps con Kendo UI
Webmatrix.- Web Apps con Kendo UIWebmatrix.- Web Apps con Kendo UI
Webmatrix.- Web Apps con Kendo UIAvanet
 
Los errores más comunes de los programadores novatos
Los errores más comunes de los programadores novatosLos errores más comunes de los programadores novatos
Los errores más comunes de los programadores novatosAvanet
 
Preprocesadores CSS con LessCSS
Preprocesadores CSS con LessCSSPreprocesadores CSS con LessCSS
Preprocesadores CSS con LessCSSAvanet
 
Responsive Design
Responsive DesignResponsive Design
Responsive DesignAvanet
 
Ruby desde cero
Ruby desde ceroRuby desde cero
Ruby desde ceroAvanet
 

Plus de Avanet (20)

Azure en entornos empresariales
Azure en entornos empresarialesAzure en entornos empresariales
Azure en entornos empresariales
 
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .net
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .netDesarrollo de aplicaciones móviles (ios,android,windows phone) con .net
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .net
 
Flujos de trabajo en servidores virtuales de Azure Implementando Process Maker
Flujos de trabajo en servidores virtuales de Azure Implementando Process MakerFlujos de trabajo en servidores virtuales de Azure Implementando Process Maker
Flujos de trabajo en servidores virtuales de Azure Implementando Process Maker
 
Uso de html5 + webcomponents
Uso de html5 + webcomponentsUso de html5 + webcomponents
Uso de html5 + webcomponents
 
Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2
 
Intro a HTML5 Apps con Windows 8.1
Intro a HTML5 Apps con Windows 8.1Intro a HTML5 Apps con Windows 8.1
Intro a HTML5 Apps con Windows 8.1
 
Hardening De Servidores GNU/Linux
Hardening De Servidores GNU/LinuxHardening De Servidores GNU/Linux
Hardening De Servidores GNU/Linux
 
Desarrollo de aplicaciones Django con Python 2.0 en Azure
Desarrollo de aplicaciones Django con Python 2.0 en AzureDesarrollo de aplicaciones Django con Python 2.0 en Azure
Desarrollo de aplicaciones Django con Python 2.0 en Azure
 
Microsoft Azure.- IAAS
Microsoft Azure.- IAASMicrosoft Azure.- IAAS
Microsoft Azure.- IAAS
 
Enseñar a programar a los más chicos
Enseñar a programar a los más chicosEnseñar a programar a los más chicos
Enseñar a programar a los más chicos
 
Desarrollo de aplicaciones PHP con Azure
Desarrollo de aplicaciones PHP con AzureDesarrollo de aplicaciones PHP con Azure
Desarrollo de aplicaciones PHP con Azure
 
Introducción a Google Dart + HTML5
Introducción a Google Dart + HTML5Introducción a Google Dart + HTML5
Introducción a Google Dart + HTML5
 
Pair Programming - Discute con tu compañero, no con tu teclado
Pair Programming - Discute con tu compañero, no con tu tecladoPair Programming - Discute con tu compañero, no con tu teclado
Pair Programming - Discute con tu compañero, no con tu teclado
 
Introducción a la Programación Web con Django
Introducción a la Programación Web con DjangoIntroducción a la Programación Web con Django
Introducción a la Programación Web con Django
 
Html5.- Desarrollo y Buenas Prácticas con JavaScript
Html5.- Desarrollo y Buenas Prácticas con JavaScriptHtml5.- Desarrollo y Buenas Prácticas con JavaScript
Html5.- Desarrollo y Buenas Prácticas con JavaScript
 
Webmatrix.- Web Apps con Kendo UI
Webmatrix.- Web Apps con Kendo UIWebmatrix.- Web Apps con Kendo UI
Webmatrix.- Web Apps con Kendo UI
 
Los errores más comunes de los programadores novatos
Los errores más comunes de los programadores novatosLos errores más comunes de los programadores novatos
Los errores más comunes de los programadores novatos
 
Preprocesadores CSS con LessCSS
Preprocesadores CSS con LessCSSPreprocesadores CSS con LessCSS
Preprocesadores CSS con LessCSS
 
Responsive Design
Responsive DesignResponsive Design
Responsive Design
 
Ruby desde cero
Ruby desde ceroRuby desde cero
Ruby desde cero
 

Dernier

PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2Eliseo Delgado
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdflizcortes48
 
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FEl PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FJulio Lozano
 
BOCA Y NARIZ (2).pdf....................
BOCA Y NARIZ (2).pdf....................BOCA Y NARIZ (2).pdf....................
BOCA Y NARIZ (2).pdf....................ScarletMedina4
 
Actividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 EducacionActividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 Educacionviviantorres91
 
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).hebegris04
 
LOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejorLOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejormrcrmnrojasgarcia
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxRosabel UA
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.monthuerta17
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxFabianValenciaJabo
 
historieta materia de ecologías producto
historieta materia de ecologías productohistorieta materia de ecologías producto
historieta materia de ecologías productommartinezmarquez30
 
PRIMER GRADO SOY LECTOR PART1- MD EDUCATIVO.pdf
PRIMER GRADO SOY LECTOR PART1- MD  EDUCATIVO.pdfPRIMER GRADO SOY LECTOR PART1- MD  EDUCATIVO.pdf
PRIMER GRADO SOY LECTOR PART1- MD EDUCATIVO.pdfGabrieldeJesusLopezG
 
HISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAHISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAJesus Gonzalez Losada
 
BITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdf
BITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdfBITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdf
BITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdfsolidalilaalvaradoro
 
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxTALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxMartaChaparro1
 
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docxMagalyDacostaPea
 
Acuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdfAcuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdfmiriamguevara21
 

Dernier (20)

PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdf
 
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FEl PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
 
BOCA Y NARIZ (2).pdf....................
BOCA Y NARIZ (2).pdf....................BOCA Y NARIZ (2).pdf....................
BOCA Y NARIZ (2).pdf....................
 
Unidad 2 | Teorías de la Comunicación | MCDIU
Unidad 2 | Teorías de la Comunicación | MCDIUUnidad 2 | Teorías de la Comunicación | MCDIU
Unidad 2 | Teorías de la Comunicación | MCDIU
 
Acuerdo segundo periodo - Grado Sexto.pptx
Acuerdo segundo periodo - Grado Sexto.pptxAcuerdo segundo periodo - Grado Sexto.pptx
Acuerdo segundo periodo - Grado Sexto.pptx
 
Actividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 EducacionActividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 Educacion
 
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
 
LOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejorLOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejor
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptx
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
 
historieta materia de ecologías producto
historieta materia de ecologías productohistorieta materia de ecologías producto
historieta materia de ecologías producto
 
PRIMER GRADO SOY LECTOR PART1- MD EDUCATIVO.pdf
PRIMER GRADO SOY LECTOR PART1- MD  EDUCATIVO.pdfPRIMER GRADO SOY LECTOR PART1- MD  EDUCATIVO.pdf
PRIMER GRADO SOY LECTOR PART1- MD EDUCATIVO.pdf
 
HISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAHISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICA
 
BITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdf
BITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdfBITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdf
BITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdf
 
¿Amor o egoísmo? Esa es la cuestión.pptx
¿Amor o egoísmo? Esa es la cuestión.pptx¿Amor o egoísmo? Esa es la cuestión.pptx
¿Amor o egoísmo? Esa es la cuestión.pptx
 
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxTALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
 
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
 
Acuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdfAcuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdf
 

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

  • 1. TALLERDesarrollo de Aplicaciones Profesionales con Tecnologías .NET
  • 3. AGENDA Sesión 2 (Junio 30 10:00 A.M. a 12:00.M.) Introducción a los conceptos Aplicaciones Distribuidas TALLER: Construyendo aplicación profesional Presentación (Winforms, ASP.NET, C#.NET) Servicios Web (ASP.NET, C#.NET) Lógica de Negocio (C#.NET) Acceso a Datos (C#.NET, LINQ, SQL Server 2008)
  • 4. ¿Qué es una aplicación distribuida?
  • 5. Es una aplicación con distintos componentesque se ejecutan en entornos separados, normalmente en diferentes plataformas conectadas a través de una red Wikipedia
  • 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?
  • 7. Algunos Conceptos… Protocolos Cliente/Servidor Capas Despliegue Webservices UML Servicios Objetos Interfaces Niveles Comunicación Interoperabilidad Arquitectura Lógica de Negocio Acceso a Datos Interfaz de Usuario Paquetes Componentes
  • 8. Vamos por partes…¿A qué se refiere la distribución? 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.
  • 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.
  • 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
  • 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)
  • 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.
  • 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.”
  • 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 … como? No hay problema, lo iremos entendiendo, de eso se trata…
  • 15. ¿Qué es un componente? 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.
  • 16. Cada componente de un sistema puede verse como un paqueteo módulo 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.
  • 17. En este punto visualizamos varios conceptos que podemos presentar de la siguiente forma… Aplicación Niveles Capas Componentes Paquetes Clases Otros Recursos Sub paquetes
  • 18. Ahora bien… 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
  • 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
  • 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.
  • 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.
  • 22. Así nos encontramos con componentes de diferentes tipos Ejecutables, Páginas Web, Librerías, Controles, Procedimientos Almacenados, Servicios Web…
  • 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
  • 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.
  • 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. 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.
  • 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.
  • 27. ¡ATENCIÓN! 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.
  • 28. Ahora, para hacer un trabajo bien hecho, hay que reconocer que las consideraciones asociadas al desarrollo por capas…
  • 29. ¿Que consideraciones deberíamos tener en cuenta cuando pensamos en la Capa de Presentación?
  • 30. ¿Y las consideraciones de la Capa de Lógica de Negocios?
  • 31. ¿Y las consideraciones de la Capa de Acceso a Datos?
  • 32. Bueno y si ya están separadas las 3 capas principales, ¿Qué es entonces una de aplicación de N capas?
  • 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.
  • 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.
  • 35. Usuarios Auditoria y Control de Excepciones Seguridad Comunicación Componentes de Interfaz de Usuario Componentes de Proceso de Interfaz de Usuario Interfaces de Servicio Flujos de Negocio Componentes de negocio Entidades de Negocio ComponentesAccesoDatos Agentes de Servicio ServiciosExternos Orígenes de Datos UnapropuestaMicrosoft Patterns & Practices
  • 36. ¿Qué arquitectura tendrá nuestro ejemplo de Campus Party?
  • 37. @soreygarcia @mteheran @dramirez2009 @khriztianmoreno @jodageeks @andreslon @pavelespitia @dxp2 @hernandgr (virtual) @magicovercast (virtual) @elianaca (virtual) ACOMPAÑAMIENTO