Вы находитесь на странице: 1из 32

Arquitectura Orientada a

Servicios
Lucano Fausto
Criollo Byron
Agenda
Introduccin- Estilos Peer-to-Peer & SOA

SOA: una nueva piedra angular en el desarrollo de software

Caso Prctico

Conclusiones
La Arquitectura p2p (peer to peer) es a grandes rasgos una red entre iguales, redes entre pares o redes punto a punto, es
decir se elimina la necesidad de unServidor

Definicin: es una red de ordenadores en la que todos o algunos aspectos funcionan sin clientes ni servidores fijos, sino
una serie de nodos que se comportan como iguales entre s.
Distribucin de
Robustez Seguridad
costes

Escalabilidad Descentralizacin Anonimato

Entre ms nodos estn por definicin son En general este tipo de


conectados a una red P2P descentralizadas y todos los redes quedan en annimo
mejor ser su funcionamiento nodos son iguales el autor de un contenido, el
editor, el lector, el servidor

Encontrar la informacin Los costos estn repartidos slo permitir acceso a los
sin hacer peticiones a entre los usuarios. Se conocidos. comunicaciones
ningn servidor comparten o donan recursos seguras con proteccin de
centralizado a cambio de recursos los recursos de la red
Es importante analizar el trafico peer-to-peer de comparticin de archivos puesto que pueden jugar un papel muy
importante en el trfico futuro de Internet.
Igual-a-igual, par-a-par, todos los nodos
son clientes y servidores
simultneamente.
Localizacin de otros peers
Todos los nodos son funcionalmente
iguales.
Bsqueda de ficheros.
Popularidad de aplicaciones de
Falta de disponibilidad continua de todos los
intercambio de ficheros basadas en
peers
P2P, superando incluso al trfico
generado por la web
Descarga fragmentada y en paralelo.
Alta escalabilidad: la informacin se
Propiedad intelectual, derechos de copyright
intercambia directamente entre los
y privacidad.
usuarios finales sin pasar por un
servidor intermedio. Se dispone de los
recursos (ancho de banda,
almacenamiento y CPU) de miles de
nodos.
Software Hoy en Da

Mito: Los
programadores de
ahora ya no programan
como los de antes.

Herramientas ms
fciles y productivas
El software es cada da
ms complejo
Solucin

SOA
Servicio Servicio Servicio

Bus

Servicio Servicio Servicio


Arquitectura del Sistema

Desde el Punto de Vista del Usuario


Arquitectura de una Casa

Planta Alta Planta Baja


Desde el Punto de Vista del Constructor
Arquitectura de Software
1970s 1980s Mediados1990s
Antes 1950s mediados mediados Comienzo Finales Hoy
hasta 1960s 1980s 1990s 2000s 1990s

Subrutinas
Invocacin de Procesamient Servicios
Arquitecturas /Llamadas a
Objetos o de Web
Monolticas Procedimient (SOA)
Remotos Mensajes
os Remotos

Mayor Flexibilidad

Lnea del Tiempo del Desarrollo de Arquitecturas


Motivacin

Casas
Proyecto de PyMES
ARQUITECTURAS SIMPLES
Rentable $

Edificios
Grandes Corporativos
ARQUITECTURAS COMPLEJAS
Casas de Perros Mucho $$$$
Proyectos Escolares
SIN ARQUITECTURA
Poco $

Desarrollo de Software en la Academia


Arquitecturas Empresariales Hoy
Accounting Marketing

Product Development Support


Integracin Aos ms Tarde
Accounting Marketing

Agilidad

SOA

Servicios
Enterprise Service Bus Web
Product Development Support

Middleware
ESB
Agenda

Introduccin- Estilos Peer-to-Peer & SOA

SOA: una nueva piedra fundamental en el desarrollo de software

Caso Prctico

Conclusiones
Qu es SOA?
Conjunto de componentes que pueden ser invocados,
cuyas descripciones de interfaces se pueden publicar y
descubrir

SOA es un estilo de arquitectura que promueve


descomponer la lgica funcional de una aplicacin en
unidades autnomas denominadas servicios

De acuerdo al W3C
Qu es SOA?

CLIENTES GRUPO EJECUTIVO

PORTAL
BAM
Proceso: Gestin
solicitud crdito
BPM
Dashboard,
KPI (Key Performance Indicator)

Crear
SERVICIOS
Realizar Validar Crear Desembolsar
cliente Anlisis Riesgo Crdito crdito
crediticio

CRM Crdito Riesgo Core Bancario

EIS

EMPLEADOS
Arquitectura de Servicios Web

Publicacin
1
del Servicio Proveedor del
Servicio
WSDL

3 4
Directorio de
Servicios UDDI Definicin Invocacin y
del Servicio respuesta
SOAP
Consumidor el
2
Descubrimiento Servicio
del Servicio
Caractersticas de SOA
Sin SOA Con SOA
Orientado a Funcin Orientado a Procesos
Construido para Durar Construido para Cambiar

Ciclo de Desarrollos Ciclos de Desarrollo


Largos Incrementales
Aplicaciones Aisladas Aplicaciones Orquestadas

Fuerte Acoplamiento Bajo Acoplamiento


Orientada a Objetos Orientado a Mensajes
Beneficios SOA

Eficiencia/Reduccin de costos Capacidad de respuesta

Adaptabilidad Reduce la complejidad

Reutiliza los servicios


Funcionamiento de la Arquitectura
Distribucin Plantea aplicaciones distribuidas,
multi-nivel

Evolucin Permite que cada Servicio evolucione


independientemente

Desarrollo Desarrolla procesos de negocio como


Servicios

Definicin
Define las necesidades del negocio
Reduce el nivel de acoplamiento.
Clara definicin de roles de desarrollo.
Definicin de seguridad ms clara.
Fcil testeo.
Mejora la mantencin.
Favorece la reutilizacin.
Favorece el desarrollo en paralelo.
Permite fcil escalabilidad.
Permite un mapeo directo entre los procesos y los sistemas.
Permite un monitoreo preciso.
Permite la interoperabilidad.

Por todo, SOA es muy utilizado como una arquitectura tecnolgica para la implementacin de
sistemas que requieren gran conectividad e Integracin de dispositivos remotos, como POS; al
igual que por los sistemas de logstica que incorporan Tecnologas mobile, as como en los
procesos financieros en general, que involucran mltiples formatos y versiones de DBMS, por
indicar un factor. Ms an, las nuevas versiones de los principales ERP y CRM del mercado ya
migraron a SOA.
SOA depende de la implementacin de estndares. Sin estndares, la comunicacin entre
aplicaciones requiere de mucho tiempo y cdigo.

SOA no es para: aplicaciones con alto nivel de transferencia de datos, aplicaciones que no
requieren de implementacin del tipo request/response y para aplicaciones que tienen un corto
periodo de vida.

Incrementalmente se hace difcil y costoso el ser capaz de cumplir con los protocolos y hablar
con un servicio.

Implica conocer los procesos del negocio, clasificarlos, extraer las funciones que son comunes a
ellos, estandarizarlas y formar con ellas capas de servicios que sern requeridas por cualquier
proceso de negocio.

En la medida en que un servicio de negocio, vaya siendo incorporado en la definicin de los


procesos de negocio, dicho servicio aumentara su nivel de criticidad. Con lo cual cada que se
requiera efectuar una actualizacin en dicho servicio (por ejemplo, un cambio en el cdigo, una
interfaz nueva, etc.), deber evaluarse previamente el impacto y tener mucho cuidado con su
implementacin. Sin embargo, parte de la problemtica anterior, puede ser solventada en virtud
a un buen diseo del servicio.
Composicin de Aplicaciones
Servicio A (Verificacin de Crdito)

Portlet A
Servicio B (Balance de Cuenta)

Portlet B

Portlet C

Servicio C (Verificacin de Inventario)


Portlet D

Servicio D
(Colocar una Orden)
Caso Real SOA
Ejemplos Arquitecturas SOA
Agenda
Introduccin

SOA: una nueva piedra fundamental en el desarrollo de software

Caso Prctico

Conclusiones
Caso de Uso

Fallecimiento de una Persona


Identificar Servicios
Alta fallecimiento

Cerrar Vnculos

Fin de Trmites

Fin de Relaciones Laborales


Agenda

Introduccin

SOA: una nueva piedra fundamental en el desarrollo de software

Caso Prctico

Conclusiones
Conclusiones

SOA no es una moda, es un estilo arquitectnico que tiene


muchos aos de madurez.

El desarrollo de software es un proceso socio-tecnolgico,


por lo que para tener xito implantando una Arquitectura
Orientada a Servicios no slo requiere de tecnologas sino
de personas.

Se debe pensar en grande pero actuar en pequeo.


Conclusiones

Existen actualmente problemas de interoperabilidad debido a las


diferentes implementaciones de la arquitectura.

No hay un estndar de jure para SOA.

Puede ser que en el futuro surjan nuevas arquitecturas ms


poderosas.

Se debe tener cuidado en crear arquitecturas de tipo espagueti.

Вам также может понравиться