SOA nas PMEs: viabilidade e principais motivadores

Sim, é possível desenvolver projetos SOA em pequenas e médias empresas e se beneficiar
dessa infra-estrutura de sistemas, que vem a cada ano que passa, se mostrando
como um grande passo na forma de pensar e desenvolver sistemas. Mas obviamente
o SOA não é um fim em si. Como dissemos, o SOA é a infra-estrutura para que a
área de sistemas atenda melhor as áreas de negócios da empresa.

SOA nada mais é que o resultado da incessante busca dos desenvolvedores de maximizar a reusabilidade de códigos, visando maior produtividade no desenvolvimento e manutenção de sistemas. Nos primórdios, eram as sub-rotinas, procedimentos, componentes, objetos até chegar aos dias de hoje no conceito de serviços, fazendo com que o conceito de reutilização ultrapasse a barreira de ser
realidade dentro da própria linguagem e passe a ser realidade entre várias
tecnologias. Os novos sistemas serão compostos de um conjunto de serviços que
servirão de interface para integração com outros sistemas, automatização de
processos, entre outras possibilidades. Como conseqüência natural dessa busca
por reusabilidade, obteremos facilidade para integração de sistemas e sistema
mais flexíveis para se ajustar aos processos de negócios das empresas.

O fato é que o SOA abre novas possibilidades às empresas e iremos explorar essas
possibilidades à luz da realidade das PMEs.

Adotando vários sistemas aderentes às necessidades da empresa

Uma das grandes vantagens que o SOA traz às PMEs é a possibilidade de adoção de vários sistemas, sendo que cada um com maior aderência aos processos de negócios de sua empresa, quebrando o paradigma de que devemos optar sempre por um único
ERP.

Temos ouvido e seguido por vários anos que devemos adotar um único ERP pelo motivo central, que é a integração das informações. Só que isso nos leva a prejudicar
áreas de negócios, que são obrigadas a aceitar módulos de sistemas que não as
atende perfeitamente, mas em prol do paradigma do ERP único, são obrigadas a usá-lo.

Conseqüência disso é uma sobrecarga de atividades manuais e o uso intensivo de planilhas para complementar os controles, gerando duplicidade de informação, perda de qualidade de informação, entre outras conseqüências. Ou para se ter maior
aderência aos processos da empresa, se parte para a contratação de
customizações de algumas funcionalidades faltantes, o que implica pagar altos
valores e que, muitas vezes, ao longo dos anos, são superiores ao próprio valor
pago pelo ERP. Como estamos falando de PME, várias vezes a customização tem
valores que são inviáveis para sua realidade, fazendo com que o processo de
negócio não seja 100% atendido pelo sistema, tendo como conseqüência uma perda
de eficiência no suporte que TI dá aos negócios.

Os ERPs por serem genéricos, fazem com que a customização seja incorporada ao Sistema, o que as tornam mais complexas e trabalhosas de se implementar. Por serem
inevitáveis, os fornecedores de ERPs tentam evitar ao máximo essas
customizações, chegando inclusive a aumentar o seu custo para não incentivar
essa opção.

Atualmente, no Brasil, há uma vasta variedade de aplicações, sendo que cada uma com sua especialidade e a possibilidade de integração via SOA nos deixa livre para
adoção do que é melhor para cada área da empresa. Obviamente, devemos evitar
exageros nessa variedade de adoção, pois integrar também dá trabalho, mas com
certeza devemos privilegiar sistemas especialistas que tragam maiores
benefícios à nossa empresa.

Para ilustrar, vamos citar alguns dos muitos cenários possíveis e mais comuns
encontrados em PMEs:

Cenário 1 – Indústria

  • Sistema
    1: eCommerce (WEB)
  • Sistema
    2: ERP - Módulos Administrativos (Financeiro, Faturamento, Compras,
    Estoque, Contabilidade e Fiscal).
  • Sistema
    3: PCP: Módulos de Produção e Chão de Fábrica.

Cenário 2 – Comércio

  • Sistema
    1: ERP - Módulos Administrativos (Financeiro, Faturamento, Compras,
    Estoque, Contabilidade e Fiscal).
  • Sistema
    2: Frente de Loja.
  • Sistema
    3: Fidelidade de Clientes.
  • Sistema
    4: eCommerce (Web).

Cenário 3 – Serviço

  • Sistema
    1: ERP - Módulos Administrativos (Financeiro, Faturamento,
    Contabilidade e Fiscal).
  • Sistema
    2: Sistema de Controle de Chamados de Clientes / Ordem de Serviços.
  • Sistema
    3: CRM.

Dentro desse tema de utilização de vários aplicativos, podemos ainda chamar a atenção para o tópico de “Preservação do Investimento”, que como conseqüência da
possibilidade de se utilizar mais de um sistema, podemos manter alguns sistemas
que satisfazem a necessidade da empresa. Mas, por conta da falta de integração
com outras áreas, acaba por ser substituído, levando por água abaixo
investimentos realizados em software, hardware, treinamento, etc.

Realizando integrações de processos de negócios em tempo real e não
apenas de sistemas

Com a adoção de vários sistemas nas empresas, o SOA nos permite realizar integrações dos Processos em Tempo Real, no lugar das tradicionais integrações através de trocas de informações em lote (batchs). O processo Batch normalmente é
realizado através de troca de arquivos-texto ou bases de dados de
transferências. O caminho para dar agilidade e ganhos aos processos de negócios
das empresas é a realização das integrações em tempo real, o que nos leva a uma
quebra de paradigma no tópico integração.

As integrações devem ser pensadas á luz dos processos e não devem ter um enfoque
apenas técnico, que olhem para as bases de dados (tabelas dos sistemas) ao
invés de olhar aos processos. O correto é mapear os processos da empresa, que
envolvem os sistemas em questão, entender como podemos otimizar estes processos
e analisar onde há necessidade de integração, que informações devem passar de
um sistema a outro e em que momento.

A quebra de paradigma ao tradicional método de integração em Batch, tem sido umas das principais dificuldades em se implementar projetos de SOA que tragam reais
benefícios aos processos de negócios das empresas.

Muitos projetos de integrações de sistemas são feitos através de troca de arquivos, em
horários pré-definidos e que trazem um atraso inevitável a execução dos
processos na empresa. O caminho que o SOA nos oferece, para tornar a empresa
mais ágil, é sempre pensar em integrações em tempo real, que fazem com que a
informação de um sistema passe ao outro no momento da sua geração, criando
assim o conceito de se ter uma única aplicação composta na empresa.

Normalmente nas PMEs os profissionais das áreas de negócios e que dominam os processos ficam alheios aos projetos de integração, que ficam por conta apenas dos
profissionais de TI. Muitos por não terem desenvolvido ainda um visão mais próxima
aos processos da empresa e de suas necessidades por agilidade e flexibilidade,
dão soluções convencionais como a troca de arquivos (EDI – Eletronic Data
Interchange) para realizar a integração. Por isso, recomendamos fortemente que
os donos dos processos sempre participem das definições iniciais dos projetos
de integração, contribuindo assim com sua visão de negócio. Mas cabe aos
profissionais de TI saber que o SOA traz a possibilidade de integração em tempo
real e que por desconhecimento disso não coloque bloqueios técnicos
desnecessários aos projetos.

No cenário-exemplo de indústria, citado anteriormente, é fundamental que a área de
produção usuária do PCP, saiba em tempo real de todos os pedidos que são
recebidos pelo ERP, que por sua vez os recebe através do sistema de eCommerce.
Ou seja, num cenário em que o tempo real seja deixado de lado, podemos ter
horas ou até dias de atrasos inseridos no processo desnecessariamente, deixando
de trazer grandes benefícios à empresa.

Automatização de processos em prol da qualidade e agilidade na execução
dos processos

Outro grande benefício que o SOA traz às PMEs é a possibilidade de automatizar
processos, obtendo ganhos significativos de qualidade e produtividade na
execução dos processos da empresa.

Devemos analisar os processos críticos da empresa e buscar “sonhar” em como gostaríamos que eles fossem executados de forma automática e avaliar essa possibilidade a partir dos recursos de SOA disponíveis. O SOA nos auxilia na medida em que os serviços expostos pelos aplicativos tornam possíveis as execuções de integração de processos até mesmo entre serviços da mesma aplicação, possibilitando assim a criação de automatizações de processos.

Antes do SOA, essas automatizações eram possíveis apenas através de customizações internas aos sistemas existentes. Na prática, a automatização através do SOA, não deixa de ser uma customização, mas passa a ter uma característica
não-invasiva ao sistema. Dizemos que a customização fica desacoplada do sistema
em questão.

Podemos assim escolher a linguagem na qual iremos desenvolver a customização e não ficamos restritos à linguagem do aplicativo. Baixando assim custos e
reutilizando conhecimentos existentes na própria empresa.

Esse desacoplamento traz entre outros benefícios a possibilidade de receber novas
versões dos aplicativos, sem ter a necessidade de redesenvolver as
customizações sobre a nova versão.

Adoção de um ESB

O SOA traz junto com seus benefícios uma complexidade maior no gerenciamento sobre o funcionamento de todos esses serviços que estão sendo utilizados na empresa.
Com isso, surgiram produtos que foram batizados como ESBs (Enterprise Service
Bus), que atuam como um barramento de integração de serviços por onde passam
todas as integrações.

Muitos deles auxiliam de forma significativa na criação de serviços a partir de
sistemas legados que não possuem esse conceito nativamente. Hoje é possível,
por exemplo, tornar uma rotina escrita em COBOL em um webservice que pode ser
chamado por qualquer tecnologia atual. Ou transformar uma rotina Java em um
componente .NET (ou vice-versa) quebrando assim umas das barreiras atuais de
projetos de integração.

O uso do ESB não se restringe ao gerenciamento dos serviços em uso, mas também funcionam com um acelerador de produtividade na execução das automatizações e integrações dos processos. Alguns trazem componentes prontos e adaptadores para vários aplicativos, o que facilitam e muito a execução de projetos.

Caso a   adoção do SOA não seja apenas para uma solução pontual na empresa e sim devido   a uma decisão estratégica para a arquitetura dos sistemas, a inclusão de um   ESB no projeto é um pré-requisito. Abrir mão dele implica em perder gerenciamento, produtividade e segurança na execução dos processos.

Onde o BPM encontra o SOA

Alguns ESBs trazem tantas funcionalidades que chegam a serem classificados também como BPMS (Business Process Management Suite) com foco na integração ou se usado em conjunto com alguma solução de Workflow tornam-se BPMS completos.

Na prática, todos os temas explorados neste artigo, como integração de processos,
automatização de processos, maior visão de negócios, tempo real, entre outros,
são substemas do BPM. Com isso, se pode definir, em apenas um termo, qual é o
principal objetivo do SOA, diria que é o BPM, ou seja, o gerenciamento dos
processos de negócios.

A era do ERP nas PMEs afastou a visão de processo de muitas das empresas, que apostaram que o ERP iria resolver todos os seus problemas. O fato é que essas empresas se esqueceram de definir melhor seus processos e olhar para o ERP como parte de sua solução e acabaram por buscar a todo custo que o ERP resolvesse tudo, desde do que é básico até o que há de mais específico nos processos da empresa. Nesse ponto é que o SOA vem contribuir de forma significativa para a construção de
uma camada de negócios, que preencha o espaço entre a necessidade da empresa e
o que o ERP pode oferecer. É exatamente onde entra o conceito de BPM.

Todos os benefícios que exploramos neste artigo poderiam ser resumidos pelo
conceito de BPM, que é na prática a finalidade maior da existência do SOA.
Podemos definir o SOA com a infra-estrutura necessária para a implementação
do BPM.

Considerações finais

Como consideração final, reforçamos a necessidade que temos de que os profissionais
de TI cada vez mais se aproximem da área de negócios da empresa, passem a
dominar os processos e busquem alternativas para dar mais agilidade e
flexibilidade para a empresa. Ainda vemos muitos profissionais distantes dessa
visão e que estão envolvidos com questões técnicas, também importantes, mas que
não podem ficar limitados a essa visão. O SOA deve ser entendido como meio
(ferramenta) e não com fim em si mesmo, para a busca de melhorias nos processos
da empresa.