Está en la página 1de 9

Arquitectura Para Crear

Soluciones Conectadas
Architects Council Meeting

Contexto De Trabajo
La complejidad actual de los sistemas requiere el desarrollo de
soluciones de software basadas en marcos de trabajo (frameworks)
frameworks)
y patrones de dise
diseo (design patterns)
patterns) empresariales que aseguren
altos niveles de interoperabilidad entre sus componentes actuales
actuales y
futuros a trav
travs de redes heterog
heterogneas y distribu
distribudas.
das.

Arquitectura Orientada a Servicios (SOA)


Uso de est
estndares de Internet como XML, HTTP, SOAP, etc. para
construir la infraestructura de comunicaci
comunicacin sobre la cual basar el
desarrollo de una Arquitectura de Software "ServiceService-Oriented"
Oriented".

Ing.
Ing. Alejandro Gozalves
http://alegozalves.blogspot.com
http://alegozalves.blogspot.com
Technical Advisor
Development & Platform Group
Microsoft Cono Sur
MVP Solutions Architect

XML Web Services


Situaci
Situacin actual y futura de XML Web Services y la necesidad
imperiosa de las empresas por integrar aplicaciones legadas con las
nuevas plataformas de desarrollo para brindar nuevos y flexibles
servicios a sus empleados, socios y clientes.

Agenda

Conceptos, Definiciones
Situaci
Situacin Actual
Pr
Prcticas y Metodolog
Metodologas
Arquitecturas Orientadas a Servicios
Web Services, Su Futuro
Conlusiones

Conceptos
Arquitectura de Software
Arquitecto de Software

Arquitectura de Software

Arquitectura de Software

Definici
Definicin

Otras definiciones

Es el concepto de ms alto nivel de un


sistema en su ambiente
ambiente (IEEE Architecture Working Group).
Distinto de dise
diseo e implementaci
implementacin
Sit
Sita al sistema en su entorno
El sistema se ve influenciado por el mismo

AS = {Elementos, Forma, Restricciones} (Perry)


Perry)
(qu
(c
(porqu
(qu)
(cmo)
(porqu)
La arquitectura de software se ocupa: (Kruchten)
Kruchten)
Del dise
diseo e implementaci
implementacin de la estructura
de m
ms alto nivel del sistema.
Abstracci
Abstraccin, descomposici
descomposicin, composici
composicin y estilo
estilo.

Microsoft Confidential
2001 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Arquitectura de Software

Arquitectura De Software:
Un Ejemplo

Otra definici
definicin
La arquitectura de un programa o sistema de
computaci
computacin es la estructura o estructuras del sistema,
que comprenden sus componentes de software, las
propiedades externas de los componentes,
componentes, y la
relaci
relacin entre ellos
ellos. (Kazmann)
Ms de una estructura, m
ms de un punto de vista
Informaci
Informacin sobre los componentes y como interact
interactan
entre ellos y con su entorno

Arquitecto de Software
Cu
Cul es su Rol?

Lder de Desarrollo
Quien toma las
decisiones m
ms importantes
Quien organiza el
trabajo del equipo

Est
Est al tanto de todo el
proyecto
Foco en los Riesgos
Busca la colaboraci
colaboracin del
equipo coordina la toma de
decisiones
Programa con un
programador en la ma
maana,
participa en una reuni
reunin de
requerimientos al medio d
da
y gestiona costos con el
gerente de proyecto por la
tarde
tarde M. Fowler
Es un Gu
Gua

Situacin Actual
Vista Arquitect
Arquitectnica

Situacin Actual
Vista Arquitect
Arquitectnica
Heterogeneidad
Interoperabilidad
Mantenibilidad
Reusabilidad
Distribuci
Distribucin
Disponibilidad

Prcticas y Metodologas
Patrones
Pr
Prcticas
Metodolog
Metodologas

Seguridad

Microsoft Confidential
2001 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Prcticas y Metodologas

Orientaci
Orientacin a Objetos

Patrones de Dise
Diseo
(Design Patterns)
Patterns)

Metodolog
Metodologas giles
(Scrum,
Scrum, XP, ASD, MSFa)
MSFa)

Frameworks

Modelado (UML)

Arquitecturas Orientadas a
Servicios (SOA)

Patrones y
Estilos de Arquitectura

Un Modelo Arquitect
Arquitectnico

Refactoring

Service Oriented Architecture


Servicios que exponen interfaces definidas
y basadas en est
estndares
ndares

Servicios vs. Componentes

Promueve el reuso de componentes y servicios


Prov
Prove una forma clara de integrar sistemas

Funci
Funcin Componente Servicio

Los servicios incluyen mensajes,


mensajes,
componentes y datos

Los datos privados son encapsulados


por el servicio
La nica va de entrar y salir del servicio
es a trav
travs de mensajes

Mensaje

Aplicacin

canal

Componentes

Estado

Funciones

Servicios distribuidos vs.


Objetos distribuidos
Arquitectura
a servicios
Solucin de orientada
objetos distribuidos

Sus
socios

Usted
Lenguaje de
programacin
Base de datos

Sistema
Operativo

Modelo de
objetos
Servidor de
Aplicaciones

Datos
Privados

Servicio

Servicios
Lgica

Servicio

La evoluci
evolucin ha sido natural

Lenguaje de
programacin

Contratos Base de datos


Modelo de
Objetos
Mensajes
Sistema
Operativo

Los servicios permiten


relaciones desacopladas.

Service Oriented Architecture


Conceptos clave:

Mensajer
Mensajera
Interfaces
Desacoplamiento entre componentes
Procesos independientes
Distintos posibles canales (medios)

Servidor de
aplicaciones

Microsoft Confidential
2001 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Service Oriented Architecture

Service Oriented Architecture

Encapsulamiento de los Datos

El Servicio Encapsula sus Datos

Los Mensajes comprenden:

Es una Arquitectura que describe c


cmo
sistemas aut
autnomos interoperan con foco en:

La nica forma de acceder a los datos es v


va mensajes
Operation Requests

Ejecutando funciones de negocio


Operation Responses

Creando respuestas
Processed Data

Dise
Diseadas para proveer informaci
informacin al exterior

Los datos permanecen


completamente encapsulados
dentro del Servicio

Comunicaci
Comunicacin asincr
asincrnica
Canales de transporte heterog
heterogneos
Prueba de Identidad
Manejo de Errores
Coordinaci
Coordinacin de Flujo de Operaciones (Workflow
(Workflow
Coordination)
Coordination) Roger Sessions

Datos

SQL

XML Web Services


Web
Service

XM
L

Un medio para implementar SOA

Web
Service
Site

XML

ML
HT

Client

Web
Service

L
XM

XML

XML Web Services

XML

Web
Service
BuildingBuilding-Block
Services
Services

Client
XML

Web Services

XML Web Services:

WWW

XML Web Services

Nuevas oportunidades para innovar


Web
Services

Web
ClientClientServer
Mainframe,
Mini

Protocolos y estndares
HTTP, SOAP, XML,
WSDL, UDDI, DISCO
Distribucin de servicios
Nuevo modelo de negocio
Independiente del Lenguaje

Conecta
Personas
con
Informacin

Conecta
Aplicaciones

Microsoft Confidential
2001 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Tecnologa de Web Service


XML Web
service

Protocolos
Abiertos de
Internet

Web Services En Ejecuci


Ejecucin
Encontrar un Servicio
http://www.uddi.org
http://www.uddi.org

UDDI

Link a documento DISCO o WSDL

UDDI

UDDI Directorio de Servicios

Universal Description,
Discovery and Integration

WSDL Descripci
Descripcin del Web Service;
Service;
firma
firma del Web Service

SOAP Mensajes XML que representan


invocaci
invocacin, par
parmetros y respuestas

WSDL
XML Web Services
Description Language

Cliente
de
XML
Web
service

Discovery
http://tuservicio.com
http://tuservicio.com
HTML o XML con link a WSDL

Web
Service

Cmo hablamos?
hablamos? (WSDL)
http://tuservicio.com
/?WSDL
http://tuservicio.com/?WSDL
XML con descripciones de servicio

Hablemos (SOAP)

SOAP

http://tuservicio.com/svc1

Simple Object Access Protocol

XML/SOAP BODY

Basado en est
estndares de Internet

XML y HTTP

Security with Web Services

DesignDesign-Time o Dynamic

Runtime

Arquitectura de Web Services

HTTP y Firewalls
Servicio

DCOM
Service

Port 80

http

Web
Service

Cliente

Servicio
Directorio

Servicio

Servicio

RMI
Service

Servicio
Aplicaci
Aplicacin

Firewall

Web Services y SOA

Web Services en la Actualidad

Web Services

Google

Sistemas de
transacciones financieras

Sistemas B2B

Mensajes SOAP
Interfaces descritas en WSDL
Aplicaciones independientes
conectadas v
va Web Services

Servicios de Traducci
Traduccin

Servicios
SOAP
Aplicacin

Lgica
Estado

Amazon

Etc,
Etc, etc,
etc, etc
etc

Aplicaciones .NET
interoperando
con aplicaciones J2EE

http

Microsoft Confidential
2001 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Evolucin

Web Services

La Fuerza del Reuso

Un Caso de Estudio

Aplicaci
Aplicacin .NET
SAP

Alto

Reuso de
Software
Bajo

Medio
Bajo

Interoperabilidad
http://www.WShttp://www.WS-i.org

Un esfuerzo de la industria

Objetivo: Habilitar la interoperabilidad entre


plataformas, aplicaciones, y lenguajes de
programacin
Basado en sociedades

Iniciativa de la industria enfocada en promover la


interoperabilidad de Web Services, formada por los
lderes.
Participacin y membresa abiertas (160 +)

Relacin simbitica con otras organizaciones de


estndares a travs de la integracin de sus
entregables
El xito va a acelerar la adopcin e implementacin de
Web Services

Evidencia de la alineacin de la industria


alrededor de los web services

33

Patrones de Diseo
Una innovaci
innovacin en tecnolog
tecnologa deriva,
deriva, la
mayor
mayora de las veces,
veces, en otro campo distinto

Patrones de Diseo
Patterns & Practices

Tecnolog
Tecnologa Radar - horno microondas
Comunicaci
Comunicacin Militar - Internet

Los patrones nacieron aplicados a


edificios y a urbanismo (Christopher Alexander)
Para software existen decenas de patrones
asociados a distintas tareas

Microsoft Confidential
2001 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Patrones de Diseo

Patrones de Diseo

Desaf
Desafos

Identificar relaciones entre patrones


Agrupar patrones en clusters
Identificar patrones por niveles de abstracci
abstraccin
Aplicar patrones a multipes aspectos de la
soluci
solucin
Organizar patrones en un marco
Usar los patrones para describir soluciones de
forma concisa

Todos los patrones


disponibles
Sin clasificaci
clasificacin
Generalmente
constituido por
millones de clases

Patrones de Diseo

Patrones de Diseo

Una l
lnea entre pares
de patrones que
comparten alguna
relaci
relacin
Se identifican patrones
cercanos

Se agrupan patrones
espec
especficos a un tema
Permite examinar el
conjunto de patrones
juntos

Por d
dnde comienzo?

Distintos tipos de
patrones

Distintos puntos de
vista
Seg
Segn Rol

Patrones de Diseo

Patrones de Diseo

Distintos puntos
de vista
Hol
Holsticamente :

Niveles de Abstracci
Abstraccin
Categorizado por
grupos de usuario

Pero, no todos son


componentes

Software personalizado
Plataforma
Infraestructura (SW)
Implementaci
Implementacin (HW)

Microsoft Confidential
2001 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Patrones de Diseo

Patrones de Diseo

Todos los patrones


disponibles
Clasificados en
un marco de
referencia

Data Types

Operational
Informational
Knowledge
Metadata

Preguntas?
Conclusiones
Contacto:
Alejandro Gozalves
v-alegoz@microsoft.com
http://
alegozalves.blogspot.com
http://alegozalves.blogspot.com

Referencias

Referencias

Arquitectura

.NET

msdn.microsoft.com/
msdn.microsoft.com/practices
msdn.microsoft.com/
msdn.microsoft.com/websevices
www.wswww.ws-i.org
www.martinfowler.com
www.thearchitectjournal.com
www.xprogramming.com
www.controlchaos.com
www.microsoft.com/
www.microsoft.com/msf

msdn.microsoft.com
www.microsoft.com/net
www.microsoft.com/net
msdn.microsoft.com/
msdn.microsoft.com/vstudio
www.gotdotnet.com
www.asp.net
groups.msn.com/
groups.msn.com/devBolivia

Microsoft Confidential
2001 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Microsoft Confidential
2001 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.