u
évora
UNIVER5IOADE D[ EYORAN{estrado ern Engen}raria Inforrnática
Interoperabilidade
e
Integração
Sistemas
de
Informação
David
Renatoh[atilde
Nfota CravinhoOrierrtador:
ProfessorLuís
Arriagada
CunhaSeternbro de 2009
de
Utr
17l
303
ue
UNIYERSIDADE DE EYORÂ
Mestrado em Engenharia Informática
Interoperabilidade
e
Integração
Sistemas
de
Informação
David
Renatoltfatilde Mota
CravinhoOrientador:
Professor LuísArriaga
da CunhaSeterntrro de 2009
de
4il
Io3
Agradecimentos
Em primeiro lugar agradeço ao Professor Luis
Arriga,
pela sua excelente orientaçâo, demonstra.ndo sempre a sua disponibilidade para o debate de ideias, esclareendo-me com a sua sabedoria e onhecimentos, sem osguú,
certa,mente não seria possívelter
um entendimento tão claro da temática de integração de sistemas.
Agradeço igualmente
à minha familia
e amigos pelo apoio demonstrado durante a elaboração deete trabalho.Por
último,
deixo um
especial agradecimentoà minha
namorada,peh
revisão ecrítica literríria,
quetanto
mefoi
útil
para a finalização deste trabalho.Resumo
Num
mundo em que cada vez mais se recorre aos sistemas de informação parasu-porte
às actividades das empresa.s e instituições a necessidade de troca de informação,de participação em processos conjuntos, de
partilha
de dados a.ssume uma importânciavital
nas organizações.Como resposta
à
crescente necessidade de integração dos sistemas de informação, começararn a surgir um sem nrimero de soluções e conceitos que têm como objectivo dar resposta a esta problemática. Assim, e de forma acontribuir
como um elementofacili-tador na interoperabilidade e integração de sistemas, este trabalho tem como propósito a construção de uma framework de integração conceptual, framework esta construída através de uma sistematização de conceitos, que embora conhecidos, existem de uma forma dispersa. Potencia-se assim como uma ferramenta orientadora, principalmente para aqueles que não possuem os conhecimentos adequados ou suficientes para colocar
um
modelo de integra4ão emprática
deforma
consciente. Comotal,
será uma fer-ramenta indispensável para dar a conhecer soluções, etapas, vantagens, desvantagens, diferentes modelos e será, semdúüda,
uma mais valia emfuturas
integrações.Abstract
Integration
and
Interoperability
of
Information
Systems
In
a world where the use of information systems increases daily, the growiug demandfor
data
exchange,data sharing and
processesintegration
assumesa
vital
role in
organizations life.
In
orderto
answerto
the
growing needsof information
s;rstemsintegration,
many solutionsand
conceptsstart
to
emergewith
the goal
to
answer thoseneeds.
In
away
to
contribute
to
the information
s;rstemsinteroperability and integration, this
thesis presents
an
conceptualintegration
systems frarneworkbuilt
by
usinga
setof
well
}oown
concepts, which existin
a sparce way.This
conceptualfra-ework
appeaxsmainly for
thosethat for
some re&sondon't
have sufficient Lnowledgeto
implement aintegration model in a sensible way. Such fra,rnework
will
be the perfecttool
to provide the knowledge about solutions, stages, advantages, disadvantages a,nd existent models, berng atool to
considerin future
integrations.Conteúdo
1
Introdução
1.1
Motivação Objectivos Metodologia2.2.2
Mule ContribuiçãoEstrutura
2.1
Introdução2.2
Ferramentas Open Source2.2.1
Apache Camel . 1 1 4 5 7 8 r.2 1.3 1.4 1.52
Estado da
Arte
I
I
102.2.3
Liferay2.2.4
Snaplogic Data
integration2.3
Ferramentas Comerciais 10t2
t4
17l5
L72.3.1
WebSphereMQ
.2.3.2
PervasiveData Integration
18 202t
23 23 26 28 31 33 35 37 39 4L 43 45 47 49 50 53 55 582.3.3
Tibco Portal
BúId
2.3.4
Altorna MapForce3
flarneurork
de
Integração
3.1
Introdução3.2
Nível
1-
Logical Implementation3.2.1
Information Oriented
.
.3.2.2
Process Oriented (Bu^siness ProcessIntegration
Oriented)3.2.3
Portal
Oriented3.2.4
Service Oriented3.3
Nível 2-
Integration fuchitecture
3.3.1
Arquitectura Point
to
Point3.3.2
Hub
and Spoke3.3.4
Service OrientedArchitecture
3.4
Nível 3-
Data
Access a,ndtransformation
.3.4.1
ProcedimentoRemoto3.5
Nír,el 4-
Integration
Technologies .3.5.1
Modelos Canónicos3.3.3
BUSArchitecture
3.4.2
Base de Dados Remota3.5.2
ETL
Completed3.5.3
Enterprise Service Bus3.5.4
Message Broker3.5.5
Middleware3.6
Flamework stepin
step out4
Conclusão e Tbabalho
futuro
4.L
Conclusão4.2
Ttabalho F\rturo 60 62 647r
73 73 75 vuLista
de Figuras
2.1
Esquema da arquitectura do Apache Camel2.2
Ambiente de trabalho da ferramenta Snaplogic2.3
Process designer2.4
Ambiente grrífico do MapFiorce3.1
Camadas da framework de integração3.2
Camada de implementação lógica3.3
Representação de Base de DadosVirtual
3.4
Esquema de soluçãoPortal
Oriented3.5
Camada da arquitectura de integra4ão3.6
Arquitectura Point to
Point3.7
Arqútectura Hub
and Spoke.
.Arquitectura
BUSCamada de
Data
Access and transformation3.11
Camada deintegration
technologies3.8 3.9 11 16 19 22 25 27 30 34 38 40 42 44 48 52 54 65
3.10
Esquema de réplica de base de dadosAcrónimos
ACID
Atomicidade, Consistência, Isolamento, DurabilidadeB2B
Bwinessto
BusinessDB
DotabaseEDI
ElectronicDato
InterchangeERP
Enterprise Resource PlanningESB
Enteryrí,se Seruí,cn, BusETL
Dxtmct
Tturwtorm LoadGUI
Graphicoil User InterfaceJ2EE
Jaua 2 EnterpriseEdition
JSON
JaaaScript Object NotationJSR-168
Jaaa Specifiu,tion RquestsHTML
HryerTwt
Marlrup LangaageHTTP
HypeúeatTlwsfer
ProtoenlMOM
Message Ori,ented MiddlewareQOS
Quali,ty of seruire,R,EST
Representationol, State TtansferRMI
Remote Method InaocationRPC
RemotePrceÀure
CallSAP
Systems, Applications and ProductsSI
Sistema de informaçãoSIG
Sistema de informação GeogrrfficaSOA
Seruice-orientel, architectureSOAP
Simple Object Access ProtocolSQL
Súructwul, QuerV Langru,ageSSL
Secure Sockets LayerTLS
lTansport Layer SecurityUDDI
Uniaersal Descri,ption, Discouery and IntegrationUl
User InterlaceUF||L Uniform
Resourteldentifier
XBRI
eXtensible Business Reporting LanguageXML
eXtensi,ble Markup LanguageXSLT
eXtensible Stylesheet Languagefor
T'ransfortnationW.SRP
Web Seraicesfor
Remote Por-tletsCapítulo
1
Introdução
"Integraçã,o sern termos interoperabilidade mrece d,e sentido"
Luis
Ariaga
da Cunha1.1
Motivação
Com a proliferação dos sistemas de informação forarn surgindo inúmeros conceitos, tecnologias e diferentes estratégias na integração e interoperabilidade. Com a variedade
de opções existentes, a escolha que cada
institú€o
ou organizaqfu faz do seu modeloe/ou
tecnologiade
integração,tanto
podeter
como baseuma
análise detalhada econscieúe das soluções existentes, como
noutro
extremo, pode adoptar uma solução que se preocupe apenasem garantir
que os objectivos imediatos sejam cumpridos.O
conceito de integração surge neste contexto como uma soluçã,o na optimização de recursos e no aproveitamento dos dados ou conjunto de dados existentes, sendo uma forma de potenciax e organizar os negócios destas entidades.Muitas
vezes, quando sefala
em modelos de integração,partese do princípio
quebasta o simples facto de se conseguir passar dados de um lado para o
outro,
paxa que2
Introdução
realidade, pois
mútas
de-* soluções existentes aponta,rr um carninho de integração ao nível dos dados, podendo optar-se por diferentes técnicas e conceitos dependendotanto
do objectivo
proposto, comoda própria política
da empresaou
empresas ennolvidasna
fasede
integra@.
Esta
adopçãopor
integrações somenteao nível
dc
dados é compreensível e quando bem enquadrada pode tornar-se desejárrcl, pois os dados sãoem
grande medidaum
dos activosmais
valiosos das organiza4ões que os possuem. Sendo estesum
dos activos mais importantes, deverão de ser encontradas formas deos
optimizar.
Mas, não vivendo os modelos de integração rínica e exclusiva,mente dedados, é necessário a compreensão de quais as melhores práticas que urna
integr@
pode dispor no seu todo.No entanto, outras questões práticas para muitas empresas se evidencia,m tais @mo: Como fazer com que a relação entre
o
departamento de vendas eo
departamento demarketing
setorne
maiságil e
efrcaa?Ou
numa escala mais global, oomo faaer comque duas organizações consigam
fundir ou
partilha,r os seus dados sem comprometer a integridade dos mesmos? Qual a melhor estratégia para conseguir estes propósitos? Que tecnologiasfacilitam o
papeldo integrador?
Deverá este focar-senum
modelo local ou deverá olhar o negócio comoum
todo?A
resposta a esta e outras mais questões deveriam estar na rede de conhecimento do integrador,pob
torna-se essencial perceber o sistema e até o modelo de negócio comoum
todo.Há
queter
emlinha
de conta que nem sempre os meios disponíveis podemgarantir
uma
integração de sucesso,ou
seja nem sempre se dispõe de recursos financeiros ecapital
humanoe:çeriente
que consiga adoptaro
modelo de integraçãoindicado.
Oconjunto de conceitos e soluções são
tão
vastos, que setorna difícil, por parte
de um integrador menos ocperiente,ficar
ao corrente detoda
essa disparidade de ca,minhos, paradigmas e conceitos possíveis de aplicar.Tendo em consideração o quefoi
referido, torna-se evidente a importância de um sistema que venha a servir de referência e guia para integradores que poderão não estar completamente elucidados dos diferentes eixos a considerax numa integração.1.1
Motivação
Foi
a
necessidadede colmatar
algumas das dificuldades existentesno ârnbito
da integração de sistemas de informaçã,o, que despoletou a elaboração desta fra,mework. Pretende-se que este trabalho seja, defuturo,
uma ferramenta ágil,útil
e indispensínel no âmbito dos sistemas de integração.4
Introdução
1.2
Objectivos
Este trabalho tem como objectivo
principal, tal
comojá
foi referido anteriormente, a criação de uma framework que sirrna de guia tanto para futuros integradores, como pa,r& todos aqueles que dealgu*a
forma sintam uma necessidade proÊssional ou académica de iniciarem ou aumenta,rem os conhecimentos nesta área.Esta fra,mework, é em
ultima
aniíIise, umasistemalizqfu
de conceitos e tecnologiasa
ter
em conta, não somente naaltura
de se integrarem sistemâsjá
existentes, ma.spondo ta,mbém a questão ao arquitecto de novas solu@es. De facto, a integração deve começar a ser
feita
e pensada apartir
doprimeiro pilar
do sistema. Exemplificando,é
bem maisfrícil
levantar as paredes de uma ca.sa e assim coloca-las de acordo com as necessidadesfuturas,
do
quereformular toda
a
construção. Esta
analogia pode paxecer um pouco ocagerada ma.s serve bem parailustrar
a realidade dos modelos de integração existentes, que muitas vezes passampor
não mexer na camada de negocio.Isto
acontece porque podemsurgir
implicações profundase
não desejáveis,quer
noimpacto da produtividade da
organização(pois algum dou,ntimetem
que serequaci-onado), bem como na habituação dos utilizadores
a "uma
nova forma deolhar"para
os processos de negócio. Mas o
principal
motivo desta incon'veniência dene-se ao facto de uma possívelreestruturação
quasetotal
dos sistemas, que podem não estardesen-volüdos
de modoa
acomodar mudançastão
profundas,
tais
como,por
enemplo, aalteração dos
workflowsl
dos processos. Assim, tendo em conta os conceitos e tecno-logias apresentados na fra^rnework de integração, espera-se que errcntuais restrições auma
integra$o
de sucesso sejarn mitigadas.1.3
Metodologia
ô1.3
Metodologia
Aqua,ndo da constru@o desta framework
foi
necessríria a avaliação da metodologia que melhor se adequa-se aos seus objectivos. Deste modo, foram colocadas em hipótese doistipos
de abordagem, sendo estas diametralmente opostas na forma de encarar o problema, mas ambas igualmente váJidas e úteis na pressecução do objectivo proposto.A
metodologia inicialmente equacionada, mas que nofinal
acaboupor
não serse-guida , tinha
como estratégia a elaboração de uma frameworkutilizando
umameto
dologia de
bottom-up.
Pa.rtindo-se de casos reais de integração, ir-se-ia realizar uma avaliação das tecnicas e métodosutilizados.
Aposa obten$,o
em númerosúciente
desses ca.sos de integração
, iria
serfeito um
matúing
entre as conclusões retiradas de cadaum
deles.Com isto,
era esperado que fosse poesível detectar padrões entreo
tipo
de problema presente ea
solução adoptada,permitindo
esta avaliaçãoa
ela-boração de uma framework que respondesse de forma objectiva, garantindose que paxaum
determinadotipo
problema, setinha um
conjunto de soluções comprovadamente válidas.Apesar das vantagens que uma abordagem deste
tipo
poderá, tra,zer na construçãodo
tipo
de framework pretendido, éimportante
referir o porquê de não seter
seguidoesse caminho. Verificou-se, com o decorrer da tese, que esta abordagem seria de
difícil
aplicação devido essencialmente a doispontos:
emprimeiro
lugar o número de casos reais de integração existentes paxa que se procedesse à analise eramuito
reduzido; em segundo lugar, verificou-se que devido a,o número de variáveis necessárias paxa analisar um ceniírio de integração com origor
suficiente, seria necessrírio dispor de mais tempo do que o disponível na elaboração da tese.Assim, tendo em consideração
o objectivo
proposto e as restrições encontradas, a metodologia seguidafoi
a de uma abordagemdo
tipo "top-down".
Esta
abordagem consiste na definição de diferentes níveis de integração, sendo o primeiro nível um nírrel6
lntrodução
rtais
6e11çeptual, eà
medida que se desçana
fra,meworko
domíniodo
problema vaificando mais especifico.Tendese chegado a esta solução através de unra avaliação dos diferentes métodos
e
técnicas disponíveis, constatou-se que as integrações poderia,m ocorrer a diversos níveis, sendo poesível realizar uma sistemafi?a§a por nírreis ou etar pas, firncionando estes comolinha
orientadora. Consoante os níveis em que estafffie
ocorrerou por
onde pudesse passa,r,iria
existir
uma framework que,na
medida do possível, auxiliasseo
integradore
respondesse às op@es quetem
ao seudispor
du-rante determinada fase de integração. Assim, mantendo é claro as deüdas propor@e§, seguiu-se uma abordagem próxima da utilizadapor ZaÃmal2
3, na construção de uma framework pa,ra os sisterras de informação.zhttp: / /yuy. zachnaninternational . con/index
. php/ea-articlee/1001Íuaincol
1.4
Contribuição
7L.4
Contribuição
Apos uma
avaliação dos mecanismosde auxflio da
integraçãode
sistemasde
in-formação, verificou-se
a
existênciade
inúmeras soluções tecnológica.s,
em que cadauma
tenta "vender"a
sua abordagem como sendoa ideal,
nãodiscutindo o
valor decada uma dessas soluções e a sua eficrícia na realização do
trabalho. O
que é certo é que, muitas vezes se"mata
umrato
com um canhão"ou setenta
"mata,rum
elefante com uma fisga", sendo o nome da tecnologia muitas vezesutilizado
como chamariz de solução paxa a integração, não se percebendo o que está verdadeiramente em causa equal poderá ser na realidade a solução indicada para um determinado problema.
Mas, após se percorrer obras de referência e papers da área, também não
foi
encon-trado um guia
que sistematizasseo
processo de integração comoum
todo.
Emboraexistissem trabalhos em que
o
lado ma.is conceptual do problema da integração fosse abordado, estes tendiam invariavelmente a centrar-se apenas numa área de domínio do problema. Este é um facto obviamente compreensível dado a necessidade de se aborda-rem diferentes domínios da integra4ão de um modo mais especifico eprofundo.
Assim, observando-se este vazio, pretendeu-se com estetrabalho
aumentaro
conhecimentoou até
mesmo fomentarfuturas
discussõesna
criação de frameworks auxiliadoras àintegração de sistemas de informação. Sao lançados os pilares com
vista
à integração de sistemas de informação numaóptica
mais abrangente, nãotanto
preocupada em soluções específicas,ffiffi
sobretudo em abordar o problema da integração numa pers-pectiva maislata.
No entanto, este trabalho não tem qualquer pretensão de ser a única forma correcta paxa se chegar à solução mais adequada, mas sim o objectivo de podervir
a serum
mecanismoauxiliador
que consigaatingir
uma solução vrílida na ópticada
integração de sistemas, em que nofinal
se consiga uma integração que funcione eE
Introdução
L.5
Estrutura
Esta dissertação é constituída
por
4 capítulos:No primeiro
capítulo, é realizada uma introdução aotrabalho.
São descritos os seusobjectivos , salientando a
contribúçao
a dar para a rírea daintegra@
de sistemas de informação assim como a motirnação que levou à elaboração desta dissertaçao.No
segundocapítulo,
apresenta-seo
estadoda arte
onde são referidoso
conjunto de soluções tecnológicas deâmbito liwe
e comercial.No terceiro capítulo, é apresentada a fra^rnework, onde se fará uma descrição dos níveis de integração definidos, bem como os conceitos e tecnologias que lhes são adjacentes. Para além
disto,
será explicado na secção de fra,rrework stepin
stepout
a modulari-dade da mesma e um conjunto de regras ater
em conta.Por último,
no capítuloquatro,
é apresentadaa
conclusão resultantedo trabalho
deestudo e, como qualquer estudo é sempre
um
processo em construçâo e reconstrução, serão apresentadas algumas reflexõespara futuras
investig@es.
Para
além destes capítulos,impoúa referir
que nofinal da
tese será apresentada abibliogrúa
consul-tada.Capítulo
2
Estado da
Arte
2.L
Introdução
Têndo em
linha
de conta as características apresentadasna
tese, em quea
cons-trução da framework é essencialmentefeita por
conceitos, optou-sepor
apresentar no estadoda arte um conjunto de produtos de integração.
Ao
invés de seoptar por
fazer
uma
descriçãode
conceitos tecnológicosque,
embora importa^ntes,(e.g. l.rr,l,jsp,
etc..)nãoiriam
trazer a complementaridade pretendida à framework apresentada,definiu-se como sendo mais
importante
dar a conhecer soluções tecnológicas queapli-cam alguns dos conceitos enumerados na framework.
Para além disso, a decisão de se apresentar soluções de âmbito comerciais (entenda-se pagas)
e livres
(maioritariamente de códigoaberto), tem
como pretensãodar
ao integrador a possibilidade de ficar com uma perspectiva de mercado mais abrangente, sendo de referir que não será abordado aqui qualquertipo
de comparativo equalitativo
10
Estado da
Arte
2.2
Fbrramentas
Open
Source
2.2.L
Apache
Camel
O
Apache Camelé um
dos softwarede
integração disponibilizadospela
Apache SoftwareFoundation,
empresa reconhecida pelos seus inúmerosprojectos
nas mais diversas áreas da informática, sempre com uma lógica de usogratuito
e de open source associada aos mesmos. Neste ca.so, o Apache Camel é uma framework ater
em contana
áreada
integração, disponibilizando aos integradores mecanismos de media4ão erouting de
mensagens, potenciandoa
manipulaçãode
mensagens atravésdo
uso deregras.
Utilizando
as enterprise servicepatterns(l),
o apache camel vai fazer o routing de acordo com regras previamente definidas, conforme o padrão da mensagem que forrecebida.
Apesar deservir
de bus entre aplicações, este software nãoé
consideradopela própria
ApacheFoundation,
comouma
frameworkdo
tipo
Enterprise ServiceBus(ESB),
já
que dentro dessa categoria a apache tem outro software, o Apache ServiceMix 1.
No
entanto,o
Apache Camel éum
software bastanteútil
para serutilizado
dentro de um sistema ESB, contribuindo com a.s características acima referidas.
Cenário
de
uso:
Imaginemoso
apache camel comoponto central de
comunicação; desempenhando o papel deprory
de Web Services onde, ao receber uma mensagem,irá
reencaminhá-la de acordo com o conjunto de regraspráetabelecidas,
para o Web Service2invocado.
Podendo, neste caso,ter
acções,tais
como:o
reencarninhamento para diferentes sítios conforme seja o assunto da mensagem, actuando deste modo comofiltro.
Se quisermosincorporar
mecanismosde
optimização podemos,por
exemplo,utilizar
a regra de balanceamento de carga, entre outras.Exemplo:
Balanceamento de cargaDescrição:
Neste exemplo de balanceamento de carga podemos verificar que, no casoda
companhiaX
invocaro
web service 1,o
apache camel, baseadono algoritmo
de thttp | / /servicemix. apache. org/home. html2.2 Ferramentas
Open
Source
11balanceamento de carga, vai faaer o envio desse pedido para a companhia 1 ou para a companhia 2.
f ron ( "
j
etty
:http
: // companhiax/service
1 " )toadBalance ( ) . roundRobin ( ) .
to
("http:
// comqantial/service
1 " ,"
http
: // conpanhia2/servi
ce2" ) nffittrFlrúatÍ ÇrtdfrFrEamcl
' §:l{,F trrí rE?lrlf,! -r;rtFr - Or l-r'.r rtougrt kiCrr I àr Ér*rrtor*O
D*
netl.r "tlçr+rg Cãalblçrm ' lllta---
lo *t 'itíü{ " tlnrlo+rrur r lhrÉr '*rtrflIn 'lnrh|t I tlllbr 'Tdlrl ' lg;;5; ts t ) ! êcnru êtrrFr*t roÉ.1ffr trrrll ÉedCnlWrm t heryúl r rrftnn fHbl'úrtr ! üí rr.Çr:(tr rDfl srr *rrfa §!l Fno./túü ârrrrl€ | lüI ; T*to tliorr fiTIP §rttFigura
2.1: Esquerrra daarquitectura
do Apache CamelCüÇôÊrfit I
Íd'r *rrtt*,
L2
Estado da
Arte
2.2.2
Mule
Na categoria de Enterprise Service Bus, a companhia Mule
Soure
Inc, disponibiliza o software de integraçãoMule.
É considerado como sendo um E^SB lightweight ,dwido
aos poucos recurscr físicos que é necessário disponibilizax pa,ra que esta solução fique a
funcionar.
Este software disponibiliza, de um modo re}atirramente simples e"out
ofthe
bolc"3, diversos métodos de comunicação
e
detransporte
de dadosentre
aplicações,inclúndo
igualmente os mecanismosde
transformaçãae
routing de
mensagetrsne
cessrírios à integração das aplicações. Uma característica ba.stante interessante desta ferra,rrentaé a forma
como é definidoo
comportamento que derrede
ser executado conforme o serviço invocado, sendo todos os parâ,metros definidos num ficheiro de mn-fiSumção >cnl.Isto
vaipermitir
que este sistema não sejaintnrsivo
para as aplicações a integrar,já
que não sevfu
faznr alterações no codigo base das aplicações. Assim, e de modo ater
o mule activo com &s regras definidas no ficheiro de configuraçãoXML,
bastarrí ercecutar este prograrna com uma referência ao ficheiro de configuraÇfo, e este ficará
pronto
a receber pedidos.Exemplo do ffcheiro
de configuração
<?xnl
version="
1 .0'
encondigrruTF-8rr"><stdio:connector
pronptMessags=r'Qua1o
teu
nome'r/)
<f
ile
:connector
Dãme=trNanelnFiles" outputPattern=rrteste.
txtrr
/>(t)
(nodeL
Dame=[D€morr)(service
nane=rrHêlloServiceu> (2)
(inbound)
(3)
<stdio: inbound-endpoint
system=trIN"
/>
(4)
</inbound>
2.2 trbrramentas
Open
Source
13(component
class="org.nulesource.sanples.hello">
(5)
(outbound> (6)
(pass-through-router>
(7)
<f
ile
:outbound-endpoint
path=t'dir'>
(8)
(/service>
</nodel>
</nule>
1)
paranetros
a
passar ao
conector
(ficheiro
de
escrita
testê.txt)
2)
definição
do serviço
3)
zona
de configuração
de
paranetros de
entrada
4)
neste
caso
a
entrada
de
paranetros
irá
ser
feita
pelo stdio
5)
definigão
da
classe para
onde
será
enviado
o
pedido
6)
zona
de
configuração
de parametros
de
entrada
7)
no
caso
os
dados
recebidos serão
logo
passados
(**)
14
Estado da
Arte
2.2.3
Liferay
A
plataforma Liferay,
onstruída
sobre tecnologiaJava, J2EE e
urcb2.0, é
umasolu@
Enterprise Portal e de
softwarecolaborativo.
Sabendoseque, muitas
dasvezes, se tem um conjunto de soluções isoladas, cada uma delas com interface próprio e
utilizadores do ponto de vista aplicacional diferentes, a carga de gestão será bem maior do comparativamente a solução aqui apresentada. Esta vai
permitir
que, de uma forma centralizada, diferentesapli@es
coexista.m; desde blogs,wikis,
gestão documental, entre outras, possuindo os mecanismos necessiírios, em que questões de segruança, tais como a gestão de acessos e permissões às diferentes aplica@es seja,m igualmente feitas deum
modocentralizado.
Para além destas aplicações disponibilizadas'out
of
thebox",
ainda se tem um conjunto de ferramentas que vãopermitir
que a integração comoutras
aplicações seja possírrel, podendo-seutilizar
esta solução para adopção deum
integração
Portal
Oriented, se assimfor
pretendido.2.2 Ferramentas
Open
Source
152.2.4
Snaplogic Data integration
A
solução Snaplogic, apresenta-se como uma framework de integra4âo ao nível dos dados. Pode ser considerada como uma ferrarnenta deETL
(Extract
, Tbansform and Load), disponibilizando um conjunto de conectores bastante variado, (e.g. MySql, Sql Server 2008, Linkedin,
Salesforce.com,etc..)
permitindo
o acesso a diferentes fontesde
dados.
Para alémda
possibilidadeda
extracção de dados, tem-se igualmente osmecanismos necessários paxa a que a transformação destes se dê de um modo bastante simples, quer com a aplicação de
filtros já
existentes e reutilizá,veis, bem como através da cria4ão de novos. Há igualmente a possibilidade de se misturarem os dados proveni-entes das diferentes aplicações e combináJos de modo a se formarem novos conjuntos. A disponibilizaqãa dos dados capturados e transformados, será feita atraves de umavia
uri,
com a possibilidade de se obterem os mesmos em diferentes formatos(html\text,
xml,
json),
ou até mesmoür
a carregá-los num ficheiro excel, tendo-se aó€$so as estes diferentestipos
de conteúdos apenas coma
adição de parârnetros aouri
do
serviçoa invocar. Por último,
restareferir
que esta framework apresenta uma grandecom-ponente
úsual
no quediz
respeitoà
criação dos serviços de dados, disponibilizando para este efeito uma ferramenta que, com simples acções de"drag
anddrop',
conse-gue
criar um
serviço de dadosa
partir
de fontes previamentedefinidas.
Assentandoeste serviço na lógica de RESTa, os protocolos utilizados são os que comummente se
utilizem
nas comunicações dainternet(".S.
http),
que são perfeitamente interoperaveise comprovadamente eficientes. Esta característica
vai permitir
que a disponibilização dos serviços de dados seja transparente para qualquerarquitectura
de sistema, como seja: acessosvia intranet,
extranet, pa^ssagempor
firewalls, etc..Exemplo de uso: Mapeamento
de dados
entre
diferentes
fontes
Outras
soluções
do género:
JasperETL
5ahttp: / /vcv.
ics.uci. edu/-fieldiug/pubs/diseertation/rest-arch-style.htn
5
16
Estado da
Arte
§âdrea.O.l.çríoÚOn frrrrcrnt Otgrlnr.r,tt {Droo"l § Ooi.rÊad (ri t êloí.r í1, t â trtarrarraafr. (r) {t Jri.,..Érr (rt I Êa.úr.lú (l) § âcaüF.!.õ (r) l§GlOÊ*..rr.a Ír) üEÉüro.nt (r) *ürlGrrn .a (f) il§.aÉ?t|írg..flG {a} ü8t í. (.t à.!lrar.crâ.r.4 (a) t &3,.{<oô (la, §ârcr(r, Ê Àrrâra.x (r) !u;*ura aú ú§r-íl|(t) §ôarrrr(» :, a'rir.ft (rO, n Cl.c.t (t, |Itürrrorçrtf) rEÊlri,t''r (r) üârro. (t) il Clrfr.Lír. (r) f 0o.É.|t (rl§nap
Designer ,rs - t*tf l lvl,.5t-lO..rxraa.3.rf fla . t tr'laa ,l-r. Oabt... rcadcr , -,1 r, : r -. .8..-: -I I I t'-:':". ,, .. : I I J l..l m.int t.:rl t, ' r 1- -,1r . I -I I J mrinl -rt.tur w :rif,:l! ::r' r'.':, ir-r,r' --I I J írom--d. tc ,: a)-,i:.a-1r I)J,:_:-,a t! r-jrcG Édl Vrr ,ia9 . Ít e i..'dr: ?x-,rf.. , rrfrracrilcrr g -rül.ÉYl.I CúÊrIt- Ú.-lalfEraa
FOr.râ.í.(r) .a AE.firf,t (rt] P G)r.oar (r, a Êrriloa (!) §Ocru,roiaÍr, Ê Elbrolslrorr tc
Figura
2.2: Ambiente detrabalho
da ferramenta Snaplogicíl""
2.3
Ferramentas Comerciais
t7
2.3
Ferramentas Comerciais
2.3.L
WebSphere
MQ
O WebSphere IVIQ da IBNI é um dos softwares de integração mais utilizados, enquadrando
se como um lVIessage Oriented Middleware. Este software vai actuar como
tm
baclebonede messaging queue e, sendo
um
dos componentes a equacionar na construção de um ESB,vai
sero
responsávelpor
fornecer os mecanismos necessários para que as men-sagensfluam
de umas aplicaçõespara outras de um
modoseguro.
Isto vai
ocorrerquer
aonível
das comunicações(tendo suporte para
ssle
tls)
bem comona
dispo'nibilidade do
serviço, contandopara
tal,
coma
possibilidade de serter
esta soluçãoem cluster,
permitindo
quemúltiplas
instâncias do mesmo serviço sejam armazenadasem
múltiplas
"queues manager"(fazendo uso de load balancing efailover).
Para queas aplicações consigam comunicar com a message queue, é disponibilizada uma
API,
chamada
de
I\{QI
(message queue inteface) quevai permitir
essa comunicação. Em relação aotipo
de mensagens passíveis de sereur enüadas através do Websphere I\{Q, este vai possibilitar o envio de dois tipos de mensagens: persistentes e não persistentes. Estas poderão ser enviadas das seguintesformas:
como "send andforget",
pedido eresposta,
lista
de distribuiçã,o ouutilizando
o método de publish/subscribe.
A
estru-tura
das mensagensvai
ser compostapor
duas partes principais, uma que se designade "message descriptor", contendo a informaçã,o relativa à identificação da mensagem,
tipo
de mensagem e prioridade de mensagem; a segunda parte conhecida por "MessageData"é
azona onde seguem os dados ou estrutura de dados.Exemplo
de
uso:
Extensão aum
ESB, para que suporte a integração de aplicaçõesvia
comunicação de mensagens.Outras
soluções
do género:
FioranoN,'lQ ti18
Estado da
Arte
2.3.2
Pervasive
I)ata
Integration
No
campode
integraçãode
dados,a
empresa Pervasive Softwaredisponibiliza
o software PervasiveData Integration.
De forma a conseguir conectar omaior
número de sistemas possíveis, este sofrbware oferece de base um grande de número de conectores (mais de 150). Segundo a empresa, com esta variedade de conectores será possível ligar virtualmente qualquer sistema, seja base de dados, aplicações ou ficheiros que tenhama
possibilidadede
serconectados. Este
tipo
de
softwareé utilizado
sobretudo em tarefas deETL,
onde existe a necessidade de ca,rregar diversos dados num repositório central,tratando
de fornecer os mecanismos necessários para que a integração decorra sem problemas (e.g. traduções de schemasT e integridade de dados). Para além disto, épossível realizar a integração de dados estruturados e não estruturados,(e.g. o email) executar conversões
de
dadosou
procederà sua
integraçãoem tempo
real.
Estas tarefas conseguem executar-se de modo relativamente simples,utilizandese para tal
ferramentas gráficas que são disponibilizadas pela solução. Por
último,
é de referir que este software pode também serutilizado dentro
deum
ESB, executandoo
papel de serviço de dados.Exemplo de uso:
Irrtegraçao de dados.Map
designer:
permite o
mâpeâ.mentode
dados seleccionandoa
respectiva fontedados
e
seualvo.
Após
estas definições pode.seguardar
estes mapeamentos num ficheiroxml,
que poderá serutilizado
no process designer studio.Process
designer:
podendo-seimportar
oxml
criado no map designer pode-seguar-dar o processo de design
tb
num ficheiroxml
Outras
soluções
do género:
EXTOL
Datat)aseIntegrator
8Thttp : / / en. wikipedia . org/wiki/Database-schema thttp:
2.3 Ferramentas Comerciais
19,, ,
fl r* Eü vtüw lod, $,trdoril H+
JrJE
,I'qsf;*
§Ú( )
? @ AO *c g'et ô írGJú.q( U rr'Qrpuc-6êtFlÊsÍ{ U FFrJuêuê_nü-fêÍÍ4 frf gct ÍTürÍ# tto vül O Start I 5tç $ uu*r thc d*a ê w"t tfnrc trr crrr) : "3 Prasts Yalslcs Ir Íf{úD}'l 'J 5+ Sasamrc - J aua.ra sceeirrs Ít rtr)'fFQ J ttat*ots J ÂOiloq.túl J lôs:soOe Cüts<ts FFOr*ur_fuÊhrtrgr:cx
fxb
í{\ vlB
o
ftt EÍ[ uÍs T:í
,ls
uf
I
u
t
§rt IF t 0urur-0«trlr*a{r gí ÍDiÍtaíFr íÍo
I
c
Oid re 9* r nrr:rge? rü[ Io Íül II a rÍüÍraga nl md. or ií t timrd 0{arãtf-üilÍ urrc irl.íroí"
fu {rr. íogtl*níooert t/t tít{írr tht dil
ffi
P r,ur..lrrq. ? HI
) lljrlFigura 2.3:
Process designeru t + t
u
âi nx r rro r arrry elrcr i
t
I rl
J
)20
Estado da
Arte
2.3.3
Tibco
Portal
Build
A Tibco
é uma das companhias mais reconhecidas no mundo da integra4ão desiste-mas de informação. No seu
portfólio
existem as mais variadas soluções de integraçã,o, desde integrações B2B a integrações de mainframes. No caso da soluçãoTibco Portal
Build,
oobjectivo
passapor
realizar uma integra4ãoportal
oriented, onde através devista
comum, será possível acedera
variadíssimas aplicações.O
ambiente devisua-lizaqã"o é controlado de modo a que cada
utilizador,
depois de devidamente autenticado, só aceda as aplicações que seria supostoter
acesso. Para que esteportal
consiga de um modo mais abrangente possível, integrar as mais diferentes aplicações na suavista
comum, ele tem de
níz
um suporte para diversos standards como seja: SOAP, J2EE,JDBC,
REST e suporte completo para JSR-168 e WSRP.Exemplo
de utilização:
Integração sobreuma
vista
comumde
sistema^sde
in-formação que se encontrem isolados.
Outras
soluções
do género:
W'ebspherePortal
eehttp:
2.3
Ferramentas Comerciais
2t
2.3.4
Altova
MapForce
A
companhiaAltova, na
áreade
integraçãoe
mapeamentode
dados, apresentaa
soluçãoAltova
N{apForce. Esta solução assenta numa ferramenta grrífica que tem como objectivofacilitar
integrações, transformações e mapearnentos de dados de forma amigável para outilizador
final.
Desta forma,vai permitir
queo
mapearnento dedi-ferentes
tipos de
fontesde
dados(e.g.
ficheirosxml,
ficheiros excel, ficheiros nãoestruturadoslo,
nlensagensEDI,
mensagensXBRLll,
web
services, basesde
dadosrelacionais como,
SQL
Server,Oracle,SyBase,Mysqlentre outras),
sejam facilmentemanipuladas. Utiliza
sirnples mecanismos de"drag
anddrop"para o
mapeamento econversã,o dos dados,
tendo
a
possibilidade deconsultar
demodo imediato
as con-versões efectuadas. Esta soluçã,o vaipermitir
que, após se concluir os devidos mapea-mentos, conversão e transformaçõesvia
ferramenta griffica, seja possível a geração de código automático dessas tranformações em diferentes linguagens como Java,C**,
C#,XSLT
e XQueryr2, possiblitando,por
exemplo,a
construção de web services deforma automática.
Exemplo de
utilização:Processos
de
migração e mapeamento de dados
Outras
soluções
do género:
BlueSkyIntegration Studio
13l0rrtiliza a ferranrerrta FlexText para fazer o parsing necessário â esses ficheiros
llsta,ndard baseado ent xutl, utilizado na representação de informação financeira l2linguagem que permite fazer consultas sobre dados xml
22
Estado da
Arte
.at ô,
. tx d,{rqaã t*J, tüe íE[rürmr ll. r.ãí,ü a-ü-r tr.F L{ âli--I qEÚ'd tÉÕf, ,ú€a É.tlôàrE fl dtl Õ,ú E §aat -ta, rgrí lt9 t'ari ,I, rrt *;ilüE aslEr , Dinç Çrrv . trFigura
2.4: Ambiente gráficodo
l!ÍapForceE (lc*sr:r t3 (ltrrrçr n()rgm ()m (lm a.a Ei ()orur ()rrrr (lfirn Otrlr g()elr ()rrr ()rer B()Lm B(}txr §(lr-l (l-Orrr (rlrlt*rll ()rr ()cr, (lr itt 3il[rrqrr tr:rr t htr i =!Ên eül*lmr frhtr i lltr 3 f-*r -ElEâ.f..ã c?crrr:r É cr, 0 llír G IXl CD ) ) ) l.\,i lr
F
+ J +I
{
+ +I
T. ; ) a-. ) t -tt. l-"tr 't|. ) D',. ) D t t l:z;r"*uar-g erCapítulo
3
Fbamework
de Integração
3.1
Introdrção
Na integração de sistemas de informação, ou na construção de novos sistemas com
vista
afuturos
cenários de integração e interoperabilidade, será necessríria acompre-ensão de
um
conjunto de conceitos, paradigmas e tecnicas que poderão ser úteis em diferentes cenários. Estes podem passar, ou por um conjunto de sistemas aplicacionâis, onde apenas é pretendido que numa primeira instância a integração seja feita ao nível dos dados, ou apena,s por uma simples passagem de dados de umas fontes para outras. Também se pode assistirà
necessidade de, atravésdo
seu cruzamento, se conseguirtraduzir
esses dados num nível mais rico de informação.Num outro paradigma, o cenário poderá passa,r por integrar os sistemas aplicacionais sobre uma
vista
aplicacional comum, ou então fazer com que os processos de negócio tenham representatividade nos sistemas a integrar, conseguindo-se seguir de uma forma lógica esses processos cle negócio. É nesta diversidade de cenários de integração, que setorna essencial
dal
a conhecer as diferentes opções que temos ao nosso dispor,consoantea
especificidade que cadaum
delasencerra.
Apesar de severificar
quemuitos
dos modelosde
integração se focammais ao nível
dos dados,é importante um
maior24
Flamework
de Integração
aprofundamento quanto as opções disponíveis dentro do tópico de integração. Se não houver
a
prepa^ração/formação adequada nesta matéria, tornar-se-á mais complicadogerir
o processo de integração,deüdo
ao gra^ndeconjunto
de informação/termos quepoderão
surgir.
Assim, e de modo a facilitar
o
papeldo integrador,
definiu-se umconjunto
de camadas como objectivo
deauxiliar/orientar
as escolhas que se fazemaquando
da
definição deum
modeloou
plano deintegração.
Deste modo, optou-sepor
faaer uma divisão lógica de camadas queo
integrador deverá deter
em atenção. Esta divisão obedece, dentro do possível, a uma lógica de abstracção/granularidade do sistema, sendo a primeira camada (camada que apresenta o nraior grau de abstracçâo)a que
irá actuar
ao nível da lógica de implementação.À
medida que se vai passandopelas diferentes camadas, será possível verificar um encurtar do domínio do problema, e como consequência o aproximar de uma maior granularidade.
Esta framework
apresentaum
modeloem
que sedistinguem
4
camadas lógica.s,assumindo todas elas
um importante
papel, quevai
depender nã,o sódo
modelo de integraçãoa
seguir, mas também dos seusobjectivos.
Nãovai
haver propriamenteuma
obrigatoriedade em se passarpor
todos os níveispara
que seatinja o
modelo pretendido. Mas é importante compreender até que ponto se podem misturar conceitos de diferentes níveis afim de seconstruir
a melhor soluçã,o possível.3.1 Introdução
25Layer |
-
Logical
lrnplernentation
Layer
ll
-
lntegration Architecture
Layer
ll
Õtrata
access
and
transforÍnation
Layer lV
-
lntegration Technologies
26
FYamework
de
lntegr
ação3.2
Nível
1
-
Logical
Implementation
Esta
camada compreendea
implementaçao lógicado
sistema de informaçao (SI).O
negócio de uma organização que seja pretendido modelarno
sistema,terá
que seencontrar
aí
reflectido,o
quevai implicar
diversos cuidados aquandoda
constru$,ode um SI, pois para
que este setorne
mais eficaz, será rrecessário compreender a.snecessidades
da própria instituição.
Apesarda
faseda
implementação lógica ser de grandeimportância no
sucesso das organizações,nem
sempre se pa.ssapor
ela
na construçãode um SI,
principalmente seo
que estiver em causafor a
integração de sistemasjá
existentes.Ao
seoptar por
uma integraçãoa partir
da camada lógica ou de negócio,
isso vaifazer com que
todo
o
sistema possater
que ser redesenhado pa.racumprir com
osrequisitos/princípios próprios deste
tipo
de integração. Este factovai implicar
não sótempo
edinheiro,
ffiffi
sobretudouma
mudançade
hábitos detrabalho, o
que nemsempre
é
fanil de conseguir sem que nãohaja
um custo associado.Mas, independentemente do conjunto de dificuldades que possam surgir, a realidade
mostra que um
entendimentoprofundo
destenível
da
integração,é
meio caminhoandado paxa o seu sucesso. Mesmo que não se façam alterações nos sistemas
afim
de respeitar algum dos conceitosaqui
presentes,o
facto desta faseobrigar a
pensax no negócio como umtodo,
possibilitará uma escolha mais avisada do caminho a seguir.3.2
Nível
1
Logical
Implementation
27LOGI
CAL
I MPLEMENTATI ONI
Figura
3.2: Camada de implementação lógicaProcç* Orlmted
hÍormallon Orlentul
Pofial Onenl€d
28
FYamework de Integração
3.2.L
Information
Oriented
Num
modelo deInforuration
Orienteda
integração processa-se ao nível dos dados ou, mais especificamente, entre as bases de dados existentes. Na execução destetipo
de implementação, há queter
em conta três diferentestipos
de cenrírios possíveis:Data
Replication, Data
Federation/EnterpriseInformation Integration
e InterfaceProces-sing.
No
cenáriode Data Replication,
os dados queforam
preüamente definidos como sujeitos a integração serão movidos entre as diferentes bases de dados, sendo que para se conseguir mover os dadosde
umas fontes de dadospara outras, é
necessárioter
mecanismos de traduçã,o intermédio
(e.g.
modelocanónico). Em
relação ao conceito de Data Federation, está-se perante uma unificação de um conjunto de bases de dados, ou de qualqueroutro tipo
de dados, como por exemplo simples ficheiros. Mas, para as aplicações que acedem a essemultiplicidade
de dados, o destinatário dos seus pedidos é uma única fonte de dados, no ca.so, uma base de dadosvirtual.
Sendo este acessotransparente
para
os sistemas aplicacionais envolvidos, será necessárioter
mecanis-mos responsáveis,quer
pela tradução dos pedidos entre sistemas/
fontes de dados, quer pelorouting
correcto dessespedidos.
Está-sea falar
de middlewa,re e gateway, mecanismos que posteriormente irão ser apresentados. Utilizando-se este esquema de integração, alterações que ocorram serão executadas aonível
destes mecanismos detradução/routing.
O
modeloInformation
Oriented engloba igualmentea
solução de interface proces-sing, quetem
comopropósito a
integração de diferentes aplicações.No final, a
in-formaçãocapturada
das aplicações integradasé disponibilizada
sobreum
interfacepróprio, utilizando
paratal
diversos mecanismos que posteriormente irão seraborda-dos
(e.g.
middleware ebrokers).
Este éum
tipo
de integração tipicamenteutilizado
3.2
Nível
1
Logical
Implementation
29Uma
das va^ntagens que decorreda utilizaçao de uma
integ.ação orientadaà
in-formação é sobretudo a possibilidade que esta oferece de se minirnizarem os impactos nas aplicações existentes, pois todo o trabalho irá ser feito ao nível dos dados. Questões como, sistemas heterogéneos, schemas diferentes, modelos sintáticos e semânticos dis-pares, terão igualmente o seu peso quando seoptar
por estavia. Outra
das vantagens deste modelo, pâssa igualmentepor uma limitação na
interacção entre as diferentes aplicações, pois nofinal
apenas os dados existentes serãopartilhados.
Sefor
preten-dido
uma integração a,o nível dos processos de negócio, esta não será a opção queirá
potenciar uma integraçã,o com essas características.
Exemplo de uso:
Partilha
entre diferentes entidades de um conjunto de dados que são de interesse comum, optimizando desse modo a gestã,o da informação.Vantagens:
o
Impacto
reduzido nas aplicações a integrar.o
Integração pouco intrusiva.Desvantagens:
o
Esforço adicional na normalização da infornlação.o
Lógica de negócio não equacionad.a.o
Em
cenários de escrita cle dadospor
diferentes entidades numa mesma fonte de dados o esforço de implementaçã,o é acrescido, devido à necessidade de se terem nrecanismos de sincrorizaçáo presentes.30
Flamework
de
Integração
{
BDI BOI BD virlualE
!,
trD 3Figura 3.3:
Representação de Base de DadosVirtual
>
- fr.rrr-t-L-_
3.2
Nível
1
Logical
Implementation
313.2.2
Process
Oriented
(Business Process
Integration
Orien-ted)
Neste moclelo,
os
processosde
negociode uma
ou
várias
entidades,irão ser
osobjectos
a
integrar, pois
o
objectivo
será conseguir fazercom que
estes processosfluam de forma natural
entre organizaçõesou dentro da
mesmaorganização.
Paraque
tal
aconteça,terão
que ser definidosum conjunto de
processos transversais ao negócio, estando estes no topo dos próprios negócios de cada organização, entidade ou departamento.Após se efectuar a avaliação dos processos que podem ser relacionados entre as en-tidades, terá que ser definido um modelo que
tire partido
dofluxo natural
do negocio.Por
exemplo, imaginemos que temosa
entidade A-Vendedora que vende produtos à entidade B-Compraclora, quepor
sua vez paraconstruir
os seus produtosirá
neces-sitar
de componentes fabricadospor
uma entidade C-Fornecedora.O objectivo
finalpassará
por
uma
integraçãoao nível
dos processosde
negócios quedigam
respeito às três entidades.Ou
seja, os processosa
integrar serão aqueles que irã,opermitir
a interacção entre estas entidades. De formamuito
simples seria o processo de compra da entidade de B-Cornpradora, o processo de verrda da entidade A-Vendedora e oprG
cesso de fornecimento da entidade C-Fornecedora. Olhando-se de forma isolada para
o
problema,dificilmente
se perceberiao
relacionamento de quem compra e de quem fornece,masna prática
a relação errtre estes dois "actores"é uma evidênciado
pontode
vista procedimental.
Continuando como
exemplo, suponha-se que actualmenteo
sistema funcionada
seguinteforma;
sea
entidade'B-Compradora'
encomendar à entidade 'A-Vendedora' 1000 objectos dotipo
X
, após o processamento desse pedido, se a entidade A-Vendedorativer
em stock os objectostipo X,
irá
envia-los imediata-mente para a entidadeB-Compradora.
I\,Ias no caso de não existiremou
de estarem em número insuficiente,o
procedimentoa
seguir seráo
envio de umanota
de enco-menda para a entidade 'C-Fornecedora',, para que esta envie mais peças de modo a se32
Flamework
de Integração
Devido a todas estas formalidades, percebese que os tempos de respostas envolvidos serão sem dúvida afectados. Deste modo, se as empresas decidirem avançar paxa uma integração ao rúvel dos processos de negócio que sejam comuns, a optimi2ação de todo este
fluxo
de informação será uma maisvalia.
Este factoiria
pernútir
quea
relação entre os processos de negócio fosse feita de forma automática, despoletando eventos de acção sempre que determinados parâmetros de controle fossem atingidos, origina^ndo, por exemplo, pedidos automáticos de encomendas, reduzindo-se os custos e tempo nas operações em causa.Exemplo de uso:
Integração entre entidades ou unidades departamentais que tenhamem comum um conjutrto de processos de negócio.
Vantagens:
o
Optimrzaçáo dos processos de negócioso
Possibilidade de monitorização do estado dos processos em tempo real.o
Automatizaqãn dos processos de negócio definindo-se as respostas adequadas a eventos previamente definidos.Desvantâgens:
o
Aquando de integração entre sistemas que não tenham uma linguagem comum,o
esforçode
integraçãoé
considerável sendo necessárioo
desenvolvimento de mecanismos que tornem a comunicação possível.3.2
Nível
I
Logical
Implementation
333.2.3
Portal
Oriented
O conceito de
Portal
Oriented apresenta uma nova abordagem em comparação com os conceitos anteriormente apresentados. Isto deve-se a,o facto, de que nesta integra@,o se assiste apenasa
uma integração a,o nível de"front
office",ou
seja,a
preocupaçãocentra-se apenas na interacção que o
utilizador
tem com ointerface.
Urna integração destetipo
permite que o acesso a diferentes aplicaçõesou/e
fontes de dados seja feito de uma fornm integrada,sobre umavista
comum, como por exemplo sobre a forma deum Portal Web.
A
grande vantagem deste modelo reside no facto de apresentar umrisco reduzido
na
integraçã.o de sistema.s,ainda
que estes estejam tecnologicamente obsoletos.Ao
realizarmos uma integração ao níveldo
interface, as aplicações que seencontram atriís dessa camada de apresentaçã,o irã,o sofrer alterações muito reduzidas,
ou
até
mesmo sem nenhumimpacto,
já
que
apena.sirá
consumiro
output
dessas aplicações ou fontes de dados e apresentá-los numavista
comum.Esta
integração,tendo
como característicauma intrusão
poucosignificativa
nossistemas existentes, poderá ser realizada de forma mais célere, isto claro quando com-parada com
outras
formas de integração que requerern irrtervenções mais profundas nos sistemas. Eur contraponto,o facto
destetipo
de integração contemplar essenci-almenteum
suportevia
web, (seja intra,netsou
extranets) as questões de segurança serãoum ponto
ater
em atenção,já
que a exposiçã,o de aplicações num suporte web é mais susceptívela
intrusões externas quando comparado com aplicações residentes exclusivamente nos sistemas aplicacionais internos.Exemplo de uso:
Entidadesou
departamentos que tendo modelos de dadosinde-pendentes entre si, pretendam disponibilizar informação ou serviços sobre um interface comum de forrna relativamente simples.
Vantagens:
34
Flamework
de
Integração
o
Impacto reduzido ou nulo nas aplicaçõm e fontes de dados existentes.Desvantagens:
o
Segurançavia
http,
mais susceptível a intrusões.o
Ao se proceder a uma integração apena.s ao nível da camada apresentação, asop
timizações que se poderiam conseguirutilizando
outras tecnicas ficam limitadas (e.g. consolidação de dados e processos de negócio).t_
t
{}
{}
I -1
Figura 3.4:
Esquema de soluçãoPortal
OrientedÊorlol
t
t
í
H
)
--l -l)
3.2
Nível
1
Logical
Implementation
353.2.4
Service
Oriented
Os Service Oriented sã,o actualmente
muito utilizadas,
sendo queo principio
que está subjacente. é apartilha
da lógica de negocio ou de funcionalidades que sejarn do interesse das aplicações aintegrar.
Esta integraçâo vai ser conseguida através do ma-peamento de funcionalidades destas aplicações em serviços. Estetipo
de abordagempermite,
por
exemplo, queuma
integra,çãoentre
aplicações heterogéneastenha
umimpacto reduzido, pois o clesenvolvimento destes serviços será
feito
numa camada in-termédia responsável pela comunicação entre o serviço disponibilizado e uma qualquer funcionalidade das aplicaçõesintegradas.
Apesar deste conceitojá
existir há
algum tempo, o passo fundamental para a sua aceitação surgiu apartir
do momento em que se estabeleceram standards de comunicação, comopor
exemploa utilização
de xml, sendo o recurso a web services uma escolha bastanteutilizada
por quem pretende uma integração a,o nível dos serviços.Por exemplo, vamos supor que um conjunto de agências de viagens possa aceder de um modo actualizado aos preços dos voos que diferentes companhias estão a oferecer, tendo ainda a possibilidade de se efectuarern reservas. Num caso deste
tipo,
os siste-mas aplicacionais das diferentes companhias de aviação seriammuito
provavelmentedistintos.
Uma das formas degarantir
que se respeitaria a especificidade aplicacionalde cada companhia, seria
a
criação deum
conjunto de serviços queiriam
invocar as funcionalidades responsáveis em cada sistema de dar a resposta atais
pedidos. Deste modo,iria
gara.ntir-sea
independência aplicacional,flexibilidade
e escalabilidade do sistema, pois sernpre que surgissem novas companhias a querer aentrar
neste sistema coilrum,o impacto
de alterações nas quejá
se encontravam integradasiria
ser sim-plesmentenulo.
Pode igualmente beneficiar-seda
possibilidadeda
publicação deste serviço de uma forma mais"universal",
utilizando paratal
oUDDII,
que consiste num repositório de referências de serviços quejá
foram implementados. Deigual
modo sepoderá fazer uma reutilização deste mesmo serviço
(
que estará no repositório do pu-thttp : / /udd,i . :mI . org/36
FYamework
de
Integração
blisher)
assim como seterá a
possibilidade deo
f.azer de acordo coma
generalidadedos serviços desse
tipo.
Exemplo de
uso:
Quandoa
lógicade
negócioé
centradano
conceito de serviçose
existemum conjunto de
serviços transversaisa
diversas entidades,organismos ou departamentos é uma opçã,o a considerar.Vantagens:
o
Utilização de Standards de comunicação.o
Existência de repositórios públicos de serviços.Desvantagens:
o
A
utilização dexml, têm
custos em termos de performance devido ao processa-mento necessário parainterpretar
os dados contidos nele.o
Aumento da carga devido ao tamanho dos documentosxml
quando comparado com outras formas de dados.o
Documentosxml
nã,o são indicados paxao
envio de
grandes quantidades de informação como por exemplo de informação geogrtffica.3.3
Nível
2
Integration
Architecture
373.3
Nível
2
-
Integration
Architecture
Outro
dos pontcls a ser equacionado, aquando da integração de sistemas, é otipo
dearquitectura passível de ser adoptada. Para que q;ta escolha seja a mais acertada, será necessário corüecer os diferentes modelos que se encontram à disposição do arquitecto, bem como
ter
a noção dos seguintes factores:i)
Escalabilidadedo
sistema; saberaté
queponto
o
sistema pode ser estendido ou melhorável sem que seja necessáriomodificar
as aplicações.ii)
Fiabilidade
edispo-nibilidade;
conhecera
tolerância aerro, ou
seja; será que sepor
algummotivo
umada.s componentes do sistema (e.g. Base de dados )deixar de funcionar o nosso sistema ficaria indisponível? Será que o comportamento do sistema ficaria comprometido com um número de acessos superior ao previsto?
Para que se consiga perceber até que porúo estes predicarlos não serão postos em causa, será necessário compreender o que
irá
mudar com a integração do sistema. Seráque
irá
acarretar
uma maior
cargapara
a
arquitectura
existente?
Até
queponto o
sistema responderá de forma suficiente as exigências de novasfuncionalida-des/aplicações? Será preferível manter a