Академический Документы
Профессиональный Документы
Культура Документы
Servicios (SOA)
Diego Gonzlez - CTO
diegog@lagash.com
Hernn de Lahitte - arquitecto
Hernn@lagash.com
Agenda
Orgenes de SOA
Principios fundamentales
Diseo de aplicaciones
Implementaciones
Tecnologas
Frameworks
Proyectos
Orgenes de SOA
Arquitectura de aplicaciones
distribuidas
Cliente-Servidor
Separacin del origen de datos
Orgenes de SOA
Integracin de aplicaciones
Reutilizacin limitada de funcionalidad
Distintas plataformas
Distintos lenguajes
Orgenes de SOA
Requerimientos no funcionales que
aplican a toda la organizacin
Administracin
Monitoreo
Seguridad
Metadatos
Orgenes de SOA
Objetos distribuidos
Han demostrado necesitar mucho ms
desarrollo terico
Tiempo de vida
Circulacin de referencias
Diversidad de tecnologas
Estndares muy dependientes de la
plataforma
Dificultad para acordar alcances
Quien se encarga de
Seguridad
Transacciones
Orientacin a servicios
Centrado en el concepto de servicio
Las aplicaciones exponen y consumen
servicios
Un servicio es
Unidad atmica de funcionalidad
reutilizable
Definen claramente su interfaz
Requerimientos no funcionales son
independientes de la plataforma
Servicios autnomos
Autocontenidos e independientes de
otros servicios
No leyes de SOA
Invocacin puede ser sincrnica o
asincrnica
Interaccin orientada a mensajes
Transparencia de ubicacin de
servicios
Catlogo de servicios
Modelo de Dominio/Tabla
Una interfaz por delante del modelo
de dominio.
Producto
Aplicacin
Facturar
Cliente
Obtener
Facturaci
n
ItemFactura
Factura
Ventajas
Fuerte separacin entre capas o
loosely coupled applications
Separacin tecnolgica
Declaracin de los requerimientos no
funcionales
Administracin unificada
Con una nica herramienta que
administra servicios
Transparencia de locacin
Reusabilidad simplificada
Ventajas
Exposicin de servicios granatizados
En lugar de exponer clases o interfaces
que pueden ser mal usadas
Agregacin de servicios
Un servicio puede agregar a otros
servicios para garantizar atomicidad
Requerimientos
Definicin de servicios independientemente de la
implementacin, ubicacin o uso
Implementacin y provisin de servicios como
proveedor
Localizacin y uso de servicios como consumidor
Composicin de servicios a partir de otros
servicios y relglas de negocio
Servicios internos y externos
Diseo de aplicaciones
SOA
Identificacin de servicios
Identificar los procesos a partir de los
casos de uso
Definir los servicios que se utilizan
durante los procesos detectados
Determinar una jerarqua de servicios en
funcin de la reusabilidad interna y
externa
Crear servicios externos que componen
servicios internos
Diseo de aplicaciones
SOA
Categorizacin de servicios
Una
Process
Activity
Entity
Infraestructure
Categorizacin de servicios
Clientes o agentes
Datos
ComponentePartner
Legacy
Infrastructure Servi
Process
Services
Activity
Services
Entity
Services
Diseo de aplicaciones
SOA
Diseo de los mensajes
Una vez definidos los servicios ajustar los
mensajes utilizados
Migrando aplicaciones a
SOA
Considerar una arquitectura con
concepto de servicios
Migrando componentes
COM
.Net
Migrando ASP.NET
WebServices
WebApplications
Silos de Aplicaciones
Acoplamiento Fuerte
Orientacin a
Objetos
Implementacin
Conocida
Hacia
Orientacin a
Procesos
Creada para el cambio
Desarrollo e
implantacin
incremental y en
paralelo
Soluciones
Orquestadas
Acoplamiento Dbil
Orientacin a
Mensajes
Abstraccin
Ciclo de vida de
aplicaciones
Como se llega a SOA
Integracin de aplicaciones
Nueva aplicacin con nueva arquitectura
Nueva interfaz para una aplicacin
existente
Mantenimiento de aplicaciones
Las aplicaciones cambian
Exponer servicios evita mal uso de las
clases
Constante reutilizacin de servicios
Implementacin
Frameworks
ASMX
Formato nativo .Net para exposicin de
WebServices
Totalmente integrado con Visual Studio .NET
Soporta nicamente HTTP (IIS + ASP.NET)
WSE
Permite crear servicios o clases proxy a
servicios remotos
Fcilmente extensible e interceptable
No asume protocolo HTTP
Implementacin
Productos
BizTalk
Si bien est ms orientado a la integracin de
aplicaciones
Es un hub de mensajes extensible
Frameworks
EDRA
MBI
FABRIQ
Que es EDRA
(Shadowfax)?
Es una Gua de Arquitectura para
estandarizar el desarrollo de sistemas
distribuidos
Es un Framework de Aplicaciones
Extensible el cual incorpora recursos
de la plataforma; ASP.NET-WS, MSMQ,
Enterprise Services, Remoting, WSE
Es una Implementacin de Referencia
que usa el Framework en un modelo
bancario
Es una iniciativa (PAG) apoyada en un
Que es MBI?
MBI es un framework para crear, ejecutar
y mantener aplicaciones corporativas
basadas en plataforma Microsoft.NET
Resuelve escenarios recurrentes de una empresa
corporativa
Es una arquitectura de referencia para la
construccin de aplicaciones
Incorpora mejores prcticas de Microsoft
Corporation
Arquitectura de integracin comn a todos los
Portfolios de Soluciones
Reduccin de costos de desarrollo y
mantenimiento
Que es FABRIQ?
Q.NET + EntServices + WSE + SOA + HPC + Agent
Arquitectura para el desarrollo de aplicaciones SOA en .Net
de alta performance soportado sobre un modelo de redes de
colas distribuidas interconectadas .
Una aplicacin que utiliza las mejores prcticas de WSE 2.0
Un frmework agil para la implementacin de agentes
Para
Permitir la adopcin de modelos asincrnicos de computacin a
la comunidad de desarrolladores y arquitectos.
Mejorar el camino hacia Indigo para la comunidad .Net.
Desarrollado por
Arvindra Sehmi, MS EMEA, DPE Project Lead
Clemens Vasters, newtelligence AG Architect Lead
Eugenio Pace, MS Argentina, MCS Development Lead
Mas informacin
SOA
http://msdn.microsoft.com/architecture
http://msdn.microsoft.com/practices
http://msdn.microsoft.com/webservices
EDRA (Shadowfax)
http://workspaces.gotdotnet.com/shadowfx
http://channel9.msdn.com/wiki/default.aspx/Ch
annel9.ShadowfaxWiki
MBI 3.0
http://www.gotdotnet.com/Community/Workspa
ces/workspace.aspx?id=49485933-6169-4571987f-7865087b09c6
Mas informacin
http://msdn.microsoft.com/architectur
e
http://msdn.microsoft.com/practices
http://msdn.microsoft.com/webservice
s