SOA, BPM e os desafios atuais de Negócio e TI

SOA

Em um mercado cada vez mais competitivo, as empresas são constantemente desafiadas a produzirem melhores resultados com menor custo, desenvolverem produtos baseados em um ciclo de vida mais curto e se relacionarem de forma mais personalizada e integrada com seus clientes, fornecedores e parceiros. Para tanto, as empresas devem ser capazes de melhorar seus processos de negócio e sua comunicação com a área de TI, da qual dependem para viabilizar suas estratégias.

capasoa


Um mundo competitivo

As empresas cada vez mais enfrentam desafios para sua evolução, e em muitos casos para sua própria sobrevivência, como por exemplo:

  • Concorrência – Novas empresas surgindo a cada dia com novas ideias e produtos;
  • Globalização – A concorrência agora não é apenas local;
  • Aquisições e incorporações – Uma das maneiras de enfrentar a concorrência é justamente aumentar o porte da empresa, com a aquisição de empresas concorrentes ou com produtos e serviços complementares. Isto traz grandes desafios de integração, tanto das linhas de produtos e serviços oferecidos ao mercado, como dos processos e sistemas internos.
  • Clientes mais exigentes – Antigamente um produto era básico/genérico para atender todo o mercado. Hoje a segmentação (produtos diferenciados por faixa etária, renda, preferências) está fortemente estabelecida e a personalização, onde o produto é feito sob medida para determinado usuário, é cada vez mais presente;
  • Menor tempo de vida dos produtos e serviços – Antes os produtos duravam décadas, hoje o ciclo de vida dos mesmos pode ser muito curto. As empresas têm que estar preparadas para criar um produto em pouco tempo (normalmente aproveitando uma oportunidade, uma moda, uma promoção), e ainda conseguir o retorno financeiro antes que o mesmo deixe de existir;
  • Integração com clientes, parceiros e fornecedores – Cada vez mais se depende de insumos, produtos e serviços que devem estar rapidamente integrados na cadeia produtiva da empresa, e muitas vezes a própria empresa faz parte da cadeia produtiva de seus clientes. A capacidade de se integrar rapidamente e de forma confiável é fundamental para aproveitar as oportunidades de negócio.

Esses fatores fazem com que as empresas estejam em constante processo de evolução e adaptação às novas realidades do negócio. A necessidade de velocidade e eficiência nestas adaptações traz mais um desafio: o relacionamento interno das áreas de negócio da empresa com a sua equipe de TI.

As empresas dependem de suas áreas de tecnologia para projetarem seus novos produtos, para produzi-los, para se relacionar com seus clientes e fornecedores, e para conduzir e evoluir seus processos internos. Uma área de TI ágil pode contribuir significativamente para que o negócio possa fazer frente aos desafios do mercado. O contrário disso pode simplesmente limitar evolução da empresa!

 

Sobrou para a TI

É lógico que para atender as necessidades do negócio, a área de Tecnologia das empresas começou a se deparar com alguns novos desafios:

  • Aumento da demanda – O negócio sempre vai demandas novos sistemas e funcionalidades. Com isso a TI enfrenta o problema de não conseguir dar vazão aos projetos, criando “filas” de atendimento. Apesar dos esforços em novas metodologias e ferramentas de desenvolvimento, a velocidade e necessidade do negócio aumenta junto com a competição;
  • Prazos curtos – Hoje os sistemas devem estar prontos muito mais rápido do que se escrevia a documentação do mesmo antigamente;
  • Qualidade – Na época dos sistemas “batch” (processamentos normalmente noturnos, envolvendo grandes lotes de registros, sem contato com o cliente), erros eram suportados, pois bastava “voltar os backups”, corrigir o erro e reprocessar. Atualmente, praticamente todos os sistemas são “online”, com clientes aguardando o resultado, com trocas monetárias em tempo real com outras instituições. Um erro pode resultar em grande perda monetária e de imagem para a empresa;
  • Disponibilidade – Com foco em atendimento regional, os sistemas normalmente tinham um intervalo de tempo em que ficavam “fora do ar” (a janela “batch”). A TI utilizava este intervalo para tirar cópia das bases de dados e introduzir alterações nas aplicações, sem impactar os clientes. Hoje os sistemas são acessados de todos os lugares do mundo e os clientes trabalham fora do horário comercial, ou seja, os sistemas devem funcionar constantemente. A disponibilidade das aplicações e da infra-estrutura é monitorada e medida em frações percentuais (ex: 99,99%).
  • Integração – Um dos maiores desafios da TI, a integração costuma despender grande parte dos investimentos, de forma a fazer funcionar em conjunto sistemas construídos internamente, pacotes adquiridos do mercado, aplicações “ganhas” na aquisição/fusão com outras empresas e sistemas externos (de clientes, parceiros ou fornecedores). Devem-se integrar sistemas construídos em épocas diferentes, baseados nas mais diversas tecnologias, padrões e plataformas.
  • Novas tecnologias – A TI mantém constante esforço para se manter atualizada. Ferramentas e tecnologias se tornam obsoletas em pouco tempo, e geram grande impacto em capacitação e atualizações de hardware, software e mesmo das aplicações
  • Custos – De forma a manter a empresa competitiva, a TI tem sempre que fazer mais com menos, ou seja, aumentar a produtividade e diminuir os custos.
  • Controles – Mecanismos de controle e monitoração são necessários para aferir e garantir atributos como segurança, qualidade, e conformidade com normas do mercado e com acordos de nível de serviço (SLA), que cada vez mais regem o relacionamento (prestação de serviços) entre a empresa e seus clientes e parceiros.

Então agora é a vez do SOA?

É com base nos desafios já citados que os deuses da computação tem trabalhado para melhorar os resultados produzidos pela TI em conjunto com o negócio. Nessa brincadeira é que surgiu uma nova abordagem ou filosofia arquitetural que visa não só ajudar o lado técnico do desenvolvimento, mas enxergar a empresa junto com seus processos. A essa abordagem se deu o nome de “Service Oriented Architecture” (SOA) ou Arquitetura Orientada a Serviços.

SOA contou com os esforços dos principais provedores de tecnologia (como a IBM, Microsoft, SAP, Oracle) em torno de um conjunto de padrões e tecnologias que tornam possíveis a interoperabilidade e reuso de aplicações, independentemente de linguagens e plataformas de hardware ou software.

Do lado da Microsoft podemos citar como grandes iniciativas o WCF e o ASP.NET WebAPI.

É comum encarar SOA junto ao BPM (“Business Process Management” ou Gestão de Processos de Negócio), o que possibilita o mapeamento, automação e otimização dos processos de negócio da empresa.

Segundo o Gartner Group:

SOA é uma abordagem arquitetural corporativa que permite a criação de serviços de negócio interoperáveis que podem facilmente ser reutilizados e compartilhados entre aplicações e empresas.

Sendo assim podemos chegar a algumas conclusões à respeito de SOA.

  • SOA não é uma tecnologia. Há tanto de negócio quanto de tecnologia em SOA. As tecnologias (padrões) que dão suporte a SOA são o que a viabiliza, mas SOA não é uma tecnologia por si só.
  • SOA não é uma metodologia. Há várias metodologias (processos, ferramentas, métodos de trabalho) que podem ser usados para implantar SOA com sucesso. SOA não é e nem definealguma metodologia.
  • SOA pode ser considerada uma filosofia arquitetural. SOA é uma linha de pensamento que permeia a implementação de necessidades de negócio, refletida em diretrizes, políticas e metodologias corporativas, não necessariamente restritas à área de TI.
  • SOA não é algo que se possa comprar ou instalar.
  • SOA não é um webservice.
  • SOA não cria nada. Ela apenas sugere, propõe, define.
  • SOA baseia-se no conceito do uso de serviços atômicos, independentes e com baixo acoplamento.

 

Conclusão

Este é apenas um início sobre a questão SOA, BPM e padrões de integração. Embora com o surgimento de novas terminologias e teconolgias, SOA tem um papel fundamental no mundo corporativo e tecnologico atual. Irei abordar isso melhor nos próximos posts. Aguardem algumas novidades


Author's profile picture

Vitor is a computer scientist who is passionate about creating software that will positively change the world we live in.

MVP Azure - Cloud Architect - Data science enthusiast


7 minutes to read