SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
SOA

Módulo 1 – Introdução

O grande desafio do SOA (Arquitetura Orientada a Serviços ou Service Oriented
Architecture) é encontrar soluções que sejam compatíveis ao negócio e que se
encaixem aos processos dos diferentes departamentos. No lançamento de um novo
produto ou mesmo na fusão entre companhias, por exemplo, há muitos aspectos em
TI que precisam ser revistos. Com o SOA, os processos podem ser alterados de
forma rápida e eficiente.

Introdução ao SOA

Uma realidade recente, de pouco mais de seis anos, a Arquitetura Orientada a
Serviços, ou como é comumente conhecida, o SOA (Service Oriented Architecture),
chegou ao mundo corporativo paralelamente a uma mudança de postura que tomava
conta das empresas em relação à Tecnologia da Informação e sua influência nos
resultados. A TI, como já se sabe, é alvo de constantes transformações e não
obstante demanda sempre melhoria ao elo dos interesses da empresa.

Com o passar dos anos, o objetivo é, cada dia mais, encontrar tecnologias que
garantam um desenvolvimento com maior eficiência dos negócios e agreguem valor
aos serviços oferecidos. Nesse contexto, teoricamente a tecnologia poderia ser vista
como uma ferramenta a favor dos processos corporativos. Mas nem sempre é assim.

Há uma problemática que está freqüentemente no cotidiano dos departamentos das
empresas e que inverte a ordem de quem deveria estar a serviço de quem. Os
processos, sistemas e ações preestabelecidas geradas pela Tecnologia da Informação
são, muitas vezes, tão inflexíveis e baseados em um padrão tão uniforme, que em
vez de atenderem diferentes e mutantes demandas das corporações, acabam por
fazer com que os negócios se adeqüem a elas.

SOA: Uma ponte entre negócios e TI

O grande desafio desse cenário é encontrar uma solução que seja compatível e
flexível ao negócio de forma a se encaixar e a remodelar os processos dos diferentes
departamentos, quando necessário. Substituir os sistemas legados para que eles se
encaixem a essas novas demandas que surgem com o crescimento do negócio, pode
ser, além de caro, uma ação que resulte em ineficiência. O conceito de SOA permite
encontrar uma solução relativamente barata e com um custo-benefício maior quando
se refere a sistemas que precisam conversar entre si e processos que demandam
maior flexibilidade e agilidade para atender as revoluções do mercado.



                                      -1–
A definição da arquitetura, de forma prática, pode ser colocada como um
desenvolvimento orientado a serviços. Isso significa que as aplicações estarão
alocadas de uma forma interdependente, reflexo de uma infra-estrutura de
tecnologia preestabelecida e pensada para criar serviços com flexibilidade suficiente
para serem reutilizados entre os sistemas. Assim, com o SOA, é possível acessar
apenas uma parte dos serviços existentes, sem a necessidade de utilizar o processo
completo.

Estrutura diferenciada

Quando uma empresa opta por utilizar o conceito, imediatamente se anula a questão
da TI não acompanhar os negócios por não ter capacidade de tratar um processo
como um todo. Com ele, a estrutura anterior fica para trás, com os muitos sistemas
distintos cuidando de pequenos passos do processo e sendo redundantes entre si,
além de exigir uma base de dados para cada um, dando lugar a maior inteligência e
a otimização do ambiente de Tecnologia da Informação.

Um exemplo interessante da aplicação do assunto que estamos debatendo é
observar um mecanismo de recrutamento e seleção do RH. Isso envolve cadastro de
candidatos, recrutamento, entrevista, testes, seleção e contratação. Todos esses
processos são feitos com o objetivo de fazer a contratação de um funcionário
específico. Porém, como reprogramar esse caminho quando o funcionário a ser
contratado é uma mão-de-obra que já trabalha na empresa e precisa apenas ser
transferida de área?

Nesse caso, algumas fases dessa linha de contratação seriam excluídas, como, por
exemplo, cadastro do candidato e seleção, por exemplo. Para modificar esse padrão,
tradicionalmente era necessário fazer uma mudança, manualmente, para driblar os
processos preestabelecidos. Já com a arquitetura orientada a serviços, basta utilizar
apenas algumas partes desse processo já existente, de acordo com a granularidade
do sistema.

Quebra de paradigmas

Com a chegada da tendência de Arquitetura Orientada a Serviços pode-se dizer que
surge então uma mudança de paradigma no lidar com os processos e negócios. A
necessidade de fortalecer os laços com os clientes e tornar a gestão de serviços mais
produtiva ganhou um foco maior com o SOA, que pode ser visto como uma
ferramenta de quebra de antigos padrões e que vislumbra novas possibilidades entre
TI e negócios. Porém, é importante destacar que por ser ainda um conceito recente,
o caminho para a chegada no estado da arte do SOA ainda é doloroso e trabalhoso
em todos os departamentos de uma organização, afinal estamos falando de uma
mudança de postura.



                                       -2–
Vale lembrar que o conceito está intimamente ligado às pessoas, o que exige
também um caminhar em direção à evolução organizacional e à conscientização e ao
aculturamento para mudanças. Além disso, é preciso que seja estabelecido um
padrão de gerenciamento de pessoas que seja não apenas eficiente, mas que
também reúna a avaliação dos objetivos das pessoas em detrimento dos objetivos da
organização. Nesse caso, temos uma estrutura em que se torna os desafios e
expectativas da empresa aderentes à atuação do pessoal envolvido, o que pode ser
um dos maiores desafios na mudança da gestão organizacional, mas também um dos
pontos mais importantes.

Estrutura corporativa em choque com as mudanças

O grande problema enfrentado pelas empresas nos últimos anos, é que elas detêm
sim uma tecnologia importante para a realização de suas metas, porém, as
mudanças do mercado não são rapidamente absorvidas pra essa tecnologia que
detém processos ainda pouco dinâmicos. Com a utilização do SOA, o cenário ganha
um aspecto diferenciado em relação a isso e consegue responder mais rapidamente
as incidências do dia-a-dia.

Por exemplo, uma mudança no ambiente de negócios, um lançamento de produto
concorrente ou mesmo uma fusão entre companhias provoca rápida reação por parte
da empresa, já que com o SOA, os processos podem ser alterados rapidamente, uma
vez que os serviços são disponibilizados pelos aplicativos e sistemas, sendo eles
desenvolvidos internamente, ou adquiridos no mercado. Dessa forma, cria-se uma
rotina de reutilização desses serviços por qualquer outro sistema ou processo que
demande.

Se o conceito, que ainda engatinha no que se refere à consolidação, for realmente
implementado pelas companhias, haverá ainda uma otimização no próprio
orçamento de TI. A razão disso é que hoje existe uma grande quantidade de
fornecedores numa composição de uma mesma infra-estrutura e compartilhando
informação com distintos padrões, porém, quando se opera com o SOA é possível
criar um ambiente mais transparente e interoperável, ainda que haja muitos
fabricantes em uma mesma cadeia tecnológica.

A conclusão disso é uma queda dos custos principalmente quando se fala de
manutenção dos sistemas e às aplicações para integração, gerando uma lacuna de
investimento, o qual pode ser direcionado para novas soluções ou tecnologias. Outro
ponto importante está na própria atuação da equipe de TI que poderá focar mais o
trabalho em tarefas estratégicas do que apenas cuidar da manutenção da estrutura.
Em destaque, porém, podemos colocar a transparência e a flexibilidade da estrutura
de processos tecnológicos, resultando, conseqüentemente, em uma visualização
mais concreta do retorno do investimento.



                                      -3–
Módulo 2 – Conceituação

Arquitetura Orientada a Serviços é um conceito abstrato que pode ser utilizado de
diversas formas. Um ponto importante é que o SOA tem como base e componente
fundamental o conceito de serviços. Outra característica da Arquitetura Orientada a
Serviços é a possibilidade de fazer o reuso de softwares, que reduz o esforço de
desenvolvimento aplicacional e diminui custos, além de atender com mais agilidade
aos novos requisitos de negócios.

Conceituação

Definir Arquitetura Orientada a Serviços por vezes é complicado, já que trata-se de
um conceito abstrato que pode ser utilizado de diversas formas e se transformar em
ferramentas específicas de acordo com o negócio e com a empresa que decide
adotá-lo. Segundo o ANSI/IEEE 2002 (American National Standards Institute), uma
arquitetura de software trata basicamente de como os componentes fundamentais de
um sistema se relacionam intrinsecamente e extrinsecamente.

Nesse contexto, os aplicativos e rotinas são disponibilizados como serviços em uma
rede de computadores, que pode ser a Internet ou mesmo intranet, permitindo uma
comunicação por meio de padrões abertos. Por esse motivo, o web service é um
recurso bastante utilizado para a criação dessa estrutura.

Serviços

Um ponto importante é que o SOA tem como base e componente fundamental o
conceito de serviços. É uma espécie de função independente que permite que se faça
uma ou mais requisições e que se ofereça uma ou mais respostas por meio de uma
interface predefinida e padronizada. O destaque está no fato de que os serviços
podem atuar utilizando apenas partes de um processo e editar ou mesmo processar
uma transação.

O importante quando se fala em serviços é saber que eles não podem depender do
estado de outras funções ou processos. Isso quer dizer que a tecnologia que conduz
o serviço, que pode ser uma linguagem de programação, por exemplo, não pode ser
usada como instrumento de definição do serviço. Para organizar essa estrutura, é
necessário seqüênciá-los de forma a fornecer uma lógica adicional para processar
dados.

É importante sempre fazer uma ressalva no que se refere à relação desses serviços
com outros, pois não pode haver nenhuma dependência do primeiro com a condição
do segundo. Com isso, se estabelece a possibilidade de o consumidor criar uma
seqüência desses serviços e orquestrá-los em vários fluxos de forma a executar a
lógica de uma aplicação.

                                      -4–
Há então dois pontos importantes nesses processos descritos anteriormente: o
consumidor, que consome e requisita os resultados ao provedor, ou seja, o outro
lado da questão, executa o serviço e responde às necessidades.

Para o sucesso das aplicações em SOA, é essencial que haja a capacidade de
identificar os serviços e suas características. Essa ação depende, porém, de um
diretório que disponibiliza quais são os serviços disponíveis em determinado domínio.

O relacionamento entre os componentes que estão inseridos em uma aplicação
precisa estar descrito em um contrato, que pode ser uma interface Java ou um
arquivo XML, por exemplo. Dessa forma, cria-se uma rotina que facilita e explicita a
dependência, a manutenção e a adaptação.

Reuso de software

Uma das características da Arquitetura Orientada a Serviços é a possibilidade de
fazer o reuso de software. Essa ação surgiu a partir de uma necessidade de
economizar recursos de hardware, já que há algum tempo atrás os dispositivos não
possuíam memória suficiente para armazenar muitas rotinas. Por esse motivo,
descobriu-se que era possível fazer tarefas similares por meio de uma única rotina
baseada em parâmetros sem a necessidade de fazer uso de grande parte da
memória.

Porém, essa situação inicial se modificou, já que os componentes de hardwares
evoluíram e os preços caíram. Com isso, o objetivo de fazer o reuso de software foi
modificado. Agora, a razão de utilizá-lo é a possibilidade dada por ele de economizar
recursos humanos.

Sistemas abertos

Para manter a flexibilidade demandada por muitos negócios, o SOA pode contar com
a colaboração de sistemas abertos, que são aqueles em que é possível que novas
entidades possam passar a compor o sistema, sair dele, ou mesmo evoluir. Há
também o chamado sistema aberto distribuído, que permite que essas mesmas
entidades estejam localizadas em máquinas diferentes.

Com a utilização desses conceitos torna-se possível acessar distintas plataformas de
hardware e implementações em diferentes linguagens de programação a partir do
uso de um protocolo já definido e com uma interface com uma linguagem portável.

Esse processo de intervenção nos sistemas começa quando o cliente por meio de
algum identificador, como endereço IP, por exemplo, envia suas requisições para o
servidor. Esse caminho é o chamado Sistema Distribuído Fechado, já que novas
entidades não conseguem permissão para entrar no processo.

                                      -5–
Há também os Sistemas Distribuídos que fornece aos clientes, de forma
transparente, a entrada e a saída de componentes. Nesse caso, aquele identificador
estático necessário para enviar requisições ao servidor, não mais é necessário, pois o
servidor pode ser alterado desde a implementação até sua localização.

Portanto, vemos que aplicações orientadas a serviços, são naturalmente aplicações
distribuídas que utilizam os conceitos de distribuição, já que além de serem
formadas por sistemas legados em diferentes máquinas, ainda garantem maior
escalabilidade, o que é de extrema importância para a resolução dos problemas e
demanda do requerente.

Integração de sistemas

Com o advento da internet, observamos uma revolução quando falamos em
desenvolvimento de sistemas, pois a realidade diferenciada demandou uma série de
mudanças de posturas, principalmente no que se refere aos sistemas de informação
cooperativos em que se vêem agregadas diversas fontes de informação
disponibilizadas ao usuário.

Os sistemas que se tornaram cada vez mais heterogêneos, compostos de
plataformas de hardware e software distintas, o que dificultava a formação de
sistemas de informação cooperativos. Nesse contexto, entende-se que a necessidade
de disponibilizar uma comunicação eficiente entre os sistemas é grande, ainda que o
ambiente seja complexo e não uniformizado.

Esses tipos de ambientes são eficientemente suportados por SOA, isso porque a
arquitetura orientada a serviços trabalha com sistemas cooperativos abertos.
Normalmente, os componentes dos sistemas estão sendo executados em máquinas
distintas, podendo ser até mesmo, máquinas virtuais. Para se comunicarem podem
utilizar um protocolo padronizado, um protocolo proprietário.

Para concretizar projetos de integração de aplicações corporativas, o SOA está sendo
bastante utilizado, principalmente porque as aplicações legadas já constituídas estão,
geralmente, executadas em diversas plataformas, desde Linux em micro
computadores até OS/390 em mainframes.

De forma a tornar possível a comunicação entres esses sistemas, o que se faz é criar
adaptadores que sejam capazes de acessar aplicações legadas e se comunicarem por
meio do protocolo definido pelo sistema. Já esses sistemas, fazem o trabalho de
disponibilizar as informações agora agregadas, fornecidas pelas diversas aplicações,
sem a necessidade de reescrever linhas de código do legado.




                                      -6–
Conclusão

Com a arquitetura SOA, é possível transformar aplicações em componentes de
software flexíveis, o que gera interoperabilidade entre diversas tecnologias. Como
conseqüência dessa possibilidade, as aplicações legadas são alavancadas, há
reutilização de software, redução dos custos de desenvolvimento e manutenção,
além de transformação das soluções de negócios mais ágeis e fáceis de implementar.

O reuso de software, como falamos anteriormente, se torna muito importante,
principalmente, porque reduz o esforço de desenvolvimento aplicacional e os custos,
além de satisfazer com mais agilidade novos requisitos de negócios. Vale lembrar
que o web service é um caminho muito utilizado para a concretização desse
processo. Eles providenciam um conjunto robusto e consistente de protocolos, regras
e tecnologias que são completamente independentes das plataformas, sistemas ou
linguagens de programação.

A abordagem do conceito de SOA entre os clientes e os serviços resultam nos
benefícios de interoperabilidade e cria-se uma ponte de acesso entre clientes e
serviços, independente das plataformas que os suporta.

Outra palavra-chave do conceito é Flexibilidade. Os componentes estão ligados de
uma forma que possibilita a combinação semântica, a utilização de bibliotecas
comuns e a divisão até de estados de execução.




                                      -7–
Módulo 3 – Vantagens

O SOA pode trazer muitos ganhos a uma companhia, principalmente porque as
políticas globais são executadas uniformemente na rede e depois aplicadas nas
interações de serviço. Com Arquitetura Orientada a Serviços é possível ter mais
flexibilidade e adaptação de novas demandas. Quando uma companhia opta por uma
arquitetura SOA, ela também opta por aprimorar a capacidade de utilizar os padrões
já existentes, resultando em uma série de benefícios.

Flexibilidade e adaptação

Depois de entender os conceitos de SOA, vamos explorar as razões para
implementá-lo. Quais são as vantagens e qual é a necessidade que justifica o
investimento nessa tendência? Um fator importante ao optar por um novo modelo de
arquitetura de software é a necessidade de transformar os modelos de negócios, que
precisam caminhar junto com as novas demandas e objetivos das companhias.
Ultimamente os negócios precisam constantemente se adaptar às novas bases de
clientes, por exemplo. Essa habilidade de se adaptar rapidamente às novas bases e
aos novos parceiros de negócios é a chave para o sucesso e significa ser dotado de
uma característica importante no mercado competitivo de hoje: a flexibilidade e
adaptação. Está aí a principal vantagem oferecida pela arquitetura orientada a
serviços.

Quando vemos a tendência do mercado de dividir os sistemas de TI com outras
organizações, estamos de frente não apenas para uma realidade que busca maior
valor para as empresas, mas também para uma realidade que demanda certos
cuidados e diversas modificações nos sistemas. O processo de adaptação para a
mudança o modelo de negócios não é fácil. São muitos sistemas legados que
precisam ser modificados para se tornarem disponíveis. Esses sistemas legados
precisam mudar para suportar as novas funções do negócio e se integrarem ao mais
recente desenvolvimento dos sistemas ou se integrarem aos sistemas dos parceiros.
A complexidade dessas ações é o que torna o conceito de SOA, muitas vezes, um
grande desafio para as empresas.

SOA para diminuir a complexidade

Um exemplo interessante é imaginar que um departamento governamental, que
tenha um sistema legado de gerenciamento de impostos que interaja com o legado
do sistema de gerenciamento de negócios. O governo precisa incorporar um novo
sistema que irá interagir com o legado de gerenciamento de negócios e
conseqüentemente afetar o sistema de gerenciamento de impostos e taxas. Na
essência, o que importa dizer é que, nesse contexto, os dois sistemas legados
existentes anteriormente precisam ser reajustados para lidar com um novo tipo de
negócio. O processo para isso é custoso, já que todo o sistema legado existente
precisa ser alterado e depois passar por uma fase de testes e reajustes.

                                     -8–
Porém, toda a complexidade descrita acima pode ser resolvida com a adoção de
SOA. Com ele, os serviços trabalham em um esquema de extensão e, desse modo,
podem lidar com vários tipos diferentes de entidades. O grande benefício do SOA é
que ele é dirigido pelo modelo de negócios da organização e não o contrário. O
benefício real está principalmente na redução de custo em reutilizar o modelo já
existente. Outros pontos importantes estão na agilidade dos processos e na
eliminação dos erros. Além disso, o SOA possibilita tarefas realizadas com
consistência, alto desempenho, qualidade e com um controle mais bem-sucedido, já
que a tecnologia garante a ação efetiva, dentro dos padrões pré-estabelecidos.

É importante entender que adotar uma arquitetura orientada a serviços não significa
necessariamente uma aquisição de tecnologia comum. A aquisição é, na verdade, um
conceito que implica uso correto, melhores práticas e uma migração dos sistemas
existentes. Vale ressaltar que o legado será aproveitado, uma vez que os
investimentos anteriores serão integrados e não substituídos.

O sucesso de SOA está também relacionado com seu gerenciamento. Por esse
motivo, estão surgindo e se consolidando os padrões que podem uniformizar as
políticas que sustentam o conceito. Uma abordagem de rede distribuída para SOA
atinge uma maior evolução no que se refere a uma comunicação confiável,
consistente e previsível entre serviços web implementados ao longo de uma
corporação. Nesse caso, o projeto ganha em interoperabilidade e flexibilidade. Com
isso, as corporações conquistam um mecanismo otimizado para implementar
políticas que governam interações com serviços. Por causa desse benefício e à
medida que departamentos distintos e projetos web se integrem, o grau de
importância de SOA crescerá.

Governança

Um ponto importante na implementação de SOA é o que se refere à governança
corporativa. Para que políticas essenciais sejam cumpridas e para que o
compartilhamento e a reutilização de serviços sejam realmente efetuados, as
empresas deverão contar com frameworks de governança de SOA para que os
cumprimentos de políticas específicas para serviços e as interações entre eles sejam
aderentes às regras. Se isso existir, conseqüentemente a empresa estará inserida
em regras de negócios que agregam valor e que são essenciais para a
competitividade, para adequação às normas e para a segurança.

Um exemplo de como isso funciona é entender o mecanismo de uma rede de
serviços em que todas as mensagens trocadas entre consumidores e fornecedores
passam por uma rede de roteadores SOAP, que indica o ponto mais adequado para
gerar uma governança uniforme das interações entre os serviços. O diferencial está
no fato de que a inteligência de governança não está exclusivamente hospedada em
diversos pontos finais, e sim, distribuída por toda a rede, de modo a ser executada
de forma eficiente e uniforme.

                                      -9–
Com isso, é possível adicionar outras tarefas no decorrer do processo. A vantagem
está, então, no fato de que as políticas podem ser implementadas durante o
caminhar das mensagens, sem interferir na comunicação entre os serviços e
conseqüentemente qualquer ponto final pode ser acoplado à rede e exibido aos
consumidores da corporação.

O cenário atual mostra, porém, que as empresas estão ingressando em SOA com
poucas iniciativas em web e centradas em projetos com padrões centrais como
WSDL, SOAP e XML. Porém, as organizações que estiverem buscando iniciativas
globais de SOA devem procurar padronização mais profunda para garantir a
interoperabilidade dentro e fora dos departamentos. A possibilidade de colocar a
governança em uma rede baseada em padrões é uma grande vantagem com relação
à criação e à administração do conceito de SOA. Essa capacidade é importante
porque cria uma rede inteligente em que não é necessário fazer hard-code e
gerenciar políticas em cada ponto final independente.

Pontos positivos na adoção de SOA

A adoção de um conceito tão recente e ao mesmo tempo tão essencial pode, por
vezes, parecer complexo demais. Porém, a consistência do SOA pode trazer ganhos
consideráveis, principalmente porque como já dito, as políticas globais são
executadas uniformemente na rede e posteriormente aplicadas em todas as
interações de serviço. Isso resulta em uma aplicação consistente e que não depende
dos conjuntos de habilidades de desenvolvedores ou necessidades individuais de
projetos. Alcança-se uma maior flexibilidade e adaptação das novas demandas.

O gerenciamento de troca simplificado é outro ponto importante para contabilizar
ganhos. Vemos que os upgrades e modificações de diferentes políticas, que têm
possibilidade de surgir durante os processos, podem ser implementados na rede e
aplicados em todas as interações existentes. Com esse processo diferenciando,
elimina-se a necessidade de solicitação de modificações a cada ponto final individual.

As despesas administrativas ficam reduzidas quando se implementa um conceito de
SOA. Isso acontece, porque, em geral, atualizar, executar e gerenciar políticas de
infra-estrutura que estejam distribuídas em pontos finais individuais sugere uma alta
despesa administrativa, o que é eliminado quando os trabalhos são transferidos para
uma rede de serviços centralizada, o que reduz não apenas esses custos, mas
também as responsabilidades de administração.

É interessante a maneira como se dá a aceitação das políticas aplicadas aos
processos com SOA. Podemos notar uma aplicação realmente consistente e
garantida, uma vez que as mensagens não podem chegar ao ponto final, sem que as
devidas políticas sejam aplicadas. Isso garante que nada do que foi programado será
ignorado. Além disso, se for necessário alguma postura alternativa, as decisões
dependem da competência de cada desenvolvedor corporativo.

                                      - 10 –
Conclusão

Quando uma companhia opta por uma arquitetura SOA consegue aprimorar a
capacidade de utilizar os padrões e gerar uma série de benefícios. Entre eles está a
liderança de padrões, que é extremamente importante já que as empresas de redes
de serviços estão avançando cada vez mais nos processos de criação desses padrões
e podem oferecer uma compreensão mais abrangente da adoção desse tipo de
conceito junto aos consumidores e parceiros. Assim, os usuários podem entender
melhor a estratégia e compreender onde devem ser feitas as aplicações de esforços
de educação e desenvolvimento.

Além disso, a intermediação desses padrões é bastante importante, pois ela permeia
os serviços baseados em rede e possibilita que o usuário modifique mensagens e
reúna da melhor forma os recursos de software. Um exemplo interessante é imaginar
uma empresa que deseja atualizar serviços de produção que são efetivamente
realizados por parceiros. A companhia quer fazer essa atualização de forma a colocar
esses serviços em sintonia com os padrões mais atuais, porém, ao mesmo tempo
não gostaria que os parceiros fossem forçados a participar da mudança. Nesse caso,
a facilidade está no fato de que a empresa poder, ela mesma, alterar as mensagens
durante a intermediação, para facilitar a comunicação contínua.

As redes de serviços também funcionam como uma camada de isolamento, ao
trabalhar entre os recursos de software e padrões que estão sempre em processo de
evolução. As mensagens passam entre interfaces em uma rede distribuída de
roteadores ligados e localizados nas extremidades da rede, o que possibilita uma
melhor comunicação e um conceito de SOA efetivamente escalável. Essa rede de
serviços age também como uma espécie de governança otimizada de SOA, que
ganha mais importância conforme se dá a expansão do SOA, o que garante que a
empresa veja as vantagens do compartilhamento e da reutilização de serviços.
Apesar de recente, o conceito SOA tem despertado grande interesse no mercado,
que já enxerga o business value do conceito.




                                     - 11 –
Módulo 4 – Mercado

Aos poucos o mercado começa notar a atuação de SOA nos negócios. Isso porque,
quem utiliza SOA consegue oferecer novos serviços rapidamente, o que pode
acontecer por meio de sistemas de TI novos ou existentes. Uma pesquisa feita nos
Estados Unidos pelas revistas CIO e Computerworld identificou que 58% dos 612
executivos de TI entrevistados implementou o conceito ou pretendem implantar o
SOA a curto prazo.

Consolidação

A aceitação do mercado ao conceito de SOA está se expandindo cada vez mais. A
demanda crescente está estimulando as empresas fornecedoras a se unirem em
estratégias e ações que maximizem a atuação da tendência e impulsionem o
mercado para a consolidação. Muito se fala sobre SOA, mas ainda não há um padrão
de desenvolvimento definido, as pequenas e médias empresas ainda desconhecem a
visão do conceito como gerador de valor aos negócios. Além disso, há também um
desconhecimento com relação aos custos e o retorno do investimento. A tendência é
que esses pontos acima descritos sejam dissolvidos em pouco tempo, como reflexo
das ações de mercado que já começam a acontecer e principalmente com a
visibilidade que SOA tomará nos próximos anos.

Estratégia de padronização

O grupo denominado Open SOA resulta da aliança entre Oracle, SAP e BEA. Seu
principal objetivo é criar sugestões de padrão de desenvolvimento para arquiteturas
orientadas a serviços. Trata-se de uma forma de dar atenção ao tema e atender a
pressão por padrões que garantam a integração entre tecnologias de diversos
fabricantes. Participaram da fundação do grupo empresas especializadas como Iona
Technologies, Sybase, Xcalia e Zend Technologies.

A necessidade de estabelecer padrões é tão grande que algumas empresas que se
uniram são rivais. Mas a criação de determinados pontos demanda que a
competitividade seja deixada de lado, até que sejam definidas as características que
conseqüentemente agregarão valor a todas as empresas que se relacionem com
SOA. A partir de então, poderão dispor de uma forma simples de construção de
aplicações componentizadas.

Os esforços estão sendo concentrados em dois projetos. O primeiro trata da
arquitetura de componentes de serviços (SCA, do inglês service component
architecture), que tem o objetivo de definir modelos para criar e reunir componentes
de serviços. O segundo projeto é o chamado Service Data Objects (SDO),
responsável por estabelecer parâmetros de gerenciamento de dados em aplicações
SOA. Até o fim de 2006, as empresas esperam submeter as duas iniciativas a um
corpo de definição de padrões.
                                     - 12 –
Hoje, a aliança já conta com a participação de 17 empresas. As últimas companhias
que ingressaram na iniciativa foram Progress Software, Red Hat, Software AG e Sun
Microsystems.

Pequenas e médias empresas

A mais recente ação da Magic Software anunciada em julho de 2006 visa a
disseminação do conceito SOA para pequenas e médias empresas. A empresa
seleciona integradores de software e prestadores de serviços de TI sendo
desenvolvedores de ERP, CRM, supply chain e outras aplicações para gestão do
negócio, de modo a criar uma rede de atendimento a pequenas e médias empresas
para fornecimento de soluções baseadas na arquitetura orientada a serviços.

Esse é somente um exemplo das ações de mercado que estão se voltando para a
abrangência do mercado de SOA. O objetivo é mostrar que SOA não é apenas uma
sigla longe da realidade corporativa de pequeno porte, mas sim um conceito de
gestão empresarial acessível a qualquer tipo de negócio. Para a Magic Software, a
estratégia está rendendo novos negócios. A companhia trabalha em nove projetos de
integração de processos que contam com o apoio de SOA e BPM.

A Oracle também criou o Fusion Middleware para adoção e administração de
arquiteturas orientadas a serviços, em ambientes heterogêneos de TI. Trata-se de
uma forma de fundir as melhores práticas de todas as linhas de produtos e
tecnologias que a empresa oferece, reduzindo a complexidade dos ambientes de TI.

SOA e América Latina

O mercado da América Latina também desperta para o conceito SOA. A constatação
vem da própria Oracle e dos resultados apontados com o Oracle Fusion Middleware.
Relatório do instituto de pesquisas Gartner revela que a arquitetura orientada a
serviços será a base de 80% dos projetos de desenvolvimento até o ano de 2008.
Para a Oracle, as empresas clientes dessa região optam cada vez mais pelos
componentes do Oracle SOA Suíte. Alguns clientes Oracle que estão fazendo uso da
tendência são: Matera Systems do Brasil, Open Card da Colômbia, Farmalink da
Argentina, o Ministério da Fazenda e Crédito Público do México, a Bolsa Mexicana de
Valores (BMV), além da Instituição para Depósito de Valores (Indeval), também do
México.

A questão é que há uma percepção, ainda que em consolidação, de que, com o uso
de SOA, conquista-se mais flexibilidade e eficiência no negócio e na redução de
custos.




                                     - 13 –
Percepção do mercado

É consenso, entre os fornecedores e atuais usuários, que aos poucos o mercado
começa notar a atuação de SOA. Isso porque quem utiliza SOA consegue oferecer
novos serviços rapidamente, o que pode acontecer por meio de sistemas de TI novos
ou existentes, não importando se são antigos, proprietários ou fechados. Estabelece-
se então uma atuação em que não é preciso implementar projetos caros e fora da
realidade de algumas empresas, além de ser possível usufruir de uma plataforma
integral de gestão do ciclo de vida dos serviços.

O que os recentes usuários estão notando é que o SOA veio trazer evolução para os
produtos e para a maneira de lidar com os negócios e prover integração sem grandes
impactos.

Uma pesquisa feita nos Estados Unidos pelas revistas CIO e Computerworld
identificou que 58% dos 612 executivos de TI entrevistados implementou o conceito
ou tem planos para fazê-lo. Aproximadamente 44% deles utilizarão SOA para
integrar aplicações internamente, 28% para fornecer serviços a clientes ou
consumidores e 21% para se conectarem com aplicações externas fornecidas por
parceiros.

Expectativas da IDC apontam para um crescimento de 138% dos investimentos em
SOA somente neste ano, o que significa cerca de 8,6 bilhões de dólares. Em 2010 o
valor chegará aos 33,8 bilhões de dólares, principalmente como reflexo da demanda
dos setores de finanças e telecomunicações.

Veja mais informações sobre as tendências e expectativas do mercado no módulo 8
de tendências.




                                     - 14 –
Módulo 5 – Reutilização de Software

Até pouco tempo atrás, a questão de reutilização de software passava por um
problema de definição. No entanto, a engenharia de software proporcionou
princípios, métodos e ferramentas que permitiram driblar esses problemas. É preciso
ter em mente que, por melhor que seja, a reutilização significa mudança de postura
nas empresas, em diversas áreas e em vários momentos.

Produtividade e benefícios

A reutilização de software, apesar de ser um conceito de SOA que permite redução
de custos, ainda não está concretizada na indústria de software, embora toda a
comunidade de TI já observe a produtividade e os benefícios de que envolvem a
estratégia. O mercado começa agora a vislumbrar uma metodologia orientada ao
conceito de modo a desenvolver software utilizando objetos que tenham sido
produzidos previamente.

Um componente é considerado reutilizado quando é introduzido em um novo
esquema junto com toda a informação que possui.

Assim, uma classe é reutilizada ao ser introduzida em um esquema junto com todas
as suas hierarquias, associações, atributos, eventos, ações e representações
gráficas. As ações, eventos e atributos que a classe integra são consideradas
reutilizadas no modelo.

A reutilização aplicada a componentes de alto nível, como classes e processos,
proporciona os mais altos índices de automatização. A contrapartida normalmente é
a incorporação de componentes de baixo nível que nunca são utilizados, mas que se
encontram incluídos no esquema por estarem inseridos nessa classe de processos.

A engenharia de software para possibilitar a reutilização

Até pouco tempo atrás, a questão de reutilização de software passava por um
problema de definição, ou seja, não havia uma precisão na planificação e estimação
de custos, pouca produtividade, elevadas cargas de manutenção e demandas
defasadas em relação à oferta, baixa qualidade dos produtos e grande dependência
dos desenvolvedores.

A engenharia de software proporcionou princípios, métodos e ferramentas que
permitiram driblar esses problemas, mas o panorama atual do andamento do
trabalho, a tecnologia das ferramentas de desenvolvimento e a grande sofisticação
do hardware empregado exigem que a engenharia de software melhore suas práticas
de criação de aplicações informáticas.


                                     - 15 –
A metodologia de reutilizar software recorre à engenharia de software, ao tratar do
desenvolvimento de sistemas com os objetos essenciais das atuais metodologias
orientadas a objetivos, linguagens de quarta geração e da interface gráfica de
usuário, mas também utiliza as Ciências da Informação para definir um sistema de
indexação, classificação e recuperação de todos os objetos necessários para
desenvolver a aplicação.

O mercado encontra na reutilização uma forma de enfrentar a crise do software e de
identificar como a companheira inseparável do paradigma orientado a objetos. Isso
acontece porque há uma demanda cada vez maior por produtos e serviços
confiáveis, mas ao mesmo tempo baratos e com curto tempo de entrega.

Existem dois pontos importantes a serem considerados: o desenvolvimento para
reutilização e o desenvolvimento com reutilização. Ambas, embora relacionadas,
apresentam características peculiares, mas que ainda não estão suficientemente
conceituadas ou desenvolvidas. Podemos dizer que a reutilização é um novo modelo
desenvolvimento de software que requer um suporte pela tecnologia que ainda não
está madura. Portanto, é necessário explicitar quando, como e onde reutilizar, ou
como desenvolver o elemento para a reutilização. Os repositórios representam um
passo a mais no processo para integrar a reutilização da engenharia de software.

A investigação sobre modelos de métricas e validação dos mesmos integra a
estrutura que possibilitará que a reutilização se converta em uma disciplina de
engenharia totalmente incorporada à engenharia de software. Um completo modelo
de reutilização deve ser composto de alguns pontos importantes:

A vertente técnica, em que se consolida o processo de desenvolvimento para a
reutilização e a integração com outras ferramentas.
A vertente de processo, encarregada dos aspectos de gestão e metodologia.
A vertente de qualificação e métricas, que compreende a política de qualificação dos
elementos reutilizáveis e dos processos, sustentada pelas métricas adequadas.

Reflexos da reutilização

A reutilização significa que haverá reflexos nas empresas com relação à
produtividade, a capacidade de manutenção, a portabilidade e a qualidade. Por isso,
o reuso deve se aplicar a cada etapa do ciclo de vida, caso contrário todos os
benefícios potenciais não serão aproveitados. Porém, para alguns estudiosos os
resultados que se obtêm são ainda mais significativos, já que ramificações completas
da estrutura do desenho podem ser reutilizadas. O ideal é reutilizar as
especificações, pois essa atitude permite eliminar completamente o esforço implicado
em desenhar, codificar e provar uma implementação da especificação. Durante a
fase de análises o engenheiro de software deve ser capaz de visualizar um
repositório corporativo de projetos finalizados, buscando especificações similares que
podem servir para o novo projeto.

                                      - 16 –
Os benefícios da reutilização podem ser medidos ao avaliar as fases de análises e de
desenho, assim como o custo de corrigir um defeito produzido em fases, comparando
ambos os custos com o de reutilizar informações de análises e desenho
desenvolvidas e provadas. Além disso, é preciso também ter em conta que as
decisões tomadas durante a fase de análises, de desenho ou de implementação,
estejam ausentes no código. Assim, ainda que a reutilização de módulos de código
de um sistema de base de dado possa reduzir os custos, a reutilização da
especificação funcional de todo o sistema pode dar lugar a reutilização do conjunto
completo de desenhos, módulos de códigos, documentação, casos de prova e
experiência associada ao usuário e tudo o que se desenvolveu a partir desta
especificação.

Para que esse conceito seja realmente eficiente é importante que haja uma
adaptação dos atuais modelos de ciclo de vida dos softwares, de modo que eles
possam suportar a reutilização em todas as fases e para todos os produtos. Um
importante requisito é a existência de um repositório (biblioteca de componentes
softwares reutilizáveis) e de um sistema automático de gestão dessa biblioteca. Os
componentes armazenados no repositório devem estar bem documentados, sendo o
sistema gestor da biblioteca o encarregado de organizar, proteger e gerenciá-los. É
necessário um mecanismo de busca para localizar os componentes de interesse,
sendo também imprescindível um mecanismo de análises para entender os
componentes, e outro para medir sua qualidade. Além disso, é necessário dispor das
capacidades para identificar as relações entre diferentes componentes.

A biblioteca de software reutilizável deve reunir as seguintes propriedades:

Um sistema de gestão de base de dados extenso para armazenar e recuperar
componentes, facilitando assim o acesso, a busca, o controle e a segurança.
Operações que permitam ao usuário criar, editar, ver e compor componentes.
Um esquema organizacional que atue como uma ajuda navegacional por meio da
biblioteca.
Facilidade para crescer

Desenvolvimento e métricas

O processo de desenvolvimento para o paradigma de Orientação ao Objeto se
comporta de forma diferente ao paradigma de desenvolvimento clássico. As fases de
análises e desenho não estão separadas. A diferença é ainda maior quando se
desenvolve com a reutilização. Alguns aspectos relevantes da qualidade e das
métricas devem ser considerados, desde o ponto de vista da reutilização, focando no
processo e no produto.




                                     - 17 –
Processo: O desenvolvimento de softwares com um alto valor de reutilização supõe
um incremento nos custos, pois trará mais valor ao produto. O modelo de custos
utilizado deverá incluir, de uma forma ou de outra, parâmetros que reflitam esse
valor adicionado ao produto. Com relação aos custos do desenvolvimento com a
reutilização, sabe-se que é o assunto conflitante, quando se está iniciando o projeto.
Porém, os modelos de estimação de custos deverão diferenciar os elementos
software que se desenvolvem por completo e aqueles que se reutilizam total e
parcialmente. Além disso, é importante lembrar que posteriormente os custos cairão,
já que com a reutilização, a produtividade aumentará.

Produto: As métricas servirão para controlar, entre outros, o reuso e fatores de
qualidade que sejam de interesse durante o desenvolvimento para reutilização. É um
fator que os desenvolvedores, devem desempenhar com o máximo de interesse para
que o investimento seja recuperado por meio da reutilização e da qualificação da
produção. Um dos suportes para a reutilização que integra ferramentas de diferentes
tipos atuando conjuntamente é o repositório. O papel desempenhado pela
administração de um repositório não se limitará somente a publicar e gerir o acesso
aos recursos recebidos. Também fará parte dessa ação um aspecto fundamental que
é a qualificação dos recursos, de forma que determinado recurso, para ser
considerado como tal, deve passar por um processo que lhe qualifique e o certifique
como elemento de valor e de qualidade. As métricas do produto integram as
ferramentas a serem utilizadas nesse processo. A exploração do repositório no
desenvolvimento com reutilização permitirá obter informações dos usuários que
podem dar lugar a revisões e ajustes nesse conjunto de métricas.




                                      - 18 –
Módulo 6 – Quatro passos para adotar SOA

O especialista em SOA, Benoit Lheureux, do Gartner, apontou na 5ª Conferência
Anual de Integração Empresarial, os quatro passos essenciais para uma
implementação bem-sucedida de Service Oriented Architecture: introdução,
disseminação, exploração de resultados e platô.Veja os passos detalhadamente.

Quatro passos para adotar SOA

O especialista em SOA Benoit Lheureux, vice-presidente e analista do Gartner,
integrou a programação da 5ª Conferência Anual de Integração Empresarial, com a
palestra “O cenário de integração: Novas tecnologias, Novos Padrões e Novos
Designs”. Ele apontou quais são os quatro passos para uma implementação bem-
sucedida de Service-Oriented Architecture: introdução, disseminação, exploração de
resultados e platô.

Introdução – É preciso definir um projeto-piloto. A implementação segmentada reduz
os investimentos e permite mostrar as melhorias da iniciativa para a alta direção
sem ter que enfrentar o risco de colocar SOA na empresa inteira.
Disseminação – Concluída a primeira fase, o desafio é espalhar esse conceito para
outras áreas, aumentando o escopo de atuação e as pessoas envolvidas.
Exploração dos Resultados – Qualquer projeto precisa de resultados num prazo
razoável. Documentando os benefícios resultantes da implementação, a adoção é
facilitada e cultura é adotada pela empresa.
Platô – Momento em que foi atingido o estado da arte sobre o tema, onde o conceito
pode ser conferido em sua plenitude e aproveitado na organização. Se o gestor pular
etapas, o fracasso está garantido.

A maioria das empresas está entre a Introdução e a Disseminação do conceito.
Assim, independente do país em que a companhia se encontra, ninguém está
distante demais em SOA.

Em pesquisa realizada pela IDC, em Londres, durante conferência sobre SOA, 60%
de um grupo de 140 executivos de TI responderam ainda estar na fase investigativa
em relação à arquitetura. A pesquisa mostrou que SOA ainda não foi completamente
assimilado. Na América Latina, o conceito levará ainda mais tempo para ser
entendido e aplicado. Na conclusão, foram destacadas dez orientações essenciais
para a adoção de SOA:

Entender que SOA é um dos seis elementos estratégicos para o Dynamic IT. Na
América Latina, as empresas, especialmente no segmento SMB, devem partir da
avaliação e do mapeamento de seus processos e rever visão, missão e planos de
longo prazo.



                                     - 19 –
Caso haja peças faltando, considerar os serviços de uma consultoria para unir TI aos
negócios
Manter o processo simples
Definir a informação que necessita ser padronizada
Mostrar o valor da proposta, considerando o uso de projetos-piloto e o
desenvolvimento de aplicações compostas
Executar o piloto, considerando os dados quantitativos e métricas do negócio
Apresentar os pontos-chave e estabelecer a confiança
Cobrar as métricas de ROI do fornecedor de serviços

Integração

A integração tradicional não pode atender às necessidades dos aplicativos de negócio
dinâmicos, heterogêneos, mas conscientes dos custos, dos dias atuais. Os sistemas
nervosos das empresas estão surgindo, alimentados por padrões, como por exemplo,
serviços e conceitos da Web, tais como SOA, mas prejudicados por aplicativos
legados, diferenças entre aplicativos em pacotes e demandas por controle local e
customização.

Nesse momento, os gestores de TI se deparam com uma série de questionamentos.
Quais serão os benefícios e limitações das três estratégias mais importantes de
migração: arrancar-e-substituir, embrulhar-e-aplicar reengenharia, e conservar-e-
criar camadas? De que maneira padrões como Java, XML e serviços Web afetam a
adoção de canais de serviço de empresa e outras tecnologias de integração? Como
as estratégias de integração de empresa reconciliam as necessidades de coerência e
reutilização com a necessidade de controle local e retorno imediato?

Para fazer frente a tais questionamentos, os analistas apontam o planejamento em
etapas como sendo a chave para sucesso de projetos de SOA. Estabelecer um plano
fragmentado em etapas e gerenciar expectativas é o grande desafio para
implantação de SOA e um dos principais fatores de sucesso para os projetos desse
tipo. O estabelecimento de uma estratégia passo-a-passo ajuda a evitar
sobreposições de fases.

Como um projeto de SOA pode provocar um impacto notável na cultura da
companhia, o aconselhável é começar aos poucos. O plano deve ser elaborado
mediante a combinação de análises críticas de negócios e de tecnologia. A criação de
um projeto-piloto o mais verossímil possível também pode contribuir para o sucesso
da implementação no momento de real implantação. É necessário escolher um
modelo com as exigências claras e escopo enxuto. Estabelecer as prioridades e
comunicá-las aos profissionais envolvidos também é crucial para o projeto,
determinando limites para as expectativas. Ao definir e planejar as etapas realistas
de implementação, muitas frustrações são evitadas. Além disso, é necessário rigor e
disciplina na governança dos projetos.


                                     - 20 –
SOA no Brasil: como e quando implantar

Ainda em fase embrionária no Brasil, a adoção de SOA é muito discutida por
executivos de TI, que precisam entender que é impossível começar um projeto dessa
dimensão sem antes instaurar uma política de governança.

Os especialistas aconselham a começar a implementação pelos processos mais
críticos para o negócio. Sugerem que as organizações comecem a implantar SOA aos
poucos. A adoção da nova arquitetura pode ser feita em etapas, conforme demandas
forem surgindo. O ideal é que as empresas apliquem SOA inicialmente em processos
críticos, que exijam mais agilidade, como os sistemas onde a lógica de negócios
possa ser facilmente desagregada da parte de apresentação.

Uma vez que a companhia decida aderir ao SOA, ela precisa se certificar de que os
projetos nascerão baseados na arquitetura. Quando for desenhar a arquitetura do
sistema, os responsáveis têm de ter o projeto de SOA em mente. Desde a concepção
do sistema, a nova arquitetura deve ser levada em consideração. Um dos principais
benefícios do SOA é a garantia de maior longevidade que ele proporciona aos
sistemas, ao criar a camada entre o mundo antigo e o novo. No médio prazo, as
empresas vão alcançar altíssima produtividade no desenvolvimento. Não vão
reconstruir aplicações, mas compô-las a partir de outras já existentes.

Durante a implementação do projeto SOA, as equipes identificarão serviços não
muito utilizados, mas dos quais as empresas também não devem se desfazer. Com
SOA, algumas funcionalidades serão abstraídas e outras integradas. A arquitetura
elimina retrabalho. As empresas devem construir um catálogo de serviços e utilizá-
los para outras aplicações. Outros especialistas acreditam que os desafios para a
adoção do SOA estão muito mais do lado organizacional e cultural da empresa, do
que em seu aspecto técnico. Um projeto de SOA só valerá a pena se houver
alinhamento entre tecnologia e os objetivos de negócios da companhia.




                                     - 21 –
Módulo 7 – Redução de custos

O principal objetivo do SOA é o atendimento das necessidades de negócio de forma
flexível e ágil, a partir de princípios bem definidos. Essa arquitetura é como um mapa
que coloca toda a empresa no rumo certo em relação às vantagens competitivas e
desafios futuros. Trata-se de um conjunto de políticas, práticas, normas,
procedimentos e frameworks que garantem a agilidade do ambiente de TI e maior
vantagem competitiva.

Compromisso entre TI e negócios

O grande diferencial competitivo das empresas líderes é a agilidade em redefinir
estratégias e a rápida adaptação às mudanças. Sem a informação adequada, no
momento certo, as chances de sucesso de uma nova iniciativa diminuem e, dessa
forma, a solução encontrada pelas empresas para mitigar o risco da imobilidade
corporativa muitas vezes está em ceder espaço às solicitações dos diferentes
departamentos, gerando com isso novas demandas de informações e sistemas.
Normalmente ações tomadas de forma rápida não obrigatoriamente significam ações
de menor custo.

Aí se encontra o grande paradoxo dessas organizações: Agilidade x Performance
Corporativa versus Manutenção x Redução de Custos. Em função desse paradoxo, a
percepção das áreas de negócio em relação à de TI é a de que esta última gasta
muito e não consegue atender os requisitos de negócio no tempo adequado. Essa
impressão é reforçada em geral por problemas de comunicação e baixa interação
entre as áreas. Reforçar o compromisso entre o departamento de TI e as áreas de
negócio é um dos fatores-chave de sucesso, para se conseguir flexibilidade e
agilidade na estruturação dos processos de negócio. Para isso, é importante explicar
e orientar as áreas sobre como a TI pode contribuir para o negócio, desenvolvendo
as soluções adequadas a um custo menor e com mais agilidade. A visão adequada de
arquitetura de sistemas nesse caso pode ser o primeiro passo, no sentido de reforçar
o entendimento das áreas de negócio quanto ao retorno esperado pelas soluções
propostas. Projetar essa arquitetura de forma adequada, portanto, é fator
preponderante para se conseguir a tão almejada agilidade. Nesse momento, o
conceito de SOA pode ser usado como o elo que une todas essas pontas.

Quanto mais sistemas implementados, menos conhecimento há dos aplicativos
realmente relevantes para os negócios. Esse é o cenário corporativo atual, um
contraponto para a adoção do conceito de SOA, que caminha de forma lenta, porém
efetiva, para tornar a tecnologia mais flexível e adaptável para benefício dos
processos de negócios. Mas SOA não é um conceito isolado. É um dos seis elementos
necessários para o modelo de Dynamic IT, proposto pela consultoria IDC, que requer
vários investimentos para o fluxo dos aplicativos empresariais, que por sua vez não
devem ser vistos de forma isolada, mas como uma extensão dos processos de
negócios.

                                      - 22 –
Isso, nas diversas etapas a seguir, desde a implantação de ferramentas de
produtividade, de colaboração, de sistemas isolados, sistemas integrados, CRM e
ERP, soluções de inteligência dos negócios, consolidação da infra-estrutura e
outsourcing até a adoção de SOA e NaaS, para atingir uma TI mais dinâmica.

Mas a realidade mostra que as empresas têm dificuldades em conhecer todos os seus
processos, como pede o SOA. A adequação à lei Sarbannes Oxley, por exemplo, as
obriga a olhar detidamente seus próprios processos, a fim de melhorá-los. Mas nem
sempre esses processos são claros. Observando o cenário brasileiro, as companhias
das áreas de telecomunicações e de finanças estão mais adiantadas em relação aos
outros segmentos do mercado.

Estratégia

A indústria se reinventa: conceitos e fundamentos pré-existentes são lançados
novamente ao mercado sob uma nova ótica. A euforia sobre esses conceitos traz à
tona novas oportunidades, em diferentes nichos. A estratégia SOA empregada pelos
grandes players está na redução de custos (TCO), aumento da produtividade e
encapsulamento da complexidade técnica. O ROI (retorno de investimento) está
quase sempre atrelado a estratégias de integração, em que o custo de integrar
ambientes heterogêneos, utilizando técnicas de baixo acoplamento, como servidores
de mensagens assíncronas, por exemplo, é excessivamente alto.

O SOA seria um paradigma arquitetural de desenvolver os componentes de sua
aplicação como serviços. Ele possibilita a criação de aplicações inteiras de forma
heterogênea, consumindo serviços de diferentes players. Trata-se de uma mudança
no formato, que outrora era inviável por questões de custos e especificação.

Evitar a sobreposição

Nas grandes corporações, para que o ROI de fato aconteça é preciso que a
mentalidade na concepção da estrutura das aplicações sofra alterações. Isso é
inerente à implementação tecnológica e à cultura empresarial, que deverá prover
unidades de análise de negócios que caminhem junto à área técnica, a fim de evitar
a sobreposição dos serviços. O fundamento central do SOA provém de uma
especificação pré-existente, os web services, que não teve êxito como esperado no
mercado. Sua repaginação para um novo modelo foi necessária. A idéia central dos
web services era válida, mas inicialmente teria sido mal vendida ao mercado, talvez
por falhas na especificação, deixando lacunas abertas, ou por falta de empenho das
empresas de TI em empregar e disponibilizar serviços sob tal formato.

O conceito de plataforma é mais amplo. Emprega o uso da rede como plataforma de
serviços, onde aplicações podem buscar uma determinada funcionalidade e essa ser
provida, sem precisar ser reescrita.


                                     - 23 –
A complexidade dessa nova tratativa é o centro da estratégia de algumas iniciativas
e um novo conceito está entrando em pauta, o SCA, de Service Component
Architecture.

Arquitetura Corporativa

Para se explicar o conceito de SOA, é necessário compreender o significado e a
importância da Arquitetura Corporativa de TI. Trata-se de uma visão compartilhada
com toda a empresa, que expõe e define como dados, sistemas, processos,
elementos de gerenciamento e ambiente devem trabalhar integrados como um todo,
de forma a suportar a operação da empresa em um processo contínuo de
alinhamento com o negócio. O SOA é uma forma de conceber ou projetar
arquiteturas corporativas de TI, disponibilizando recursos de software, ou seja,
funcionalidades, como serviços, agrupados em processos de negócio. O objetivo
principal é o atendimento das necessidades de negócio de forma flexível e ágil, a
partir de um conjunto bem definido de princípios. Tais princípios indicam que o
negócio define a necessidade do serviço, bem como o serviço define a necessidade
da tecnologia. Além disso, os serviços contam com interfaces bem definidas, com
fácil comunicação entre clientes e serviços e entre serviços. Dessa forma, o uso e a
organização dos serviços são garantidos, com a adoção de padrões abertos de
mercado, que possibilitam a interoperabilidade entre todos os integrantes do
ambiente de TI.

Em última análise, SOA é o mapa que coloca toda a empresa no rumo certo em
relação às vantagens competitivas. Trata-se de um conjunto de políticas, práticas,
normas, procedimentos e frameworks que garantem a agilidade do ambiente de TI
em relação aos processos de negócio com grande vantagem competitiva. Com essa
abordagem, temos à nossa disposição a flexibilidade de lidar com os processos de
negócio da mesma forma como podemos lidar de forma subjacente com a infra-
estrutura de TI, usando componentes que podem ser reutilizados e recombinados
para atender as mudanças de prioridade do negócio.

As empresas necessitam da abordagem de SOA, porque ela disponibiliza a longo
prazo a promessa de se utilizar o potencial de TI para acelerar e potencializar o
negócio, eliminando as frustrações com TI a partir da estruturação de soluções mais
flexíveis e prazos mais curtos de desenvolvimento. Ela também justifica e explica
custos e investimentos de TI, ao economizar recursos, esforço e tempo a longo prazo
em função da reutilização de componentes e da sua flexibilidade. Além disso, ela
oferece ao pessoal não-técnico um claro entendimento do que TI faz, como faz e o
real valor para o negócio.




                                     - 24 –
Vantagens

Sob o ponto de vista do CIO, as vantagens estão ligadas aos seguintes fatos:
diminuição da dependência da tecnologia para se conceber a solução, a fim de
trabalhar melhor os requerimentos do negócio; a TI assume o papel de facilitador
aproximando-se mais das áreas de negócio; melhor gerenciamento de recursos e
projetos de TI, onde o ROI de uma fase ou projeto pode ser utilizado para o próximo,
reduzindo os custos de forma geral; e, finalmente, um aumento significativo em
relação à influência do CIO, já que ele passa a ter participação mais ativa no
processo de definição da arquitetura, muito mais próximo ao negócio.




                                     - 25 –
Módulo 8 – Tendências

O mundo corporativo já observa o importante papel de SOA em alinhar os interesses
do departamento de TI e os objetivos financeiros das empresas. O que impulsiona a
decisão de optar por SOA é a grande flexibilidade e redução de custos ao integrar
aplicações já existentes. Por esse motivo, o cenário é um dos melhores para os
fornecedores de serviços especializados em SOA.

Integra aplicações e fornece serviços

O posicionamento de SOA no mercado está crescendo cada vez mais. Pesquisa feita
nos Estados unidos pelas revistas CIO e Computerworld aponta que 58% dos 612
executivos de TI entrevistados implementou o conceito ou tem planos de fazê-lo. O
resultado está diretamente ligado ao fato de que já se observa o importante papel de
SOA em alinhar os interesses do departamento de TI e os objetivos financeiros das
empresas, isso porque o conceito integra as aplicações e fornece serviços
diretamente aos clientes. Além disso, o que impulsiona a decisão de optar por SOA é
mais flexibilidade e redução de custos ao integrar aplicações existentes
proporcionadas pela arquitetura. Apesar disso, grande parte dos entrevistados
aponta que é necessário que haja uma evolução nas ferramentas e protocolos.

Para a parte do mercado que passa pelo processo de implementação, a necessidade
em destaque para melhor consolidar o conceito de SOA é a capacitação do pessoal.
Aproximadamente dois terços dos entrevistados está investindo no treinamento da
equipe para melhor atender os requisitos da implementação e quase metade,
aproximadamente 45%, vai contratar consultores e 19% vão terceirizar segmentos-
chave. A falta de pessoal e recursos foi apontada por 47% dos entrevistados que não
pensam em implementar SOA, 40% apontaram a falta de clareza sobre o ROI
(retorno sobre o investimento) e 38% responderam que lhes falta financiamento
para esse tipo de implementação.

Depois de concretizado o processo de implementação, 44% utilizarão SOA para
integrar aplicações internamente, 28% para fornecer serviços a clientes ou
consumidores e 21% para se conectarem com aplicações externas fornecidas por
parceiros. No que se refere aos desafios de SOA, 63% afirmam que tem como
objetivo mudar para uma arquitetura e metodologia SOA para satisfazer as
necessidades dos negócios atuais. Uma parcela de 56% afirmou que pretende
reformular a infra-estrutura para suportar SOA e 47% dizem que irão adequar as
metodologias dos desenvolvedores à nova arquitetura.

Até mesmo na escolha dos produtos o mercado tem características marcantes. Um
total de 62% dos CIOs responderam que consideram de grande importância o
suporte a protocolos e padrões essenciais de SOA. Outros 36% consideram esse
ponto relativamente importante.


                                     - 26 –
Outra pesquisa, feita pela IDC, mostra que o mercado americano aumentará os seus
investimentos na tendência até o final de 2006.

Privilégio para os fornecedores

Por esse motivo, temos um cenário privilegiado para os fornecedores de serviços
especializados em SOA. A IDC acredita que o caminho da indústria será manter os
esforços em educação, apresentação de produtos e demonstração dos benefícios que
os usuários de SOA podem agregar aos negócios. Além disso, a consultoria acredita
que terão dificuldades as empresas que optarem por implementar a arquitetura, sem
um desenvolvedor específico. Porém, as empresas que pensam em contratar um
provedor externo estão mais propensas a optar por grandes fornecedores,
consultorias ou integradores de sistemas, além das empresas de outsourcing. As
consultorias se mantêm no topo da lista, já que serviços adicionais são comumente
demandados nesse contexto. A pesquisa revela ainda que a decisão por implementar
SOA vem sempre do departamento de TI.

Previsão

Com a grande movimentação em relação ao conceito SOA, as empresas se preparam
para apresentar novas tecnologias, soluções e caminhos. Uma previsão do Gartner
aponta que em 2010, mais de 50% das grandes empresas terão consolidado um
portfólio de sistemas sob o padrão SOA, com o objetivo de ter uma plataforma
unificada de negócios. Outro levantamento feito pela Bea Systems para a InfoWorld
ouviu cerca de mil empresas no Estados Unidos para entender onde SOA se
posiciona nos projetos futuros de TI. Avaliando o estágio de implementação de SOA
nas empresas, apenas 28% dos entrevistados disseram ter implementado. Desse,
35% dizem que o processo está sendo implementado em toda a empresa. Um outro
ponto revela que 20% das empresas avaliam ou mesmo consideram a nova
arquitetura, enquanto que 21% confessam não ter nenhum plano relacionado ao
conceito e 31% nem se quer pararam para pensar na possibilidade de
implementação.

No mercado brasileiro, o conceito de SOA já é considerado o quinto maior item no
que se refere à importância para o CIO, porém sabe-se que ainda vivemos um
processo embrionário de desenvolvimento. Os fabricantes já começam a adequar
suas ferramentas à arquitetura e pretendem tirar os projetos do papel com mais
rapidez, principalmente por se tratar de uma adoção que interessa tanto aos
fornecedores quanto aos consumidores.

A expectativa é que SOA se torne um padrão para desenvolvimento de aplicativos e
seja então realidade nas empresas de todo o mundo.




                                     - 27 –
A perspectiva da IBM é que o uso crescente da arquitetura orientada a serviços
aumente a quantidade de transações que funcionam em sistemas mainframe,
fazendo-as inclusive dobrar até 2010. A projeção da empresa é baseada em pesquisa
feita pelo Forrester Research, com empresas americanas e européias.

O cenário mostra que 62% das companhias que possuem mais de 20 mil
funcionários estão usando ou pensam em utilizar um plano para aplicar SOA nos
próximos doze meses. O mercado está absorvendo o conceito de SOA e as empresas
visualizam o contexto em que estar focadas em software orientado a serviços pode
agregar valor e possibilitar respostas com mais eficiência e mais aproveitamento das
oportunidades.

Expansão do mercado

Uma pesquisa feita em Portugal pela IDC analisou o que será o mercado de TI no
período entre 2005 e 2009. O resultado mostrou que mais da metade dos
investimentos será direcionada para hardware, seguido de serviços e softwares. A
estimativa também é que haja um aparecimento cada vez maior de peças
tecnológicas e ferramentas de desenvolvimento orientadas para a implementação de
soluções SOA. Porém, vale ressaltar que a adoção desse tipo de arquitetura é um
processo que deve acontecer em longo prazo, principalmente porque para que as
organizações concretizem o conceito na realidade corporativa será preciso uma série
de providências que vão desde a preparação tecnológica e pessoal até o nível de
consolidação dos sistemas ou o estágio de desenvolvimento da estratégia de
integração. Nesse contexto, é normal sentir um mercado que avança em direção ao
conceito, porém de forma ainda receosa, ou seja, a adoção está sendo progressiva e
controlada para evitar grandes rupturas na cultura da empresa e nos sistemas de
informação. Um importante ponto na absorção da tendência pelo mercado está no
fato de que as tecnologias que suportam SOA estão em constante crescimento á
medida que as corporações incorporam os conceitos e absorvem os benefícios.

Na América Latina o conceito também está em grande ascensão. Segundo relatório
do Gartner, 80% dos projetos de desenvolvimento até 2008 estarão baseados em
arquitetura orientada a serviços. Exemplos de empresas dessa região que utilizam
este conceito por meio da Oracle, por exemplo, são: Matera Systems do Brasil, Open
Card da Colômbia, Farmalink da Argentina, Ministério da Fazenda e Crédito Público
do México, a Bolsa de Valores Mexicana, além da instituição para Depósito de
Valores, também mexicana.




                                     - 28 –
Novo conceito

Com a ampla discussão torno de SOA, o mercado vislumbra um olhar para o
chamado SOBA (Service-oriented Business Application), que embora tenha um nome
parecido, representa outra realidade. Ambos são usados para descrever infra-
estruturas de desenvolvimento de aplicativos, porém, a idéia é que SOBA possa ser
desenvolvido sobre SOA ou qualquer outra modelo ou padrão de infra-estrutura.

Essa nova sigla, criada por Charles Abrams, diretor de pesquisas do Gartner, coloca
SOBA em uma posição de última encarnação das soluções cliente/servidor. O modelo
do Gartner diz que SOBA pode variar desde uma simples interface XML baseada em
um aplicativo até uma baseada na mais sofisticada infra-estrutura que ainda possa
aparecer. Além disso, ele possui variantes que incluem componentes para
desenvolvimento de soluções para os mercados horizontal e vertical, suítes
corporativas modulares de fabricantes ou uma construção a partir de múltiplos
serviços desenvolvidos internamente.

Conclusão

Não apenas o mercado precisa se adequar ao novo conceito de SOA, mas quem
vende também. Nesse caso, não se trata dos fornecedores, dos quais já falamos,
mas também dos canais que deverão olhar com maior profundidade para o ambiente
de TI e para os clientes. A ampla adoção do conceito depende da ação dos três
agentes: clientes, fornecedores e canais. Expectativas da IDC apontam para um
crescimento de 138% dos investimentos em SOA somente em 2006, o que significa
cerca de 8,6 bilhões de dólares. Em 2010, o valor já estará chegando aos 33,8
bilhões de dólares, principalmente como reflexo da demanda dos setores de finanças
e telecomunicações.

Por esse motivo, todas as empresas que pretendem vender esse tipo de conceito
precisarão estudá-lo, para entender de que forma serão afetadas pela onda. Isso se
refere principalmente aos canais que oferecem desenvolvimento, integrações e
migrações. É importante também que os integradores se aprimorem com
certificações na área e estejam engajados no entendimento e difusão da arquitetura
orientada a serviços.

Por enquanto, quem implementa SOA é a grande empresa. A participação das
pequenas e médias empresas nesse contexto ainda é pequena, porém começa a
crescer e dar sinal de que observa a necessidade do mercado de ter sistemas
flexíveis e adaptados aos negócios.




                                     - 29 –

Más contenido relacionado

La actualidad más candente

Tendências em tecnologia e processos de gestão de relacionamento no csc
Tendências em tecnologia e processos de gestão de relacionamento no cscTendências em tecnologia e processos de gestão de relacionamento no csc
Tendências em tecnologia e processos de gestão de relacionamento no cscAlfaPeople
 
Fundamentos da gestao_de_processos_41744
Fundamentos da gestao_de_processos_41744Fundamentos da gestao_de_processos_41744
Fundamentos da gestao_de_processos_41744mapaiva
 
Tutorial BizAgi Modelagem de Processos de Negócio
Tutorial BizAgi Modelagem de Processos de NegócioTutorial BizAgi Modelagem de Processos de Negócio
Tutorial BizAgi Modelagem de Processos de NegócioRildo (@rildosan) Santos
 
Apresentação SOA
Apresentação SOAApresentação SOA
Apresentação SOAproxypt
 
Arquitetura orientada a serviço
Arquitetura orientada a serviçoArquitetura orientada a serviço
Arquitetura orientada a serviçocadeirudo
 
Aula 6 7 automação de processos
Aula 6 7   automação de processosAula 6 7   automação de processos
Aula 6 7 automação de processosMaurício Botelho
 
Processos
ProcessosProcessos
ProcessosCesuca
 
E-Book Sustentabilidade É Bom Negócio DOM Strategy Partners 2011
E-Book Sustentabilidade É Bom Negócio DOM Strategy Partners 2011E-Book Sustentabilidade É Bom Negócio DOM Strategy Partners 2011
E-Book Sustentabilidade É Bom Negócio DOM Strategy Partners 2011DOM Strategy Partners
 
Guia BABOK 3 Principais Mudanças Requisitos
Guia BABOK 3 Principais Mudanças RequisitosGuia BABOK 3 Principais Mudanças Requisitos
Guia BABOK 3 Principais Mudanças RequisitosRildo (@rildosan) Santos
 
Tcc Adolfo Stochiero - BPM - Business Process Management
Tcc Adolfo Stochiero - BPM - Business Process ManagementTcc Adolfo Stochiero - BPM - Business Process Management
Tcc Adolfo Stochiero - BPM - Business Process ManagementAdolfo Stochiero de Assis Mates
 
Tecnologias para a Colaboracao e o Sistema de Organizacao do Conhecimento
Tecnologias para a Colaboracao e o Sistema de Organizacao do ConhecimentoTecnologias para a Colaboracao e o Sistema de Organizacao do Conhecimento
Tecnologias para a Colaboracao e o Sistema de Organizacao do ConhecimentoJose Claudio Terra
 
As Empresas SãO Grandes ColeçõEs De Processos
As Empresas SãO Grandes ColeçõEs De ProcessosAs Empresas SãO Grandes ColeçõEs De Processos
As Empresas SãO Grandes ColeçõEs De Processosblogdaaula
 
ApresentaçãO Metodologia
ApresentaçãO MetodologiaApresentaçãO Metodologia
ApresentaçãO MetodologiaMarcos Yonamine
 
Workflow, Business Intelligence e Ferramentas Colaborativas
Workflow, Business Intelligence e Ferramentas ColaborativasWorkflow, Business Intelligence e Ferramentas Colaborativas
Workflow, Business Intelligence e Ferramentas Colaborativasigorc2
 

La actualidad más candente (20)

Tendências em tecnologia e processos de gestão de relacionamento no csc
Tendências em tecnologia e processos de gestão de relacionamento no cscTendências em tecnologia e processos de gestão de relacionamento no csc
Tendências em tecnologia e processos de gestão de relacionamento no csc
 
Fundamentos da gestao_de_processos_41744
Fundamentos da gestao_de_processos_41744Fundamentos da gestao_de_processos_41744
Fundamentos da gestao_de_processos_41744
 
Tutorial BizAgi Modelagem de Processos de Negócio
Tutorial BizAgi Modelagem de Processos de NegócioTutorial BizAgi Modelagem de Processos de Negócio
Tutorial BizAgi Modelagem de Processos de Negócio
 
Apresentação SOA
Apresentação SOAApresentação SOA
Apresentação SOA
 
Arquitetura orientada a serviço
Arquitetura orientada a serviçoArquitetura orientada a serviço
Arquitetura orientada a serviço
 
BPM Overview
BPM OverviewBPM Overview
BPM Overview
 
Aula 6 7 automação de processos
Aula 6 7   automação de processosAula 6 7   automação de processos
Aula 6 7 automação de processos
 
Processos
ProcessosProcessos
Processos
 
Artigo BPM
Artigo BPMArtigo BPM
Artigo BPM
 
3036-10910-1-PB
3036-10910-1-PB3036-10910-1-PB
3036-10910-1-PB
 
E-Book Sustentabilidade É Bom Negócio DOM Strategy Partners 2011
E-Book Sustentabilidade É Bom Negócio DOM Strategy Partners 2011E-Book Sustentabilidade É Bom Negócio DOM Strategy Partners 2011
E-Book Sustentabilidade É Bom Negócio DOM Strategy Partners 2011
 
Guia BABOK 3 Principais Mudanças Requisitos
Guia BABOK 3 Principais Mudanças RequisitosGuia BABOK 3 Principais Mudanças Requisitos
Guia BABOK 3 Principais Mudanças Requisitos
 
Sistemas Workflow
Sistemas WorkflowSistemas Workflow
Sistemas Workflow
 
Csc
CscCsc
Csc
 
Tcc Adolfo Stochiero - BPM - Business Process Management
Tcc Adolfo Stochiero - BPM - Business Process ManagementTcc Adolfo Stochiero - BPM - Business Process Management
Tcc Adolfo Stochiero - BPM - Business Process Management
 
Tecnologias para a Colaboracao e o Sistema de Organizacao do Conhecimento
Tecnologias para a Colaboracao e o Sistema de Organizacao do ConhecimentoTecnologias para a Colaboracao e o Sistema de Organizacao do Conhecimento
Tecnologias para a Colaboracao e o Sistema de Organizacao do Conhecimento
 
As Empresas SãO Grandes ColeçõEs De Processos
As Empresas SãO Grandes ColeçõEs De ProcessosAs Empresas SãO Grandes ColeçõEs De Processos
As Empresas SãO Grandes ColeçõEs De Processos
 
ApresentaçãO Metodologia
ApresentaçãO MetodologiaApresentaçãO Metodologia
ApresentaçãO Metodologia
 
Tcc conrado e geni 2009
Tcc conrado e geni 2009Tcc conrado e geni 2009
Tcc conrado e geni 2009
 
Workflow, Business Intelligence e Ferramentas Colaborativas
Workflow, Business Intelligence e Ferramentas ColaborativasWorkflow, Business Intelligence e Ferramentas Colaborativas
Workflow, Business Intelligence e Ferramentas Colaborativas
 

Similar a SOA: Uma ponte entre negócios e TI

Artigo - Arquitetura Orientada a Serviços (Estudo de Caso)
Artigo - Arquitetura Orientada a Serviços (Estudo de Caso)Artigo - Arquitetura Orientada a Serviços (Estudo de Caso)
Artigo - Arquitetura Orientada a Serviços (Estudo de Caso)Carlos Hisamitsu
 
Sistemas Distribuídos - Comunicação Distribuída – SOA
Sistemas Distribuídos - Comunicação Distribuída – SOASistemas Distribuídos - Comunicação Distribuída – SOA
Sistemas Distribuídos - Comunicação Distribuída – SOAAdriano Teixeira de Souza
 
SOA - Arquitetura Orientada a Serviços
SOA - Arquitetura Orientada a ServiçosSOA - Arquitetura Orientada a Serviços
SOA - Arquitetura Orientada a Serviçosalinebicudo
 
Estudo da aplicação da arquitetura orientada a serviços em um sistema de gest...
Estudo da aplicação da arquitetura orientada a serviços em um sistema de gest...Estudo da aplicação da arquitetura orientada a serviços em um sistema de gest...
Estudo da aplicação da arquitetura orientada a serviços em um sistema de gest...Glauco Vinicius Argentino de Oliveira
 
Palestra sobre a SOA foi destaque no Ciasc
Palestra sobre a SOA foi destaque no Ciasc  Palestra sobre a SOA foi destaque no Ciasc
Palestra sobre a SOA foi destaque no Ciasc guest880159
 
SOA e BPM, duas disciplinas, um só objectivo
SOA e BPM, duas disciplinas, um só objectivoSOA e BPM, duas disciplinas, um só objectivo
SOA e BPM, duas disciplinas, um só objectivoslidesharemsm
 
Múltiplas equipes ágeis com o framework Large Scale Scrum - um estudo de caso...
Múltiplas equipes ágeis com o framework Large Scale Scrum - um estudo de caso...Múltiplas equipes ágeis com o framework Large Scale Scrum - um estudo de caso...
Múltiplas equipes ágeis com o framework Large Scale Scrum - um estudo de caso...André Luis Celestino
 
Como Trazer o Legado para SOA
Como Trazer o Legado para SOAComo Trazer o Legado para SOA
Como Trazer o Legado para SOADavi Silva
 
Calculando o Retorno sobre o Investimento (ROI) em Projetos de Portais Corpor...
Calculando o Retorno sobre o Investimento (ROI) em Projetos de Portais Corpor...Calculando o Retorno sobre o Investimento (ROI) em Projetos de Portais Corpor...
Calculando o Retorno sobre o Investimento (ROI) em Projetos de Portais Corpor...Jose Claudio Terra
 
SOA - Service Oriented Architecture
SOA - Service Oriented ArchitectureSOA - Service Oriented Architecture
SOA - Service Oriented ArchitectureHugo Rodrigues
 
Automação de processos nas seguradoras
Automação de processos nas seguradorasAutomação de processos nas seguradoras
Automação de processos nas seguradoraseveris
 
Workflow, Business Intelligence e Ferramentas Colaborativas
Workflow, Business Intelligence e Ferramentas ColaborativasWorkflow, Business Intelligence e Ferramentas Colaborativas
Workflow, Business Intelligence e Ferramentas Colaborativasigorc2
 
possibilitando negócios ágeis e inteligentes
possibilitando negócios ágeis e inteligentespossibilitando negócios ágeis e inteligentes
possibilitando negócios ágeis e inteligentesKellvyn Pereira
 
Demandas de negócios e desenvolvimento de sistemas – Caminhos práticos para i...
Demandas de negócios e desenvolvimento de sistemas – Caminhos práticos para i...Demandas de negócios e desenvolvimento de sistemas – Caminhos práticos para i...
Demandas de negócios e desenvolvimento de sistemas – Caminhos práticos para i...Thiago Macedo
 
Workflow - Porque possuir um fluxo de trabalho organizado - Deskfy
Workflow - Porque possuir um fluxo de trabalho organizado - DeskfyWorkflow - Porque possuir um fluxo de trabalho organizado - Deskfy
Workflow - Porque possuir um fluxo de trabalho organizado - DeskfyDeskfy
 

Similar a SOA: Uma ponte entre negócios e TI (20)

Artigo - Arquitetura Orientada a Serviços (Estudo de Caso)
Artigo - Arquitetura Orientada a Serviços (Estudo de Caso)Artigo - Arquitetura Orientada a Serviços (Estudo de Caso)
Artigo - Arquitetura Orientada a Serviços (Estudo de Caso)
 
Sistemas Distribuídos - Comunicação Distribuída – SOA
Sistemas Distribuídos - Comunicação Distribuída – SOASistemas Distribuídos - Comunicação Distribuída – SOA
Sistemas Distribuídos - Comunicação Distribuída – SOA
 
SOA - Arquitetura Orientada a Serviços
SOA - Arquitetura Orientada a ServiçosSOA - Arquitetura Orientada a Serviços
SOA - Arquitetura Orientada a Serviços
 
Estudo da aplicação da arquitetura orientada a serviços em um sistema de gest...
Estudo da aplicação da arquitetura orientada a serviços em um sistema de gest...Estudo da aplicação da arquitetura orientada a serviços em um sistema de gest...
Estudo da aplicação da arquitetura orientada a serviços em um sistema de gest...
 
Tcc geral 0.2
Tcc geral 0.2Tcc geral 0.2
Tcc geral 0.2
 
Palestra sobre a SOA foi destaque no Ciasc
Palestra sobre a SOA foi destaque no Ciasc  Palestra sobre a SOA foi destaque no Ciasc
Palestra sobre a SOA foi destaque no Ciasc
 
SOA e BPM, duas disciplinas, um só objectivo
SOA e BPM, duas disciplinas, um só objectivoSOA e BPM, duas disciplinas, um só objectivo
SOA e BPM, duas disciplinas, um só objectivo
 
Múltiplas equipes ágeis com o framework Large Scale Scrum - um estudo de caso...
Múltiplas equipes ágeis com o framework Large Scale Scrum - um estudo de caso...Múltiplas equipes ágeis com o framework Large Scale Scrum - um estudo de caso...
Múltiplas equipes ágeis com o framework Large Scale Scrum - um estudo de caso...
 
Como Trazer o Legado para SOA
Como Trazer o Legado para SOAComo Trazer o Legado para SOA
Como Trazer o Legado para SOA
 
Calculando o Retorno sobre o Investimento (ROI) em Projetos de Portais Corpor...
Calculando o Retorno sobre o Investimento (ROI) em Projetos de Portais Corpor...Calculando o Retorno sobre o Investimento (ROI) em Projetos de Portais Corpor...
Calculando o Retorno sobre o Investimento (ROI) em Projetos de Portais Corpor...
 
SOA - Service Oriented Architecture
SOA - Service Oriented ArchitectureSOA - Service Oriented Architecture
SOA - Service Oriented Architecture
 
SOA
SOASOA
SOA
 
Dicas Para Avaliar Um Erp
Dicas Para Avaliar Um ErpDicas Para Avaliar Um Erp
Dicas Para Avaliar Um Erp
 
Gestão de serviços em ti
Gestão de serviços em tiGestão de serviços em ti
Gestão de serviços em ti
 
Automação de processos nas seguradoras
Automação de processos nas seguradorasAutomação de processos nas seguradoras
Automação de processos nas seguradoras
 
Workflow, Business Intelligence e Ferramentas Colaborativas
Workflow, Business Intelligence e Ferramentas ColaborativasWorkflow, Business Intelligence e Ferramentas Colaborativas
Workflow, Business Intelligence e Ferramentas Colaborativas
 
possibilitando negócios ágeis e inteligentes
possibilitando negócios ágeis e inteligentespossibilitando negócios ágeis e inteligentes
possibilitando negócios ágeis e inteligentes
 
Demandas de negócios e desenvolvimento de sistemas – Caminhos práticos para i...
Demandas de negócios e desenvolvimento de sistemas – Caminhos práticos para i...Demandas de negócios e desenvolvimento de sistemas – Caminhos práticos para i...
Demandas de negócios e desenvolvimento de sistemas – Caminhos práticos para i...
 
Workflow - Porque possuir um fluxo de trabalho organizado - Deskfy
Workflow - Porque possuir um fluxo de trabalho organizado - DeskfyWorkflow - Porque possuir um fluxo de trabalho organizado - Deskfy
Workflow - Porque possuir um fluxo de trabalho organizado - Deskfy
 
Artigo cloud computing pdf
Artigo cloud computing pdfArtigo cloud computing pdf
Artigo cloud computing pdf
 

Más de Robson Silva Espig (20)

Master Place - Convenção Bloco D
Master Place - Convenção Bloco DMaster Place - Convenção Bloco D
Master Place - Convenção Bloco D
 
Aquarelas Envelhecidas
Aquarelas EnvelhecidasAquarelas Envelhecidas
Aquarelas Envelhecidas
 
[ reference ] Processos - PMBOK
[ reference ] Processos - PMBOK[ reference ] Processos - PMBOK
[ reference ] Processos - PMBOK
 
[ ref ] Convergência - Mobilidade
[ ref ] Convergência - Mobilidade[ ref ] Convergência - Mobilidade
[ ref ] Convergência - Mobilidade
 
[ ref ] Normalizing a Data Model in SQL Server
[ ref ] Normalizing a Data Model in SQL Server[ ref ] Normalizing a Data Model in SQL Server
[ ref ] Normalizing a Data Model in SQL Server
 
A Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de SoftwareA Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de Software
 
Como implementar uma plataforma de ILM com eficiência, reduzindo custos
Como implementar uma plataforma de ILM com eficiência, reduzindo custosComo implementar uma plataforma de ILM com eficiência, reduzindo custos
Como implementar uma plataforma de ILM com eficiência, reduzindo custos
 
Gestao Projetos - Aula 02
Gestao Projetos - Aula 02Gestao Projetos - Aula 02
Gestao Projetos - Aula 02
 
Gestao Projetos - Aula 01
Gestao Projetos - Aula 01Gestao Projetos - Aula 01
Gestao Projetos - Aula 01
 
Aula 01
Aula 01Aula 01
Aula 01
 
Aula 05
Aula 05Aula 05
Aula 05
 
Aula 04
Aula 04Aula 04
Aula 04
 
Aula 02
Aula 02Aula 02
Aula 02
 
Caso de Desenvolvimento
Caso de DesenvolvimentoCaso de Desenvolvimento
Caso de Desenvolvimento
 
Aula 03
Aula 03Aula 03
Aula 03
 
Artigo Caso de Uso
Artigo Caso de UsoArtigo Caso de Uso
Artigo Caso de Uso
 
RAD
RADRAD
RAD
 
Analise de Requisitos de Software
Analise de Requisitos de SoftwareAnalise de Requisitos de Software
Analise de Requisitos de Software
 
Desenvolvimento Iterativo e Incremental
Desenvolvimento Iterativo e IncrementalDesenvolvimento Iterativo e Incremental
Desenvolvimento Iterativo e Incremental
 
Implantacao de Software
Implantacao de SoftwareImplantacao de Software
Implantacao de Software
 

SOA: Uma ponte entre negócios e TI

  • 1. SOA Módulo 1 – Introdução O grande desafio do SOA (Arquitetura Orientada a Serviços ou Service Oriented Architecture) é encontrar soluções que sejam compatíveis ao negócio e que se encaixem aos processos dos diferentes departamentos. No lançamento de um novo produto ou mesmo na fusão entre companhias, por exemplo, há muitos aspectos em TI que precisam ser revistos. Com o SOA, os processos podem ser alterados de forma rápida e eficiente. Introdução ao SOA Uma realidade recente, de pouco mais de seis anos, a Arquitetura Orientada a Serviços, ou como é comumente conhecida, o SOA (Service Oriented Architecture), chegou ao mundo corporativo paralelamente a uma mudança de postura que tomava conta das empresas em relação à Tecnologia da Informação e sua influência nos resultados. A TI, como já se sabe, é alvo de constantes transformações e não obstante demanda sempre melhoria ao elo dos interesses da empresa. Com o passar dos anos, o objetivo é, cada dia mais, encontrar tecnologias que garantam um desenvolvimento com maior eficiência dos negócios e agreguem valor aos serviços oferecidos. Nesse contexto, teoricamente a tecnologia poderia ser vista como uma ferramenta a favor dos processos corporativos. Mas nem sempre é assim. Há uma problemática que está freqüentemente no cotidiano dos departamentos das empresas e que inverte a ordem de quem deveria estar a serviço de quem. Os processos, sistemas e ações preestabelecidas geradas pela Tecnologia da Informação são, muitas vezes, tão inflexíveis e baseados em um padrão tão uniforme, que em vez de atenderem diferentes e mutantes demandas das corporações, acabam por fazer com que os negócios se adeqüem a elas. SOA: Uma ponte entre negócios e TI O grande desafio desse cenário é encontrar uma solução que seja compatível e flexível ao negócio de forma a se encaixar e a remodelar os processos dos diferentes departamentos, quando necessário. Substituir os sistemas legados para que eles se encaixem a essas novas demandas que surgem com o crescimento do negócio, pode ser, além de caro, uma ação que resulte em ineficiência. O conceito de SOA permite encontrar uma solução relativamente barata e com um custo-benefício maior quando se refere a sistemas que precisam conversar entre si e processos que demandam maior flexibilidade e agilidade para atender as revoluções do mercado. -1–
  • 2. A definição da arquitetura, de forma prática, pode ser colocada como um desenvolvimento orientado a serviços. Isso significa que as aplicações estarão alocadas de uma forma interdependente, reflexo de uma infra-estrutura de tecnologia preestabelecida e pensada para criar serviços com flexibilidade suficiente para serem reutilizados entre os sistemas. Assim, com o SOA, é possível acessar apenas uma parte dos serviços existentes, sem a necessidade de utilizar o processo completo. Estrutura diferenciada Quando uma empresa opta por utilizar o conceito, imediatamente se anula a questão da TI não acompanhar os negócios por não ter capacidade de tratar um processo como um todo. Com ele, a estrutura anterior fica para trás, com os muitos sistemas distintos cuidando de pequenos passos do processo e sendo redundantes entre si, além de exigir uma base de dados para cada um, dando lugar a maior inteligência e a otimização do ambiente de Tecnologia da Informação. Um exemplo interessante da aplicação do assunto que estamos debatendo é observar um mecanismo de recrutamento e seleção do RH. Isso envolve cadastro de candidatos, recrutamento, entrevista, testes, seleção e contratação. Todos esses processos são feitos com o objetivo de fazer a contratação de um funcionário específico. Porém, como reprogramar esse caminho quando o funcionário a ser contratado é uma mão-de-obra que já trabalha na empresa e precisa apenas ser transferida de área? Nesse caso, algumas fases dessa linha de contratação seriam excluídas, como, por exemplo, cadastro do candidato e seleção, por exemplo. Para modificar esse padrão, tradicionalmente era necessário fazer uma mudança, manualmente, para driblar os processos preestabelecidos. Já com a arquitetura orientada a serviços, basta utilizar apenas algumas partes desse processo já existente, de acordo com a granularidade do sistema. Quebra de paradigmas Com a chegada da tendência de Arquitetura Orientada a Serviços pode-se dizer que surge então uma mudança de paradigma no lidar com os processos e negócios. A necessidade de fortalecer os laços com os clientes e tornar a gestão de serviços mais produtiva ganhou um foco maior com o SOA, que pode ser visto como uma ferramenta de quebra de antigos padrões e que vislumbra novas possibilidades entre TI e negócios. Porém, é importante destacar que por ser ainda um conceito recente, o caminho para a chegada no estado da arte do SOA ainda é doloroso e trabalhoso em todos os departamentos de uma organização, afinal estamos falando de uma mudança de postura. -2–
  • 3. Vale lembrar que o conceito está intimamente ligado às pessoas, o que exige também um caminhar em direção à evolução organizacional e à conscientização e ao aculturamento para mudanças. Além disso, é preciso que seja estabelecido um padrão de gerenciamento de pessoas que seja não apenas eficiente, mas que também reúna a avaliação dos objetivos das pessoas em detrimento dos objetivos da organização. Nesse caso, temos uma estrutura em que se torna os desafios e expectativas da empresa aderentes à atuação do pessoal envolvido, o que pode ser um dos maiores desafios na mudança da gestão organizacional, mas também um dos pontos mais importantes. Estrutura corporativa em choque com as mudanças O grande problema enfrentado pelas empresas nos últimos anos, é que elas detêm sim uma tecnologia importante para a realização de suas metas, porém, as mudanças do mercado não são rapidamente absorvidas pra essa tecnologia que detém processos ainda pouco dinâmicos. Com a utilização do SOA, o cenário ganha um aspecto diferenciado em relação a isso e consegue responder mais rapidamente as incidências do dia-a-dia. Por exemplo, uma mudança no ambiente de negócios, um lançamento de produto concorrente ou mesmo uma fusão entre companhias provoca rápida reação por parte da empresa, já que com o SOA, os processos podem ser alterados rapidamente, uma vez que os serviços são disponibilizados pelos aplicativos e sistemas, sendo eles desenvolvidos internamente, ou adquiridos no mercado. Dessa forma, cria-se uma rotina de reutilização desses serviços por qualquer outro sistema ou processo que demande. Se o conceito, que ainda engatinha no que se refere à consolidação, for realmente implementado pelas companhias, haverá ainda uma otimização no próprio orçamento de TI. A razão disso é que hoje existe uma grande quantidade de fornecedores numa composição de uma mesma infra-estrutura e compartilhando informação com distintos padrões, porém, quando se opera com o SOA é possível criar um ambiente mais transparente e interoperável, ainda que haja muitos fabricantes em uma mesma cadeia tecnológica. A conclusão disso é uma queda dos custos principalmente quando se fala de manutenção dos sistemas e às aplicações para integração, gerando uma lacuna de investimento, o qual pode ser direcionado para novas soluções ou tecnologias. Outro ponto importante está na própria atuação da equipe de TI que poderá focar mais o trabalho em tarefas estratégicas do que apenas cuidar da manutenção da estrutura. Em destaque, porém, podemos colocar a transparência e a flexibilidade da estrutura de processos tecnológicos, resultando, conseqüentemente, em uma visualização mais concreta do retorno do investimento. -3–
  • 4. Módulo 2 – Conceituação Arquitetura Orientada a Serviços é um conceito abstrato que pode ser utilizado de diversas formas. Um ponto importante é que o SOA tem como base e componente fundamental o conceito de serviços. Outra característica da Arquitetura Orientada a Serviços é a possibilidade de fazer o reuso de softwares, que reduz o esforço de desenvolvimento aplicacional e diminui custos, além de atender com mais agilidade aos novos requisitos de negócios. Conceituação Definir Arquitetura Orientada a Serviços por vezes é complicado, já que trata-se de um conceito abstrato que pode ser utilizado de diversas formas e se transformar em ferramentas específicas de acordo com o negócio e com a empresa que decide adotá-lo. Segundo o ANSI/IEEE 2002 (American National Standards Institute), uma arquitetura de software trata basicamente de como os componentes fundamentais de um sistema se relacionam intrinsecamente e extrinsecamente. Nesse contexto, os aplicativos e rotinas são disponibilizados como serviços em uma rede de computadores, que pode ser a Internet ou mesmo intranet, permitindo uma comunicação por meio de padrões abertos. Por esse motivo, o web service é um recurso bastante utilizado para a criação dessa estrutura. Serviços Um ponto importante é que o SOA tem como base e componente fundamental o conceito de serviços. É uma espécie de função independente que permite que se faça uma ou mais requisições e que se ofereça uma ou mais respostas por meio de uma interface predefinida e padronizada. O destaque está no fato de que os serviços podem atuar utilizando apenas partes de um processo e editar ou mesmo processar uma transação. O importante quando se fala em serviços é saber que eles não podem depender do estado de outras funções ou processos. Isso quer dizer que a tecnologia que conduz o serviço, que pode ser uma linguagem de programação, por exemplo, não pode ser usada como instrumento de definição do serviço. Para organizar essa estrutura, é necessário seqüênciá-los de forma a fornecer uma lógica adicional para processar dados. É importante sempre fazer uma ressalva no que se refere à relação desses serviços com outros, pois não pode haver nenhuma dependência do primeiro com a condição do segundo. Com isso, se estabelece a possibilidade de o consumidor criar uma seqüência desses serviços e orquestrá-los em vários fluxos de forma a executar a lógica de uma aplicação. -4–
  • 5. Há então dois pontos importantes nesses processos descritos anteriormente: o consumidor, que consome e requisita os resultados ao provedor, ou seja, o outro lado da questão, executa o serviço e responde às necessidades. Para o sucesso das aplicações em SOA, é essencial que haja a capacidade de identificar os serviços e suas características. Essa ação depende, porém, de um diretório que disponibiliza quais são os serviços disponíveis em determinado domínio. O relacionamento entre os componentes que estão inseridos em uma aplicação precisa estar descrito em um contrato, que pode ser uma interface Java ou um arquivo XML, por exemplo. Dessa forma, cria-se uma rotina que facilita e explicita a dependência, a manutenção e a adaptação. Reuso de software Uma das características da Arquitetura Orientada a Serviços é a possibilidade de fazer o reuso de software. Essa ação surgiu a partir de uma necessidade de economizar recursos de hardware, já que há algum tempo atrás os dispositivos não possuíam memória suficiente para armazenar muitas rotinas. Por esse motivo, descobriu-se que era possível fazer tarefas similares por meio de uma única rotina baseada em parâmetros sem a necessidade de fazer uso de grande parte da memória. Porém, essa situação inicial se modificou, já que os componentes de hardwares evoluíram e os preços caíram. Com isso, o objetivo de fazer o reuso de software foi modificado. Agora, a razão de utilizá-lo é a possibilidade dada por ele de economizar recursos humanos. Sistemas abertos Para manter a flexibilidade demandada por muitos negócios, o SOA pode contar com a colaboração de sistemas abertos, que são aqueles em que é possível que novas entidades possam passar a compor o sistema, sair dele, ou mesmo evoluir. Há também o chamado sistema aberto distribuído, que permite que essas mesmas entidades estejam localizadas em máquinas diferentes. Com a utilização desses conceitos torna-se possível acessar distintas plataformas de hardware e implementações em diferentes linguagens de programação a partir do uso de um protocolo já definido e com uma interface com uma linguagem portável. Esse processo de intervenção nos sistemas começa quando o cliente por meio de algum identificador, como endereço IP, por exemplo, envia suas requisições para o servidor. Esse caminho é o chamado Sistema Distribuído Fechado, já que novas entidades não conseguem permissão para entrar no processo. -5–
  • 6. Há também os Sistemas Distribuídos que fornece aos clientes, de forma transparente, a entrada e a saída de componentes. Nesse caso, aquele identificador estático necessário para enviar requisições ao servidor, não mais é necessário, pois o servidor pode ser alterado desde a implementação até sua localização. Portanto, vemos que aplicações orientadas a serviços, são naturalmente aplicações distribuídas que utilizam os conceitos de distribuição, já que além de serem formadas por sistemas legados em diferentes máquinas, ainda garantem maior escalabilidade, o que é de extrema importância para a resolução dos problemas e demanda do requerente. Integração de sistemas Com o advento da internet, observamos uma revolução quando falamos em desenvolvimento de sistemas, pois a realidade diferenciada demandou uma série de mudanças de posturas, principalmente no que se refere aos sistemas de informação cooperativos em que se vêem agregadas diversas fontes de informação disponibilizadas ao usuário. Os sistemas que se tornaram cada vez mais heterogêneos, compostos de plataformas de hardware e software distintas, o que dificultava a formação de sistemas de informação cooperativos. Nesse contexto, entende-se que a necessidade de disponibilizar uma comunicação eficiente entre os sistemas é grande, ainda que o ambiente seja complexo e não uniformizado. Esses tipos de ambientes são eficientemente suportados por SOA, isso porque a arquitetura orientada a serviços trabalha com sistemas cooperativos abertos. Normalmente, os componentes dos sistemas estão sendo executados em máquinas distintas, podendo ser até mesmo, máquinas virtuais. Para se comunicarem podem utilizar um protocolo padronizado, um protocolo proprietário. Para concretizar projetos de integração de aplicações corporativas, o SOA está sendo bastante utilizado, principalmente porque as aplicações legadas já constituídas estão, geralmente, executadas em diversas plataformas, desde Linux em micro computadores até OS/390 em mainframes. De forma a tornar possível a comunicação entres esses sistemas, o que se faz é criar adaptadores que sejam capazes de acessar aplicações legadas e se comunicarem por meio do protocolo definido pelo sistema. Já esses sistemas, fazem o trabalho de disponibilizar as informações agora agregadas, fornecidas pelas diversas aplicações, sem a necessidade de reescrever linhas de código do legado. -6–
  • 7. Conclusão Com a arquitetura SOA, é possível transformar aplicações em componentes de software flexíveis, o que gera interoperabilidade entre diversas tecnologias. Como conseqüência dessa possibilidade, as aplicações legadas são alavancadas, há reutilização de software, redução dos custos de desenvolvimento e manutenção, além de transformação das soluções de negócios mais ágeis e fáceis de implementar. O reuso de software, como falamos anteriormente, se torna muito importante, principalmente, porque reduz o esforço de desenvolvimento aplicacional e os custos, além de satisfazer com mais agilidade novos requisitos de negócios. Vale lembrar que o web service é um caminho muito utilizado para a concretização desse processo. Eles providenciam um conjunto robusto e consistente de protocolos, regras e tecnologias que são completamente independentes das plataformas, sistemas ou linguagens de programação. A abordagem do conceito de SOA entre os clientes e os serviços resultam nos benefícios de interoperabilidade e cria-se uma ponte de acesso entre clientes e serviços, independente das plataformas que os suporta. Outra palavra-chave do conceito é Flexibilidade. Os componentes estão ligados de uma forma que possibilita a combinação semântica, a utilização de bibliotecas comuns e a divisão até de estados de execução. -7–
  • 8. Módulo 3 – Vantagens O SOA pode trazer muitos ganhos a uma companhia, principalmente porque as políticas globais são executadas uniformemente na rede e depois aplicadas nas interações de serviço. Com Arquitetura Orientada a Serviços é possível ter mais flexibilidade e adaptação de novas demandas. Quando uma companhia opta por uma arquitetura SOA, ela também opta por aprimorar a capacidade de utilizar os padrões já existentes, resultando em uma série de benefícios. Flexibilidade e adaptação Depois de entender os conceitos de SOA, vamos explorar as razões para implementá-lo. Quais são as vantagens e qual é a necessidade que justifica o investimento nessa tendência? Um fator importante ao optar por um novo modelo de arquitetura de software é a necessidade de transformar os modelos de negócios, que precisam caminhar junto com as novas demandas e objetivos das companhias. Ultimamente os negócios precisam constantemente se adaptar às novas bases de clientes, por exemplo. Essa habilidade de se adaptar rapidamente às novas bases e aos novos parceiros de negócios é a chave para o sucesso e significa ser dotado de uma característica importante no mercado competitivo de hoje: a flexibilidade e adaptação. Está aí a principal vantagem oferecida pela arquitetura orientada a serviços. Quando vemos a tendência do mercado de dividir os sistemas de TI com outras organizações, estamos de frente não apenas para uma realidade que busca maior valor para as empresas, mas também para uma realidade que demanda certos cuidados e diversas modificações nos sistemas. O processo de adaptação para a mudança o modelo de negócios não é fácil. São muitos sistemas legados que precisam ser modificados para se tornarem disponíveis. Esses sistemas legados precisam mudar para suportar as novas funções do negócio e se integrarem ao mais recente desenvolvimento dos sistemas ou se integrarem aos sistemas dos parceiros. A complexidade dessas ações é o que torna o conceito de SOA, muitas vezes, um grande desafio para as empresas. SOA para diminuir a complexidade Um exemplo interessante é imaginar que um departamento governamental, que tenha um sistema legado de gerenciamento de impostos que interaja com o legado do sistema de gerenciamento de negócios. O governo precisa incorporar um novo sistema que irá interagir com o legado de gerenciamento de negócios e conseqüentemente afetar o sistema de gerenciamento de impostos e taxas. Na essência, o que importa dizer é que, nesse contexto, os dois sistemas legados existentes anteriormente precisam ser reajustados para lidar com um novo tipo de negócio. O processo para isso é custoso, já que todo o sistema legado existente precisa ser alterado e depois passar por uma fase de testes e reajustes. -8–
  • 9. Porém, toda a complexidade descrita acima pode ser resolvida com a adoção de SOA. Com ele, os serviços trabalham em um esquema de extensão e, desse modo, podem lidar com vários tipos diferentes de entidades. O grande benefício do SOA é que ele é dirigido pelo modelo de negócios da organização e não o contrário. O benefício real está principalmente na redução de custo em reutilizar o modelo já existente. Outros pontos importantes estão na agilidade dos processos e na eliminação dos erros. Além disso, o SOA possibilita tarefas realizadas com consistência, alto desempenho, qualidade e com um controle mais bem-sucedido, já que a tecnologia garante a ação efetiva, dentro dos padrões pré-estabelecidos. É importante entender que adotar uma arquitetura orientada a serviços não significa necessariamente uma aquisição de tecnologia comum. A aquisição é, na verdade, um conceito que implica uso correto, melhores práticas e uma migração dos sistemas existentes. Vale ressaltar que o legado será aproveitado, uma vez que os investimentos anteriores serão integrados e não substituídos. O sucesso de SOA está também relacionado com seu gerenciamento. Por esse motivo, estão surgindo e se consolidando os padrões que podem uniformizar as políticas que sustentam o conceito. Uma abordagem de rede distribuída para SOA atinge uma maior evolução no que se refere a uma comunicação confiável, consistente e previsível entre serviços web implementados ao longo de uma corporação. Nesse caso, o projeto ganha em interoperabilidade e flexibilidade. Com isso, as corporações conquistam um mecanismo otimizado para implementar políticas que governam interações com serviços. Por causa desse benefício e à medida que departamentos distintos e projetos web se integrem, o grau de importância de SOA crescerá. Governança Um ponto importante na implementação de SOA é o que se refere à governança corporativa. Para que políticas essenciais sejam cumpridas e para que o compartilhamento e a reutilização de serviços sejam realmente efetuados, as empresas deverão contar com frameworks de governança de SOA para que os cumprimentos de políticas específicas para serviços e as interações entre eles sejam aderentes às regras. Se isso existir, conseqüentemente a empresa estará inserida em regras de negócios que agregam valor e que são essenciais para a competitividade, para adequação às normas e para a segurança. Um exemplo de como isso funciona é entender o mecanismo de uma rede de serviços em que todas as mensagens trocadas entre consumidores e fornecedores passam por uma rede de roteadores SOAP, que indica o ponto mais adequado para gerar uma governança uniforme das interações entre os serviços. O diferencial está no fato de que a inteligência de governança não está exclusivamente hospedada em diversos pontos finais, e sim, distribuída por toda a rede, de modo a ser executada de forma eficiente e uniforme. -9–
  • 10. Com isso, é possível adicionar outras tarefas no decorrer do processo. A vantagem está, então, no fato de que as políticas podem ser implementadas durante o caminhar das mensagens, sem interferir na comunicação entre os serviços e conseqüentemente qualquer ponto final pode ser acoplado à rede e exibido aos consumidores da corporação. O cenário atual mostra, porém, que as empresas estão ingressando em SOA com poucas iniciativas em web e centradas em projetos com padrões centrais como WSDL, SOAP e XML. Porém, as organizações que estiverem buscando iniciativas globais de SOA devem procurar padronização mais profunda para garantir a interoperabilidade dentro e fora dos departamentos. A possibilidade de colocar a governança em uma rede baseada em padrões é uma grande vantagem com relação à criação e à administração do conceito de SOA. Essa capacidade é importante porque cria uma rede inteligente em que não é necessário fazer hard-code e gerenciar políticas em cada ponto final independente. Pontos positivos na adoção de SOA A adoção de um conceito tão recente e ao mesmo tempo tão essencial pode, por vezes, parecer complexo demais. Porém, a consistência do SOA pode trazer ganhos consideráveis, principalmente porque como já dito, as políticas globais são executadas uniformemente na rede e posteriormente aplicadas em todas as interações de serviço. Isso resulta em uma aplicação consistente e que não depende dos conjuntos de habilidades de desenvolvedores ou necessidades individuais de projetos. Alcança-se uma maior flexibilidade e adaptação das novas demandas. O gerenciamento de troca simplificado é outro ponto importante para contabilizar ganhos. Vemos que os upgrades e modificações de diferentes políticas, que têm possibilidade de surgir durante os processos, podem ser implementados na rede e aplicados em todas as interações existentes. Com esse processo diferenciando, elimina-se a necessidade de solicitação de modificações a cada ponto final individual. As despesas administrativas ficam reduzidas quando se implementa um conceito de SOA. Isso acontece, porque, em geral, atualizar, executar e gerenciar políticas de infra-estrutura que estejam distribuídas em pontos finais individuais sugere uma alta despesa administrativa, o que é eliminado quando os trabalhos são transferidos para uma rede de serviços centralizada, o que reduz não apenas esses custos, mas também as responsabilidades de administração. É interessante a maneira como se dá a aceitação das políticas aplicadas aos processos com SOA. Podemos notar uma aplicação realmente consistente e garantida, uma vez que as mensagens não podem chegar ao ponto final, sem que as devidas políticas sejam aplicadas. Isso garante que nada do que foi programado será ignorado. Além disso, se for necessário alguma postura alternativa, as decisões dependem da competência de cada desenvolvedor corporativo. - 10 –
  • 11. Conclusão Quando uma companhia opta por uma arquitetura SOA consegue aprimorar a capacidade de utilizar os padrões e gerar uma série de benefícios. Entre eles está a liderança de padrões, que é extremamente importante já que as empresas de redes de serviços estão avançando cada vez mais nos processos de criação desses padrões e podem oferecer uma compreensão mais abrangente da adoção desse tipo de conceito junto aos consumidores e parceiros. Assim, os usuários podem entender melhor a estratégia e compreender onde devem ser feitas as aplicações de esforços de educação e desenvolvimento. Além disso, a intermediação desses padrões é bastante importante, pois ela permeia os serviços baseados em rede e possibilita que o usuário modifique mensagens e reúna da melhor forma os recursos de software. Um exemplo interessante é imaginar uma empresa que deseja atualizar serviços de produção que são efetivamente realizados por parceiros. A companhia quer fazer essa atualização de forma a colocar esses serviços em sintonia com os padrões mais atuais, porém, ao mesmo tempo não gostaria que os parceiros fossem forçados a participar da mudança. Nesse caso, a facilidade está no fato de que a empresa poder, ela mesma, alterar as mensagens durante a intermediação, para facilitar a comunicação contínua. As redes de serviços também funcionam como uma camada de isolamento, ao trabalhar entre os recursos de software e padrões que estão sempre em processo de evolução. As mensagens passam entre interfaces em uma rede distribuída de roteadores ligados e localizados nas extremidades da rede, o que possibilita uma melhor comunicação e um conceito de SOA efetivamente escalável. Essa rede de serviços age também como uma espécie de governança otimizada de SOA, que ganha mais importância conforme se dá a expansão do SOA, o que garante que a empresa veja as vantagens do compartilhamento e da reutilização de serviços. Apesar de recente, o conceito SOA tem despertado grande interesse no mercado, que já enxerga o business value do conceito. - 11 –
  • 12. Módulo 4 – Mercado Aos poucos o mercado começa notar a atuação de SOA nos negócios. Isso porque, quem utiliza SOA consegue oferecer novos serviços rapidamente, o que pode acontecer por meio de sistemas de TI novos ou existentes. Uma pesquisa feita nos Estados Unidos pelas revistas CIO e Computerworld identificou que 58% dos 612 executivos de TI entrevistados implementou o conceito ou pretendem implantar o SOA a curto prazo. Consolidação A aceitação do mercado ao conceito de SOA está se expandindo cada vez mais. A demanda crescente está estimulando as empresas fornecedoras a se unirem em estratégias e ações que maximizem a atuação da tendência e impulsionem o mercado para a consolidação. Muito se fala sobre SOA, mas ainda não há um padrão de desenvolvimento definido, as pequenas e médias empresas ainda desconhecem a visão do conceito como gerador de valor aos negócios. Além disso, há também um desconhecimento com relação aos custos e o retorno do investimento. A tendência é que esses pontos acima descritos sejam dissolvidos em pouco tempo, como reflexo das ações de mercado que já começam a acontecer e principalmente com a visibilidade que SOA tomará nos próximos anos. Estratégia de padronização O grupo denominado Open SOA resulta da aliança entre Oracle, SAP e BEA. Seu principal objetivo é criar sugestões de padrão de desenvolvimento para arquiteturas orientadas a serviços. Trata-se de uma forma de dar atenção ao tema e atender a pressão por padrões que garantam a integração entre tecnologias de diversos fabricantes. Participaram da fundação do grupo empresas especializadas como Iona Technologies, Sybase, Xcalia e Zend Technologies. A necessidade de estabelecer padrões é tão grande que algumas empresas que se uniram são rivais. Mas a criação de determinados pontos demanda que a competitividade seja deixada de lado, até que sejam definidas as características que conseqüentemente agregarão valor a todas as empresas que se relacionem com SOA. A partir de então, poderão dispor de uma forma simples de construção de aplicações componentizadas. Os esforços estão sendo concentrados em dois projetos. O primeiro trata da arquitetura de componentes de serviços (SCA, do inglês service component architecture), que tem o objetivo de definir modelos para criar e reunir componentes de serviços. O segundo projeto é o chamado Service Data Objects (SDO), responsável por estabelecer parâmetros de gerenciamento de dados em aplicações SOA. Até o fim de 2006, as empresas esperam submeter as duas iniciativas a um corpo de definição de padrões. - 12 –
  • 13. Hoje, a aliança já conta com a participação de 17 empresas. As últimas companhias que ingressaram na iniciativa foram Progress Software, Red Hat, Software AG e Sun Microsystems. Pequenas e médias empresas A mais recente ação da Magic Software anunciada em julho de 2006 visa a disseminação do conceito SOA para pequenas e médias empresas. A empresa seleciona integradores de software e prestadores de serviços de TI sendo desenvolvedores de ERP, CRM, supply chain e outras aplicações para gestão do negócio, de modo a criar uma rede de atendimento a pequenas e médias empresas para fornecimento de soluções baseadas na arquitetura orientada a serviços. Esse é somente um exemplo das ações de mercado que estão se voltando para a abrangência do mercado de SOA. O objetivo é mostrar que SOA não é apenas uma sigla longe da realidade corporativa de pequeno porte, mas sim um conceito de gestão empresarial acessível a qualquer tipo de negócio. Para a Magic Software, a estratégia está rendendo novos negócios. A companhia trabalha em nove projetos de integração de processos que contam com o apoio de SOA e BPM. A Oracle também criou o Fusion Middleware para adoção e administração de arquiteturas orientadas a serviços, em ambientes heterogêneos de TI. Trata-se de uma forma de fundir as melhores práticas de todas as linhas de produtos e tecnologias que a empresa oferece, reduzindo a complexidade dos ambientes de TI. SOA e América Latina O mercado da América Latina também desperta para o conceito SOA. A constatação vem da própria Oracle e dos resultados apontados com o Oracle Fusion Middleware. Relatório do instituto de pesquisas Gartner revela que a arquitetura orientada a serviços será a base de 80% dos projetos de desenvolvimento até o ano de 2008. Para a Oracle, as empresas clientes dessa região optam cada vez mais pelos componentes do Oracle SOA Suíte. Alguns clientes Oracle que estão fazendo uso da tendência são: Matera Systems do Brasil, Open Card da Colômbia, Farmalink da Argentina, o Ministério da Fazenda e Crédito Público do México, a Bolsa Mexicana de Valores (BMV), além da Instituição para Depósito de Valores (Indeval), também do México. A questão é que há uma percepção, ainda que em consolidação, de que, com o uso de SOA, conquista-se mais flexibilidade e eficiência no negócio e na redução de custos. - 13 –
  • 14. Percepção do mercado É consenso, entre os fornecedores e atuais usuários, que aos poucos o mercado começa notar a atuação de SOA. Isso porque quem utiliza SOA consegue oferecer novos serviços rapidamente, o que pode acontecer por meio de sistemas de TI novos ou existentes, não importando se são antigos, proprietários ou fechados. Estabelece- se então uma atuação em que não é preciso implementar projetos caros e fora da realidade de algumas empresas, além de ser possível usufruir de uma plataforma integral de gestão do ciclo de vida dos serviços. O que os recentes usuários estão notando é que o SOA veio trazer evolução para os produtos e para a maneira de lidar com os negócios e prover integração sem grandes impactos. Uma pesquisa feita nos Estados Unidos pelas revistas CIO e Computerworld identificou que 58% dos 612 executivos de TI entrevistados implementou o conceito ou tem planos para fazê-lo. Aproximadamente 44% deles utilizarão SOA para integrar aplicações internamente, 28% para fornecer serviços a clientes ou consumidores e 21% para se conectarem com aplicações externas fornecidas por parceiros. Expectativas da IDC apontam para um crescimento de 138% dos investimentos em SOA somente neste ano, o que significa cerca de 8,6 bilhões de dólares. Em 2010 o valor chegará aos 33,8 bilhões de dólares, principalmente como reflexo da demanda dos setores de finanças e telecomunicações. Veja mais informações sobre as tendências e expectativas do mercado no módulo 8 de tendências. - 14 –
  • 15. Módulo 5 – Reutilização de Software Até pouco tempo atrás, a questão de reutilização de software passava por um problema de definição. No entanto, a engenharia de software proporcionou princípios, métodos e ferramentas que permitiram driblar esses problemas. É preciso ter em mente que, por melhor que seja, a reutilização significa mudança de postura nas empresas, em diversas áreas e em vários momentos. Produtividade e benefícios A reutilização de software, apesar de ser um conceito de SOA que permite redução de custos, ainda não está concretizada na indústria de software, embora toda a comunidade de TI já observe a produtividade e os benefícios de que envolvem a estratégia. O mercado começa agora a vislumbrar uma metodologia orientada ao conceito de modo a desenvolver software utilizando objetos que tenham sido produzidos previamente. Um componente é considerado reutilizado quando é introduzido em um novo esquema junto com toda a informação que possui. Assim, uma classe é reutilizada ao ser introduzida em um esquema junto com todas as suas hierarquias, associações, atributos, eventos, ações e representações gráficas. As ações, eventos e atributos que a classe integra são consideradas reutilizadas no modelo. A reutilização aplicada a componentes de alto nível, como classes e processos, proporciona os mais altos índices de automatização. A contrapartida normalmente é a incorporação de componentes de baixo nível que nunca são utilizados, mas que se encontram incluídos no esquema por estarem inseridos nessa classe de processos. A engenharia de software para possibilitar a reutilização Até pouco tempo atrás, a questão de reutilização de software passava por um problema de definição, ou seja, não havia uma precisão na planificação e estimação de custos, pouca produtividade, elevadas cargas de manutenção e demandas defasadas em relação à oferta, baixa qualidade dos produtos e grande dependência dos desenvolvedores. A engenharia de software proporcionou princípios, métodos e ferramentas que permitiram driblar esses problemas, mas o panorama atual do andamento do trabalho, a tecnologia das ferramentas de desenvolvimento e a grande sofisticação do hardware empregado exigem que a engenharia de software melhore suas práticas de criação de aplicações informáticas. - 15 –
  • 16. A metodologia de reutilizar software recorre à engenharia de software, ao tratar do desenvolvimento de sistemas com os objetos essenciais das atuais metodologias orientadas a objetivos, linguagens de quarta geração e da interface gráfica de usuário, mas também utiliza as Ciências da Informação para definir um sistema de indexação, classificação e recuperação de todos os objetos necessários para desenvolver a aplicação. O mercado encontra na reutilização uma forma de enfrentar a crise do software e de identificar como a companheira inseparável do paradigma orientado a objetos. Isso acontece porque há uma demanda cada vez maior por produtos e serviços confiáveis, mas ao mesmo tempo baratos e com curto tempo de entrega. Existem dois pontos importantes a serem considerados: o desenvolvimento para reutilização e o desenvolvimento com reutilização. Ambas, embora relacionadas, apresentam características peculiares, mas que ainda não estão suficientemente conceituadas ou desenvolvidas. Podemos dizer que a reutilização é um novo modelo desenvolvimento de software que requer um suporte pela tecnologia que ainda não está madura. Portanto, é necessário explicitar quando, como e onde reutilizar, ou como desenvolver o elemento para a reutilização. Os repositórios representam um passo a mais no processo para integrar a reutilização da engenharia de software. A investigação sobre modelos de métricas e validação dos mesmos integra a estrutura que possibilitará que a reutilização se converta em uma disciplina de engenharia totalmente incorporada à engenharia de software. Um completo modelo de reutilização deve ser composto de alguns pontos importantes: A vertente técnica, em que se consolida o processo de desenvolvimento para a reutilização e a integração com outras ferramentas. A vertente de processo, encarregada dos aspectos de gestão e metodologia. A vertente de qualificação e métricas, que compreende a política de qualificação dos elementos reutilizáveis e dos processos, sustentada pelas métricas adequadas. Reflexos da reutilização A reutilização significa que haverá reflexos nas empresas com relação à produtividade, a capacidade de manutenção, a portabilidade e a qualidade. Por isso, o reuso deve se aplicar a cada etapa do ciclo de vida, caso contrário todos os benefícios potenciais não serão aproveitados. Porém, para alguns estudiosos os resultados que se obtêm são ainda mais significativos, já que ramificações completas da estrutura do desenho podem ser reutilizadas. O ideal é reutilizar as especificações, pois essa atitude permite eliminar completamente o esforço implicado em desenhar, codificar e provar uma implementação da especificação. Durante a fase de análises o engenheiro de software deve ser capaz de visualizar um repositório corporativo de projetos finalizados, buscando especificações similares que podem servir para o novo projeto. - 16 –
  • 17. Os benefícios da reutilização podem ser medidos ao avaliar as fases de análises e de desenho, assim como o custo de corrigir um defeito produzido em fases, comparando ambos os custos com o de reutilizar informações de análises e desenho desenvolvidas e provadas. Além disso, é preciso também ter em conta que as decisões tomadas durante a fase de análises, de desenho ou de implementação, estejam ausentes no código. Assim, ainda que a reutilização de módulos de código de um sistema de base de dado possa reduzir os custos, a reutilização da especificação funcional de todo o sistema pode dar lugar a reutilização do conjunto completo de desenhos, módulos de códigos, documentação, casos de prova e experiência associada ao usuário e tudo o que se desenvolveu a partir desta especificação. Para que esse conceito seja realmente eficiente é importante que haja uma adaptação dos atuais modelos de ciclo de vida dos softwares, de modo que eles possam suportar a reutilização em todas as fases e para todos os produtos. Um importante requisito é a existência de um repositório (biblioteca de componentes softwares reutilizáveis) e de um sistema automático de gestão dessa biblioteca. Os componentes armazenados no repositório devem estar bem documentados, sendo o sistema gestor da biblioteca o encarregado de organizar, proteger e gerenciá-los. É necessário um mecanismo de busca para localizar os componentes de interesse, sendo também imprescindível um mecanismo de análises para entender os componentes, e outro para medir sua qualidade. Além disso, é necessário dispor das capacidades para identificar as relações entre diferentes componentes. A biblioteca de software reutilizável deve reunir as seguintes propriedades: Um sistema de gestão de base de dados extenso para armazenar e recuperar componentes, facilitando assim o acesso, a busca, o controle e a segurança. Operações que permitam ao usuário criar, editar, ver e compor componentes. Um esquema organizacional que atue como uma ajuda navegacional por meio da biblioteca. Facilidade para crescer Desenvolvimento e métricas O processo de desenvolvimento para o paradigma de Orientação ao Objeto se comporta de forma diferente ao paradigma de desenvolvimento clássico. As fases de análises e desenho não estão separadas. A diferença é ainda maior quando se desenvolve com a reutilização. Alguns aspectos relevantes da qualidade e das métricas devem ser considerados, desde o ponto de vista da reutilização, focando no processo e no produto. - 17 –
  • 18. Processo: O desenvolvimento de softwares com um alto valor de reutilização supõe um incremento nos custos, pois trará mais valor ao produto. O modelo de custos utilizado deverá incluir, de uma forma ou de outra, parâmetros que reflitam esse valor adicionado ao produto. Com relação aos custos do desenvolvimento com a reutilização, sabe-se que é o assunto conflitante, quando se está iniciando o projeto. Porém, os modelos de estimação de custos deverão diferenciar os elementos software que se desenvolvem por completo e aqueles que se reutilizam total e parcialmente. Além disso, é importante lembrar que posteriormente os custos cairão, já que com a reutilização, a produtividade aumentará. Produto: As métricas servirão para controlar, entre outros, o reuso e fatores de qualidade que sejam de interesse durante o desenvolvimento para reutilização. É um fator que os desenvolvedores, devem desempenhar com o máximo de interesse para que o investimento seja recuperado por meio da reutilização e da qualificação da produção. Um dos suportes para a reutilização que integra ferramentas de diferentes tipos atuando conjuntamente é o repositório. O papel desempenhado pela administração de um repositório não se limitará somente a publicar e gerir o acesso aos recursos recebidos. Também fará parte dessa ação um aspecto fundamental que é a qualificação dos recursos, de forma que determinado recurso, para ser considerado como tal, deve passar por um processo que lhe qualifique e o certifique como elemento de valor e de qualidade. As métricas do produto integram as ferramentas a serem utilizadas nesse processo. A exploração do repositório no desenvolvimento com reutilização permitirá obter informações dos usuários que podem dar lugar a revisões e ajustes nesse conjunto de métricas. - 18 –
  • 19. Módulo 6 – Quatro passos para adotar SOA O especialista em SOA, Benoit Lheureux, do Gartner, apontou na 5ª Conferência Anual de Integração Empresarial, os quatro passos essenciais para uma implementação bem-sucedida de Service Oriented Architecture: introdução, disseminação, exploração de resultados e platô.Veja os passos detalhadamente. Quatro passos para adotar SOA O especialista em SOA Benoit Lheureux, vice-presidente e analista do Gartner, integrou a programação da 5ª Conferência Anual de Integração Empresarial, com a palestra “O cenário de integração: Novas tecnologias, Novos Padrões e Novos Designs”. Ele apontou quais são os quatro passos para uma implementação bem- sucedida de Service-Oriented Architecture: introdução, disseminação, exploração de resultados e platô. Introdução – É preciso definir um projeto-piloto. A implementação segmentada reduz os investimentos e permite mostrar as melhorias da iniciativa para a alta direção sem ter que enfrentar o risco de colocar SOA na empresa inteira. Disseminação – Concluída a primeira fase, o desafio é espalhar esse conceito para outras áreas, aumentando o escopo de atuação e as pessoas envolvidas. Exploração dos Resultados – Qualquer projeto precisa de resultados num prazo razoável. Documentando os benefícios resultantes da implementação, a adoção é facilitada e cultura é adotada pela empresa. Platô – Momento em que foi atingido o estado da arte sobre o tema, onde o conceito pode ser conferido em sua plenitude e aproveitado na organização. Se o gestor pular etapas, o fracasso está garantido. A maioria das empresas está entre a Introdução e a Disseminação do conceito. Assim, independente do país em que a companhia se encontra, ninguém está distante demais em SOA. Em pesquisa realizada pela IDC, em Londres, durante conferência sobre SOA, 60% de um grupo de 140 executivos de TI responderam ainda estar na fase investigativa em relação à arquitetura. A pesquisa mostrou que SOA ainda não foi completamente assimilado. Na América Latina, o conceito levará ainda mais tempo para ser entendido e aplicado. Na conclusão, foram destacadas dez orientações essenciais para a adoção de SOA: Entender que SOA é um dos seis elementos estratégicos para o Dynamic IT. Na América Latina, as empresas, especialmente no segmento SMB, devem partir da avaliação e do mapeamento de seus processos e rever visão, missão e planos de longo prazo. - 19 –
  • 20. Caso haja peças faltando, considerar os serviços de uma consultoria para unir TI aos negócios Manter o processo simples Definir a informação que necessita ser padronizada Mostrar o valor da proposta, considerando o uso de projetos-piloto e o desenvolvimento de aplicações compostas Executar o piloto, considerando os dados quantitativos e métricas do negócio Apresentar os pontos-chave e estabelecer a confiança Cobrar as métricas de ROI do fornecedor de serviços Integração A integração tradicional não pode atender às necessidades dos aplicativos de negócio dinâmicos, heterogêneos, mas conscientes dos custos, dos dias atuais. Os sistemas nervosos das empresas estão surgindo, alimentados por padrões, como por exemplo, serviços e conceitos da Web, tais como SOA, mas prejudicados por aplicativos legados, diferenças entre aplicativos em pacotes e demandas por controle local e customização. Nesse momento, os gestores de TI se deparam com uma série de questionamentos. Quais serão os benefícios e limitações das três estratégias mais importantes de migração: arrancar-e-substituir, embrulhar-e-aplicar reengenharia, e conservar-e- criar camadas? De que maneira padrões como Java, XML e serviços Web afetam a adoção de canais de serviço de empresa e outras tecnologias de integração? Como as estratégias de integração de empresa reconciliam as necessidades de coerência e reutilização com a necessidade de controle local e retorno imediato? Para fazer frente a tais questionamentos, os analistas apontam o planejamento em etapas como sendo a chave para sucesso de projetos de SOA. Estabelecer um plano fragmentado em etapas e gerenciar expectativas é o grande desafio para implantação de SOA e um dos principais fatores de sucesso para os projetos desse tipo. O estabelecimento de uma estratégia passo-a-passo ajuda a evitar sobreposições de fases. Como um projeto de SOA pode provocar um impacto notável na cultura da companhia, o aconselhável é começar aos poucos. O plano deve ser elaborado mediante a combinação de análises críticas de negócios e de tecnologia. A criação de um projeto-piloto o mais verossímil possível também pode contribuir para o sucesso da implementação no momento de real implantação. É necessário escolher um modelo com as exigências claras e escopo enxuto. Estabelecer as prioridades e comunicá-las aos profissionais envolvidos também é crucial para o projeto, determinando limites para as expectativas. Ao definir e planejar as etapas realistas de implementação, muitas frustrações são evitadas. Além disso, é necessário rigor e disciplina na governança dos projetos. - 20 –
  • 21. SOA no Brasil: como e quando implantar Ainda em fase embrionária no Brasil, a adoção de SOA é muito discutida por executivos de TI, que precisam entender que é impossível começar um projeto dessa dimensão sem antes instaurar uma política de governança. Os especialistas aconselham a começar a implementação pelos processos mais críticos para o negócio. Sugerem que as organizações comecem a implantar SOA aos poucos. A adoção da nova arquitetura pode ser feita em etapas, conforme demandas forem surgindo. O ideal é que as empresas apliquem SOA inicialmente em processos críticos, que exijam mais agilidade, como os sistemas onde a lógica de negócios possa ser facilmente desagregada da parte de apresentação. Uma vez que a companhia decida aderir ao SOA, ela precisa se certificar de que os projetos nascerão baseados na arquitetura. Quando for desenhar a arquitetura do sistema, os responsáveis têm de ter o projeto de SOA em mente. Desde a concepção do sistema, a nova arquitetura deve ser levada em consideração. Um dos principais benefícios do SOA é a garantia de maior longevidade que ele proporciona aos sistemas, ao criar a camada entre o mundo antigo e o novo. No médio prazo, as empresas vão alcançar altíssima produtividade no desenvolvimento. Não vão reconstruir aplicações, mas compô-las a partir de outras já existentes. Durante a implementação do projeto SOA, as equipes identificarão serviços não muito utilizados, mas dos quais as empresas também não devem se desfazer. Com SOA, algumas funcionalidades serão abstraídas e outras integradas. A arquitetura elimina retrabalho. As empresas devem construir um catálogo de serviços e utilizá- los para outras aplicações. Outros especialistas acreditam que os desafios para a adoção do SOA estão muito mais do lado organizacional e cultural da empresa, do que em seu aspecto técnico. Um projeto de SOA só valerá a pena se houver alinhamento entre tecnologia e os objetivos de negócios da companhia. - 21 –
  • 22. Módulo 7 – Redução de custos O principal objetivo do SOA é o atendimento das necessidades de negócio de forma flexível e ágil, a partir de princípios bem definidos. Essa arquitetura é como um mapa que coloca toda a empresa no rumo certo em relação às vantagens competitivas e desafios futuros. Trata-se de um conjunto de políticas, práticas, normas, procedimentos e frameworks que garantem a agilidade do ambiente de TI e maior vantagem competitiva. Compromisso entre TI e negócios O grande diferencial competitivo das empresas líderes é a agilidade em redefinir estratégias e a rápida adaptação às mudanças. Sem a informação adequada, no momento certo, as chances de sucesso de uma nova iniciativa diminuem e, dessa forma, a solução encontrada pelas empresas para mitigar o risco da imobilidade corporativa muitas vezes está em ceder espaço às solicitações dos diferentes departamentos, gerando com isso novas demandas de informações e sistemas. Normalmente ações tomadas de forma rápida não obrigatoriamente significam ações de menor custo. Aí se encontra o grande paradoxo dessas organizações: Agilidade x Performance Corporativa versus Manutenção x Redução de Custos. Em função desse paradoxo, a percepção das áreas de negócio em relação à de TI é a de que esta última gasta muito e não consegue atender os requisitos de negócio no tempo adequado. Essa impressão é reforçada em geral por problemas de comunicação e baixa interação entre as áreas. Reforçar o compromisso entre o departamento de TI e as áreas de negócio é um dos fatores-chave de sucesso, para se conseguir flexibilidade e agilidade na estruturação dos processos de negócio. Para isso, é importante explicar e orientar as áreas sobre como a TI pode contribuir para o negócio, desenvolvendo as soluções adequadas a um custo menor e com mais agilidade. A visão adequada de arquitetura de sistemas nesse caso pode ser o primeiro passo, no sentido de reforçar o entendimento das áreas de negócio quanto ao retorno esperado pelas soluções propostas. Projetar essa arquitetura de forma adequada, portanto, é fator preponderante para se conseguir a tão almejada agilidade. Nesse momento, o conceito de SOA pode ser usado como o elo que une todas essas pontas. Quanto mais sistemas implementados, menos conhecimento há dos aplicativos realmente relevantes para os negócios. Esse é o cenário corporativo atual, um contraponto para a adoção do conceito de SOA, que caminha de forma lenta, porém efetiva, para tornar a tecnologia mais flexível e adaptável para benefício dos processos de negócios. Mas SOA não é um conceito isolado. É um dos seis elementos necessários para o modelo de Dynamic IT, proposto pela consultoria IDC, que requer vários investimentos para o fluxo dos aplicativos empresariais, que por sua vez não devem ser vistos de forma isolada, mas como uma extensão dos processos de negócios. - 22 –
  • 23. Isso, nas diversas etapas a seguir, desde a implantação de ferramentas de produtividade, de colaboração, de sistemas isolados, sistemas integrados, CRM e ERP, soluções de inteligência dos negócios, consolidação da infra-estrutura e outsourcing até a adoção de SOA e NaaS, para atingir uma TI mais dinâmica. Mas a realidade mostra que as empresas têm dificuldades em conhecer todos os seus processos, como pede o SOA. A adequação à lei Sarbannes Oxley, por exemplo, as obriga a olhar detidamente seus próprios processos, a fim de melhorá-los. Mas nem sempre esses processos são claros. Observando o cenário brasileiro, as companhias das áreas de telecomunicações e de finanças estão mais adiantadas em relação aos outros segmentos do mercado. Estratégia A indústria se reinventa: conceitos e fundamentos pré-existentes são lançados novamente ao mercado sob uma nova ótica. A euforia sobre esses conceitos traz à tona novas oportunidades, em diferentes nichos. A estratégia SOA empregada pelos grandes players está na redução de custos (TCO), aumento da produtividade e encapsulamento da complexidade técnica. O ROI (retorno de investimento) está quase sempre atrelado a estratégias de integração, em que o custo de integrar ambientes heterogêneos, utilizando técnicas de baixo acoplamento, como servidores de mensagens assíncronas, por exemplo, é excessivamente alto. O SOA seria um paradigma arquitetural de desenvolver os componentes de sua aplicação como serviços. Ele possibilita a criação de aplicações inteiras de forma heterogênea, consumindo serviços de diferentes players. Trata-se de uma mudança no formato, que outrora era inviável por questões de custos e especificação. Evitar a sobreposição Nas grandes corporações, para que o ROI de fato aconteça é preciso que a mentalidade na concepção da estrutura das aplicações sofra alterações. Isso é inerente à implementação tecnológica e à cultura empresarial, que deverá prover unidades de análise de negócios que caminhem junto à área técnica, a fim de evitar a sobreposição dos serviços. O fundamento central do SOA provém de uma especificação pré-existente, os web services, que não teve êxito como esperado no mercado. Sua repaginação para um novo modelo foi necessária. A idéia central dos web services era válida, mas inicialmente teria sido mal vendida ao mercado, talvez por falhas na especificação, deixando lacunas abertas, ou por falta de empenho das empresas de TI em empregar e disponibilizar serviços sob tal formato. O conceito de plataforma é mais amplo. Emprega o uso da rede como plataforma de serviços, onde aplicações podem buscar uma determinada funcionalidade e essa ser provida, sem precisar ser reescrita. - 23 –
  • 24. A complexidade dessa nova tratativa é o centro da estratégia de algumas iniciativas e um novo conceito está entrando em pauta, o SCA, de Service Component Architecture. Arquitetura Corporativa Para se explicar o conceito de SOA, é necessário compreender o significado e a importância da Arquitetura Corporativa de TI. Trata-se de uma visão compartilhada com toda a empresa, que expõe e define como dados, sistemas, processos, elementos de gerenciamento e ambiente devem trabalhar integrados como um todo, de forma a suportar a operação da empresa em um processo contínuo de alinhamento com o negócio. O SOA é uma forma de conceber ou projetar arquiteturas corporativas de TI, disponibilizando recursos de software, ou seja, funcionalidades, como serviços, agrupados em processos de negócio. O objetivo principal é o atendimento das necessidades de negócio de forma flexível e ágil, a partir de um conjunto bem definido de princípios. Tais princípios indicam que o negócio define a necessidade do serviço, bem como o serviço define a necessidade da tecnologia. Além disso, os serviços contam com interfaces bem definidas, com fácil comunicação entre clientes e serviços e entre serviços. Dessa forma, o uso e a organização dos serviços são garantidos, com a adoção de padrões abertos de mercado, que possibilitam a interoperabilidade entre todos os integrantes do ambiente de TI. Em última análise, SOA é o mapa que coloca toda a empresa no rumo certo em relação às vantagens competitivas. Trata-se de um conjunto de políticas, práticas, normas, procedimentos e frameworks que garantem a agilidade do ambiente de TI em relação aos processos de negócio com grande vantagem competitiva. Com essa abordagem, temos à nossa disposição a flexibilidade de lidar com os processos de negócio da mesma forma como podemos lidar de forma subjacente com a infra- estrutura de TI, usando componentes que podem ser reutilizados e recombinados para atender as mudanças de prioridade do negócio. As empresas necessitam da abordagem de SOA, porque ela disponibiliza a longo prazo a promessa de se utilizar o potencial de TI para acelerar e potencializar o negócio, eliminando as frustrações com TI a partir da estruturação de soluções mais flexíveis e prazos mais curtos de desenvolvimento. Ela também justifica e explica custos e investimentos de TI, ao economizar recursos, esforço e tempo a longo prazo em função da reutilização de componentes e da sua flexibilidade. Além disso, ela oferece ao pessoal não-técnico um claro entendimento do que TI faz, como faz e o real valor para o negócio. - 24 –
  • 25. Vantagens Sob o ponto de vista do CIO, as vantagens estão ligadas aos seguintes fatos: diminuição da dependência da tecnologia para se conceber a solução, a fim de trabalhar melhor os requerimentos do negócio; a TI assume o papel de facilitador aproximando-se mais das áreas de negócio; melhor gerenciamento de recursos e projetos de TI, onde o ROI de uma fase ou projeto pode ser utilizado para o próximo, reduzindo os custos de forma geral; e, finalmente, um aumento significativo em relação à influência do CIO, já que ele passa a ter participação mais ativa no processo de definição da arquitetura, muito mais próximo ao negócio. - 25 –
  • 26. Módulo 8 – Tendências O mundo corporativo já observa o importante papel de SOA em alinhar os interesses do departamento de TI e os objetivos financeiros das empresas. O que impulsiona a decisão de optar por SOA é a grande flexibilidade e redução de custos ao integrar aplicações já existentes. Por esse motivo, o cenário é um dos melhores para os fornecedores de serviços especializados em SOA. Integra aplicações e fornece serviços O posicionamento de SOA no mercado está crescendo cada vez mais. Pesquisa feita nos Estados unidos pelas revistas CIO e Computerworld aponta que 58% dos 612 executivos de TI entrevistados implementou o conceito ou tem planos de fazê-lo. O resultado está diretamente ligado ao fato de que já se observa o importante papel de SOA em alinhar os interesses do departamento de TI e os objetivos financeiros das empresas, isso porque o conceito integra as aplicações e fornece serviços diretamente aos clientes. Além disso, o que impulsiona a decisão de optar por SOA é mais flexibilidade e redução de custos ao integrar aplicações existentes proporcionadas pela arquitetura. Apesar disso, grande parte dos entrevistados aponta que é necessário que haja uma evolução nas ferramentas e protocolos. Para a parte do mercado que passa pelo processo de implementação, a necessidade em destaque para melhor consolidar o conceito de SOA é a capacitação do pessoal. Aproximadamente dois terços dos entrevistados está investindo no treinamento da equipe para melhor atender os requisitos da implementação e quase metade, aproximadamente 45%, vai contratar consultores e 19% vão terceirizar segmentos- chave. A falta de pessoal e recursos foi apontada por 47% dos entrevistados que não pensam em implementar SOA, 40% apontaram a falta de clareza sobre o ROI (retorno sobre o investimento) e 38% responderam que lhes falta financiamento para esse tipo de implementação. Depois de concretizado o processo de implementação, 44% utilizarão SOA para integrar aplicações internamente, 28% para fornecer serviços a clientes ou consumidores e 21% para se conectarem com aplicações externas fornecidas por parceiros. No que se refere aos desafios de SOA, 63% afirmam que tem como objetivo mudar para uma arquitetura e metodologia SOA para satisfazer as necessidades dos negócios atuais. Uma parcela de 56% afirmou que pretende reformular a infra-estrutura para suportar SOA e 47% dizem que irão adequar as metodologias dos desenvolvedores à nova arquitetura. Até mesmo na escolha dos produtos o mercado tem características marcantes. Um total de 62% dos CIOs responderam que consideram de grande importância o suporte a protocolos e padrões essenciais de SOA. Outros 36% consideram esse ponto relativamente importante. - 26 –
  • 27. Outra pesquisa, feita pela IDC, mostra que o mercado americano aumentará os seus investimentos na tendência até o final de 2006. Privilégio para os fornecedores Por esse motivo, temos um cenário privilegiado para os fornecedores de serviços especializados em SOA. A IDC acredita que o caminho da indústria será manter os esforços em educação, apresentação de produtos e demonstração dos benefícios que os usuários de SOA podem agregar aos negócios. Além disso, a consultoria acredita que terão dificuldades as empresas que optarem por implementar a arquitetura, sem um desenvolvedor específico. Porém, as empresas que pensam em contratar um provedor externo estão mais propensas a optar por grandes fornecedores, consultorias ou integradores de sistemas, além das empresas de outsourcing. As consultorias se mantêm no topo da lista, já que serviços adicionais são comumente demandados nesse contexto. A pesquisa revela ainda que a decisão por implementar SOA vem sempre do departamento de TI. Previsão Com a grande movimentação em relação ao conceito SOA, as empresas se preparam para apresentar novas tecnologias, soluções e caminhos. Uma previsão do Gartner aponta que em 2010, mais de 50% das grandes empresas terão consolidado um portfólio de sistemas sob o padrão SOA, com o objetivo de ter uma plataforma unificada de negócios. Outro levantamento feito pela Bea Systems para a InfoWorld ouviu cerca de mil empresas no Estados Unidos para entender onde SOA se posiciona nos projetos futuros de TI. Avaliando o estágio de implementação de SOA nas empresas, apenas 28% dos entrevistados disseram ter implementado. Desse, 35% dizem que o processo está sendo implementado em toda a empresa. Um outro ponto revela que 20% das empresas avaliam ou mesmo consideram a nova arquitetura, enquanto que 21% confessam não ter nenhum plano relacionado ao conceito e 31% nem se quer pararam para pensar na possibilidade de implementação. No mercado brasileiro, o conceito de SOA já é considerado o quinto maior item no que se refere à importância para o CIO, porém sabe-se que ainda vivemos um processo embrionário de desenvolvimento. Os fabricantes já começam a adequar suas ferramentas à arquitetura e pretendem tirar os projetos do papel com mais rapidez, principalmente por se tratar de uma adoção que interessa tanto aos fornecedores quanto aos consumidores. A expectativa é que SOA se torne um padrão para desenvolvimento de aplicativos e seja então realidade nas empresas de todo o mundo. - 27 –
  • 28. A perspectiva da IBM é que o uso crescente da arquitetura orientada a serviços aumente a quantidade de transações que funcionam em sistemas mainframe, fazendo-as inclusive dobrar até 2010. A projeção da empresa é baseada em pesquisa feita pelo Forrester Research, com empresas americanas e européias. O cenário mostra que 62% das companhias que possuem mais de 20 mil funcionários estão usando ou pensam em utilizar um plano para aplicar SOA nos próximos doze meses. O mercado está absorvendo o conceito de SOA e as empresas visualizam o contexto em que estar focadas em software orientado a serviços pode agregar valor e possibilitar respostas com mais eficiência e mais aproveitamento das oportunidades. Expansão do mercado Uma pesquisa feita em Portugal pela IDC analisou o que será o mercado de TI no período entre 2005 e 2009. O resultado mostrou que mais da metade dos investimentos será direcionada para hardware, seguido de serviços e softwares. A estimativa também é que haja um aparecimento cada vez maior de peças tecnológicas e ferramentas de desenvolvimento orientadas para a implementação de soluções SOA. Porém, vale ressaltar que a adoção desse tipo de arquitetura é um processo que deve acontecer em longo prazo, principalmente porque para que as organizações concretizem o conceito na realidade corporativa será preciso uma série de providências que vão desde a preparação tecnológica e pessoal até o nível de consolidação dos sistemas ou o estágio de desenvolvimento da estratégia de integração. Nesse contexto, é normal sentir um mercado que avança em direção ao conceito, porém de forma ainda receosa, ou seja, a adoção está sendo progressiva e controlada para evitar grandes rupturas na cultura da empresa e nos sistemas de informação. Um importante ponto na absorção da tendência pelo mercado está no fato de que as tecnologias que suportam SOA estão em constante crescimento á medida que as corporações incorporam os conceitos e absorvem os benefícios. Na América Latina o conceito também está em grande ascensão. Segundo relatório do Gartner, 80% dos projetos de desenvolvimento até 2008 estarão baseados em arquitetura orientada a serviços. Exemplos de empresas dessa região que utilizam este conceito por meio da Oracle, por exemplo, são: Matera Systems do Brasil, Open Card da Colômbia, Farmalink da Argentina, Ministério da Fazenda e Crédito Público do México, a Bolsa de Valores Mexicana, além da instituição para Depósito de Valores, também mexicana. - 28 –
  • 29. Novo conceito Com a ampla discussão torno de SOA, o mercado vislumbra um olhar para o chamado SOBA (Service-oriented Business Application), que embora tenha um nome parecido, representa outra realidade. Ambos são usados para descrever infra- estruturas de desenvolvimento de aplicativos, porém, a idéia é que SOBA possa ser desenvolvido sobre SOA ou qualquer outra modelo ou padrão de infra-estrutura. Essa nova sigla, criada por Charles Abrams, diretor de pesquisas do Gartner, coloca SOBA em uma posição de última encarnação das soluções cliente/servidor. O modelo do Gartner diz que SOBA pode variar desde uma simples interface XML baseada em um aplicativo até uma baseada na mais sofisticada infra-estrutura que ainda possa aparecer. Além disso, ele possui variantes que incluem componentes para desenvolvimento de soluções para os mercados horizontal e vertical, suítes corporativas modulares de fabricantes ou uma construção a partir de múltiplos serviços desenvolvidos internamente. Conclusão Não apenas o mercado precisa se adequar ao novo conceito de SOA, mas quem vende também. Nesse caso, não se trata dos fornecedores, dos quais já falamos, mas também dos canais que deverão olhar com maior profundidade para o ambiente de TI e para os clientes. A ampla adoção do conceito depende da ação dos três agentes: clientes, fornecedores e canais. Expectativas da IDC apontam para um crescimento de 138% dos investimentos em SOA somente em 2006, o que significa cerca de 8,6 bilhões de dólares. Em 2010, o valor já estará chegando aos 33,8 bilhões de dólares, principalmente como reflexo da demanda dos setores de finanças e telecomunicações. Por esse motivo, todas as empresas que pretendem vender esse tipo de conceito precisarão estudá-lo, para entender de que forma serão afetadas pela onda. Isso se refere principalmente aos canais que oferecem desenvolvimento, integrações e migrações. É importante também que os integradores se aprimorem com certificações na área e estejam engajados no entendimento e difusão da arquitetura orientada a serviços. Por enquanto, quem implementa SOA é a grande empresa. A participação das pequenas e médias empresas nesse contexto ainda é pequena, porém começa a crescer e dar sinal de que observa a necessidade do mercado de ter sistemas flexíveis e adaptados aos negócios. - 29 –