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

Patrones de Diseo

Que pasa cuando estamos diseando las arquitecturas vamos a encontrarnos con diferentes
desafos, deafios de arquitectura de diseo problemas comunes en el diseo hay un concepto
que se llama patrones de diseo . un patrn de diseo es una solucin que ha sido probada es
una solucin probada de diseo de un problema comn. Nosotros venimos acostumbrados los
que vienen de arquitectura de software ver componentes ver piezas puntuales en el en la
aqruiqtectura los patrones de diseo los patrones van mas alla. No solamente vamosn aver
componenetes hay mas de 83 patrones en e libro y otros queb estn publicados en la web y los
patrones en soa tambin impoactan el gobierno es decir llegan a nivel orgaizacional y no tanto
como venamos vindolos en componentes . van mas alla y uno de ellos es este patro que se
llama canocial schema que esta muy relacionado con el gobierno y que es lo que soluciona el
patrn siempres nos hace una pregunta y aqu es como los servicios son diesados para evitar
transformacines entre el modelo de datros. Que es un modelo de dato: cliente cuenta afctura
tercero producto orden de compra orden de venta cuenta dependeido de l contexcvto dond
elo pongamos es un conjunto nd einformacion: modelos d edatos

Lo que nos pregunta es como los vamos a disear para evitar transformaciones , cuando s
edan transformaciones pues cuando s edan incompatibiulidades entre estos modelos d edatos.
Cuando son dispersdos cuando se disean estos modelos de datos de forma dispersa, cuando
no se estandarizan, no se centralizan la solucin nos dice por que no definimos modelos de
datos comunes transversales cannicos dentro del inventario para que puedan ser
compartidos a travs de todos los servicios que estn dentro del inventrio . eso nos lleva
adecir esta es la informacin del cliente info de facura producto las empezamos a volver
cannicos para que cuanbdo tengamos que hacer alguna compoxsicion sean estos modelos los
que nosotros lo reutilicemos y la interioperabilidad se haga d eforma intrnseca Aqu vemos en
la grafica como elmesquema que es represantado por el smbolo verde en cada servidcio que
sta a la mitad eso representa mi esuqema lo que mesta diciendo aca es que el modelo d
edatos esta estandarizadoi y esta siendo compartido para todos los servicios . Los patrones se
relacionan con principios en la aprte inferiorn izquierda vemos principios y tambin vemos
arquitectura . un ptron de diso aplica principios e impacta una vista de arquitectura es una
relacin bien importante que debemos de conocer.

Conclusiones

Que caracterstica brinda: beneficios estratgicos es el estado esperado d earquitectura los


principios de arquitecrtura que queremos logarr son objetivos y beneficios etsrategicos. Como
logarlos aplicando el paradigma d ela orienctacion a servicios en dond elos aplicamos: en las
capas de arquitectura empresarial, inventario, composicin y servicios.

Como superar los desafos d ediseo co patrones de diseo. Vimo de una forma global la
qrquitecrtura sao sus beneficios elementos core yu como esos elementos core se disean con
un paradigma de diseo y que psa si nos enfrentamos con problema sutilziamos patrones de
siseo y todo este mundo esta orientado a logarr objetivos y beneficios estratgicos dentro d
eneustras organizaciones.
SOA es tecnologa? Falso es un paradigma arqitectonico, como crear la aplicacion esl
aqrquitectura de la aplicacin. No e stecnologia

SOA requiere servicios web? Falso, se pede montar soa sin servicios web se puede usar corba
una aplicacin montada en corbac es un aplicacin orientada a servicio, corba tecnologi que se
creo en donde no haba ambiente necesario, habra que entender sobre lenguaje, complejo.
Conociiento d eplataforma hace 25 aos, ambiente tiempo real, en general no se usa no s
ehabla, es plataforma parav soa

SDOA es una evolucin? Vrdadero si , la internet y web ha facilitado e impulsado una serie de
tecnoligias porque no haba standares de comunicacin, internet esta en todos lados. Soa es
una evolucin de las aplicaciones, software as a service Gmail , se ejcuta desde el navegador, la
palicaicon s eejecuta en otro sitio, como u7n servicio. Es un aevolucion d elas arquitectura de
softwarr

El objetivo final es SOA? Falso objetivo e stener una plataforma eficiente rentable, cumpla
requrimientos organizacin puede ser cliente servidor, monoltica, la aqarquitectura no es el
objetivo final elm objetivo es tener la aqruitctura ideal para la organizacin como tal. No
neceariamente se necesita una arqitectura soa.

No siempre es coprrecto usar SOA? Verdadero. Esta de moda, los productos son los mismo en
Oracle pero soportan soa.

Orientacion a servicios

NO es un concepto nuevo

Filosofia de diseo y trabajo

- Resolucion de problemas complejos por descomposicin (piezas)


- Estrategia divide y vencers
- Pequea dependencia netre las piezas.

Ejemplo: ciudad de eservicios.

Servicio: funcionalidad concreta que puede ser descubierta y que describe tanto lo que puede
hacer como el modo de interactuar con el.

Caracteristicas orientacioa servicios:

- Integrar funcionalidades autnomas


- Independeiontes
- Interocnectadas
- Escalables

Arquitectura orientada a servicios

- Carcter tecnolgico de la filosofa de orientacin a servicios


- Fislosfia de arquitectura: utiliza conceptos d eorientacion a servicios, aplicada al
modelado de procesos d enegocio empresarial y el software en general. Servicios para
que el proceso d enegocio s epeuda ejecutar . Pued tener soa y la implementacin o
tecnologa puede ser servicios web
Servicios en SOA:

- Aquellas tareas repetibles co significado propio:servicio es login aplicacin, verifiacion


de tarjeta de crdito, validacionn de un usuario, apertura de una cuenta en aplicacin
bancaria, emisin de una orden de compra
- Objetivo principal de SOA se basa en: existencia de servicios, iunterocnexion, y
reutilizacion de servicios. Servicios utilidad so altamente reusables y servicios prpias
de negocio son particulares al proceso de neogcio,
-
- Desde la introduccin de las tecnologas de informacin (TI) en la industria, las
empresas han construido sus sistemas de informacin en base a las
necesidades especficas de las unidades de negocio, conformando para esto
infraestructuras de datos que ms tarde se convirtieron en silos de
informacin, usualmente aislados o pobremente cohesionados.
- Dicha situacin lleg a un punto crtico cuando las empresas comenzaron a
enfrentar complejos procesos de expansin o fusin, obligndolos a organizar
toda esta informacin y transferirla de manera eficiente y consolidada a los
ahora diversos actores de la organizacin, adems de las necesidades
constantes de alimentar los canales con clientes y proveedores.
- Los Sistemas de Informacin de las organizaciones son el resultado de la
sedimentacin de aplicaciones y tecnologas heterogneas de las ltimas
dcadas. Cada vez se demandan aplicaciones ms complejas, con menos
tiempo de desarrollo, presupuesto, y en muchos casos se requiere
reimplementar funcionalidades preexistentes.
- Tratar de reutilizar estas funcionalidades resulta una labor difcil de realizar
debido a que no fueron diseadas para integrarse, o bien se desarrollaron
sobre plataformas o tecnologas incompatibles entre s.
- El concepto de integracin se convierte en la llave maestra necesaria para
facilitar la gestin estratgica, tctica y operacional de los diversos actores de
una empresa, lo que le permitir reducir los esfuerzos de desarrollo y
mantencin de las TI, ponindolas definitivamente al servicio del crecimiento de
su empresa.
- SOA se presenta en este escenario como una solucin adecuada, definiendo
una arquitectura donde todas las actividades o los procesos estn diseados
para ofrecer un Servicio. Se entiende por Servicio componentes de software
con interfaces bien definidas e independientes de su implementacin.
- Este modelo de arquitectura representa una forma de organizar los sistemas de
informacin que permite la interaccin entre los diferentes Servicios ofrecidos.

Los sistemas IT han evolucionado exponencialmente, lo cual se ha transmitido en un


crecimiento de la complejidad del software de las empresas. Las tecnologas
tradicionales han
alcanzado su lmite de capacidad y en las empresas cada vez se pide una respuesta ms
rpida
a los requerimientos de negocio, reducciones de costes y a la integracin de nuevos
patrones y
de nuevos clientes. Las organizaciones de IT han buscado diferentes implementaciones
antes
de llegar a desarrollar SOA y los problemas bsicos con lo que se han encontrado y con
los que
hemos de contar cuando queramos hacer implementaciones de SOA son [10]:
-Complejidad: Los entornos son complejos. Las obligaciones de cumplir los
presupuestos y la eficiencia de operacin hacen necesario una reutilizacin de los
sistemas,
ms que un reemplazo de stos. El fcil y barato acceso a Internet ha hecho posible la
constante
creacin de nuevos modelos de negocio que se han de evaluar para seguir el ritmo de
la
competencia. EL crecimiento por fusin y adquisicin estn a la orden del da y por ello
es
necesario que las organizaciones IT, aplicaciones e infraestructuras se integren y
absorban. A
esta complejidad se le suma las soluciones punto a punto que lo hacen todava ms
complicado,
con lo que es necesario desarrollar un entorno heterogneo en el que se utilicen todo
tipo de
hardware, sistemas operativos, lenguajes, tipos de datos
-Programacin redundante y no reutilizable: las aplicaciones igual que las empresas se
van desarrollando a partir de fusiones y adquisiciones, lo cual hace que se tenga que
trabajar
con aplicaciones redundantes o aplicaciones con funciones que no son fcilmente
reutilizables.
Si cada unidad de negocio se desarrolla independientemente, a la hora de actualizar o
de
introducir los nuevos productos y servicios, la redundancia hace que aumenten los
costes y el
tiempo necesario para introducir los cambios en cada parte afectada.
-Interfaces mltiples: Si tenemos que interconectar N sistemas existentes necesitamos
N(N-1) interfaces para hacer posible esta realizacin, con lo que si queremos introducir
un nuevo
sistema deber crear documentacin, testear y mantener 2N nuevos interfaces.
Hasta ahora se han desarrollado diferentes modelos de programacin que han ido
intentando perfeccionar las barreras comentadas. Al aparecer la tecnologa Java se
introdujo una programacin de plataforma neutral. XML describi sus propios datos
neutrales. En la actualidad,
Web Services han roto toda barrera para interconectar aplicaciones de una manera
basada en
un modelo orientado a objeto neutral. Los Web Services son otro de los pilares de SOA
y se
definen como un conjunto de protocolos que se usan para que los servicios sean
publicados,
descubiertos y usados en una tecnologa neutra y de una forma estndar.
Podemos concluir que los modelos estndares de SOA se basan en J2EE y Web
Services. SOA es un modelo de programacin y de arquitectura a la vez. Nos permite
disear
sistemas software que proveen de servicios a otras aplicaciones a travs de interfaces
publicados y descubiertos. Los servicios pueden ser invocados sobre una red. Si se
utilizan Web
Services para implementar una SOA, se crea un camino para construir aplicaciones
dentro de un
modelo de programacin ms robusto y flexible. Se reduce el desarrollo, los costes y el
riesgo de
implementacin.

SOA NEOGIO

SOA desde el punto de vista del negocio


La arquitectura SOA, desde el punto de vista del negocio, ayuda a resolver los siguientes
requerimientos, largamente reclamados por el rea de negocio:
Mejorar la flexibilidad y agilidad de los sistemas.
Proporcionar una visin integrada de los distintos silos de la organizacin.
Mejorar la cobertura de las necesidades de negocio.
Reducir el impacto de la evolucin de la tecnologa en las aplicaciones de negocio.
La arquitectura SOA permite a las organizaciones satisfacer las cambiantes necesidades de
la empresa mediante la implantacin de procesos de negocio que utilizan los servicios
proporcionados por los sistemas actuales. La arquitectura garantiza la interoperabilidad de
los sistemas a pesar de que, en gran parte, hayan sido construidos en distintos momentos,
con diferentes intenciones, plataformas y niveles de servicio, y a pesar del hecho de que
ahora se encuentren en distintos ciclos de mantenimiento, mejora y presupuesto. Anteriores
estrategias de integracin entraban en conflicto con estas realidades, pero ahora la
arquitectura SOA ofrece un modo de enfrentarse mejor a ellas y de aumentar los niveles de
agilidad y flexibilidad.
La arquitectura SOA posibilita la ruptura de los silos internos de una organizacin (a
menudo causados por sistemas que pertenecen a departamentos individuales y que no
pueden conectarse fcilmente), y prepara el terreno para dar soporte a procesos de
negocio automatizados e integrados que eliminan dichos silos. Descubrir las capacidades
de negocio en forma de servicios y despus conectar y consumir esos servicios (por
ejemplo, a travs de aplicaciones compuestas, procesos automatizados o empresas
virtuales) son factores que pueden simplificar enormemente los procesos de una
organizacin, al facilitar la ubicacin y reutilizacin de una misma funcionalidad en
diferentes partes del negocio. La sencillez interna proporciona a la organizacin la agilidad
necesaria para crear nuevos productos y servicios de una forma ms fcil y rpida, y le
permite as diferenciarse en el mercado. La diferenciacin competitiva resulta esencial
para la mayora de los sectores, y la arquitectura SOA proporciona los elementos
necesarios para que las organizaciones alcancen con xito el alto rendimiento.
SOA modifica el funcionamiento de la compaa centrndose en los procesos de negocioLos procesos son
creados mediante la presentacin y orquestacin de servicios, proveniente de desarrollos a medida, paquetes y
proveedoresPresentacinProcesosServiciosde negocioSolicitud de una tarjeta de crditoSolicitud de un prstamo
hipotecarioProceso de tarjetas de crditoVerificacin de la situacin crediticia del clienteVerificacin del domicilio del clienteServicios
creados mediante la encapsulacin de transacciones existentes (legacy)Servicios proporcionados por un paquete (software) Servicios
proporcionados por proveedores externos (software as a service)Verificacin de conductas fraudulentasSuscripcindel productoAlta
cuentaProceso de prstamo hipotecario

SOA desde el punto de vista del negocio


La arquitectura SOA, desde el punto de vista del negocio, ayuda a resolver los
siguientes requerimientos, largamente reclamados por el rea de negocio:
Mejorar la flexibilidad y agilidad de los sistemas.
Proporcionar una visin integrada de los distintos silos de la organizacin.
Mejorar la cobertura de las necesidades de negocio.
Reducir el impacto de la evolucin de la tecnologa en las aplicaciones de negocio.
La arquitectura SOA permite a las organizaciones satisfacer las cambiantes necesidades
de la empresa mediante la implantacin de procesos de negocio que utilizan los
servicios proporcionados por los sistemas actuales. La arquitectura garantiza la
interoperabilidad de los sistemas a pesar de

que, en gran parte, hayan sido construidos en distintos momentos, con diferentes
intenciones, plataformas y niveles de servicio, y a pesar del hecho de que ahora se
encuentren en distintos ciclos de mantenimiento, mejora y presupuesto. Anteriores
estrategias de integracin entraban en conflicto con estas realidades, pero ahora la
arquitectura SOA ofrece un modo de enfrentarse mejor a ellas y de aumentar los
niveles de agilidad y flexibilidad.
La arquitectura SOA posibilita la ruptura de los silos internos de una organizacin (a
menudo causados por sistemas que pertenecen a departamentos individuales y que no
pueden conectarse fcilmente), y prepara el terreno para dar soporte a procesos de
negocio automatizados e integrados que eliminan dichos silos. Descubrir las
capacidades de negocio en forma de servicios y despus conectar y consumir esos
servicios (por ejemplo, a travs de aplicaciones compuestas, procesos automatizados o
empresas virtuales) son factores que pueden simplificar enormemente los procesos de
una organizacin, al facilitar la ubicacin y reutilizacin de una misma funcionalidad en
diferentes partes del negocio. La sencillez interna proporciona a la organizacin la
agilidad necesaria para crear nuevos productos y servicios de una forma ms fcil y
rpida, y le permite as diferenciarse en el mercado. La diferenciacin competitiva
resulta esencial para la mayora de los sectores, y la arquitectura SOA proporciona los
elementos necesarios para que las organizaciones alcancen con xito el alto
rendimiento
El marco de trabajo conceptual SOA nace a finales de los 90 tras la evolucin del software
de negocio, por la necesidad de integracin de las mltiples aplicaciones existentes en las
organizaciones, ya que en ese momento el desarrollo de las mismas era orientado a
necesidades especficas como: contabilidad, transporte, nmina de sueldos, compras, entre
otros. Esto dio origen a un gran problema en las empresas; tener diversos sistemas de TI
que no pueden comunicarse entre s, derivando en dificultades para acceder y cruzar la
informacin, sumado a la lentitud en los procesos claves del negocio.
La efectividad es una caracterstica que debe tener toda empresa que quiere mantenerse a
flote en el competitivo mercado global actual. Dicha efectividad es posible slo si una
compaa cuenta con slidos recursos de TI que proporcionen sistemas
flexibles,disponibles para toda la organizacin, que adems permitan la integracin y
comunicacin entre ellos para as soportar los procesos de negocio y mejorar la agilidad
empresarial.
Las empresas necesitan interconectar procesos, personas e informacin tanto de la
misma organizacin como con socios, y para lograrlo se requiere de una
herramienta basada en estndares para integrar sistemas y aplicaciones heterogneos,
sobre una serie de plataformas y protocolos de comunicacin con una metodologa bien
establecida, para lograr un nivel ptimo de integracin, de manera que la infraestructura
facilite los cambios posteriores que puedan surgir como respuesta a la evolucin en las
necesidades de la empresa. SOA (Arquitectura orientada a servicios) es la respuesta a
esta necesidad de unir los objetivos de negocio con la infraestructura TI.
Enfoque Tradicional vs SOA

En los ltimos aos hemos sido testigos de una evolucin sustancial de los sistemas de TI lo
cual incide en software cada vez ms complejo. A esto se suma la necesidad de las empresas
de atender los requerimientos de una manera ms rpida y efectiva, reducir costos y obtener
nuevos clientes para asegurar la supervivencia de la compaa. Los desafos que enfrentan
respecto a la implementacin de software tiene que ver con entornos complejos ya sea por un
crecimiento de la empresa, fusiones y adquisiciones que hacen que las aplicaciones e
infraestructura se integren tenindose aplicaciones redundantes o que no son del todo
fcilmente reutilizables ya que fueron desarrollados sobre plataforma o tecnologa
incompatibles entre s. El auge y la casi omnipresencia de internet facilita que se creen nuevos
modelos de negocios para ser ms competitivos. Las empresas desarrollan aplicaciones
basadas en silos de informacin que atienden las necesidades de cada unidad de negocio, los
Sistemas de Informacin de las organizaciones son el resultado de aplicaciones y tecnologas
heredadas durante las ltimas dcadas que al desarrollarse de manera independiente, al
momento de actualizar, realizar algn cambio agregando nuevos productos o servicios estos
tienen inferencia directa o indirecta sobre las dems aplicaciones aumentando los costos y
tiempo necesario.. Para conectar estos silos se requiere de mltiples interfaces. Si se tiene que
interconectar n sistemas necesitaremos n(n+1) interfaces con lo cual si se tiene que agregar un
nuevo sistema necesitaremos mantener 2n nuevas interfaces.

Bajo este escenario SOA se presenta como una solucin adecuada, definiendo una
arquitectura donde todas las actividades o procesos estn diseados para ofrecer un Servicio
el cual son componentes de software con interfaces bien definidas e independientes de su
implementacin. Este modelo de arquitectura representa una forma de organizar los
sistemas de informacin que permite la interaccin entre los diferentes Servicios
ofrecidos.
SOA y el Negocio
Por lo visto anteriormente, existe una necesidad de los negocios de integrar sus mltiples
aplicaciones existentes ya que su desarrollo estaba basado en necesidades especficas
como contabilidad, planilla de sueldos, compras, etc. Esto dio origen a un enorme problema
en las empresas, tener diversos sistemas de TI que no pueden comunicarse entre s con el
correspondiente desafo de acceder y compartir la informacin, sumando a esto lentitud en
los procesos claves del negocio. La globalizacin empuja a toda empresa a ser efectiva para
mantenerse a flote en un mercado altamente competitivo, esta efectividad es solo posible si
la compaa cuenta con los adecuados recursos de TI que proporcione sistemas flexibles y
giles, rompiendo los silos mediante una visin integrada de los sistemas de la organizacin
permitiendo la integracin y comunicacin entre ellos para as soportar los procesos de
negocio y mejorar la agilidad empresarial.
Las empresas necesitan interconectar procesos, personas e informacin tanto de la
misma organizacin como con socios, y para lograrlo se requiere de una
herramienta basada en estndares para asegurar la interoperabilidad de sistemas y
aplicaciones heterogneos aunque hayan sido construidos en distintos momentos, con
diferentes intenciones, plataformas y niveles de servicio, y a pesar del hecho de que ahora se
encuentren en distintos ciclos de mantenimiento, mejora y presupuesto , sobre una serie de
plataformas y protocolos de comunicacin con una metodologa bien establecida, para lograr
un nivel ptimo de integracin, de manera que la infraestructura facilite los cambios
posteriores que puedan surgir como respuesta a la evolucin en las necesidades de la
empresa. SOA (Arquitectura orientada a servicios) es la respuesta a esta necesidad de
unir los objetivos de negocio con la infraestructura TI.
Un ejemplo de SOA
En cualquier organizacin encontramos que los diferentes sistemas requieren interactuar
entre s. Con una arquitectura tradicional, esto implica haber desarrollado y mantenido
integraciones punto a punto.

Si por cuestiones de negocio, quisiramos cambiar uno de los sistemas, por ejemplo el CRM,
habra que rehacer todas las integraciones, cada una con sus particularidades.

En cambio, teniendo un bus de servicios, que es la herramienta base para aplicar SOA, slo
habra que cambiar la lgica de los servicios encargados de ofrecer las operaciones para
interactuar con el CRM.

Poniendo un ejemplo sencillo, si existiera un nico servicio llamado IntegracionCRM, que


ofreciera las operaciones tpicas para consultar y editar contactos, la lgica del servicio se
tendra que rehacer a partir de las especificaciones del nuevo CRM, pero las operaciones
de nuestro bus se podran mantener intactas, de manera que no afectara a otros servicios
del bus y aplicaciones que consumieran el servicio IntegracionCRM, lo cual es una ventaja
muy importante.
Si en lugar del ejemplo de arquitectura anterior, aadimos una perspectiva ms realista de
cmo es un mapa de aplicaciones tpico en una organizacin mediana, las ventajas de
implantar SOA se hacen todava ms evidentes.
En el siguiente post explicaremos cul es la mejor estrategia para adoptar SOA.

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