Construindo e Gerenciando Processos de Negócios Automatizados

Introdução

Os processos de negócios são compostos de procedimentos operacionais, do conhecimento institucional sobre o trabalho e de recursos de informação dentro de uma empresa. Em um ambiente eficiente qualquer destes componentes pode ser identificado prontamente, adaptado e implantado para satisfazer a requisitos dinâmicos. Este é o conceito da agilidade corporativa; ela está na habilidade sistêmica de uma organização em controlar e reconfigurar os recursos, em resposta a oportunidades de negócios e necessidades. Também é um fato que o processo de negócio é um conjunto de atividades contingentes e ordenadas, cuja execução resulta em um resultado previsto e repetido que satisfaz objetos definidos de forma temporal. Ferramentas de Gerenciamento de Processos de Negócios (BPM) são criadas para facilitar a criação e a execução de um workflow altamente transparente e modular, orientado ao processo, que também está em conformidade com os padrões de desempenho operacional que as organizações de TI estão acostumadas a obter. Processos de Negócios Automatizados desenvolvidos e executados em um ambiente como estes são caracterizados pelos seguintes atributos:

  • Visibilidade fim a fim das atividades, componentes e funções
  • Funcionalidade e componentes do processo expostos e auto-descritíveis
  • A habilidade de integrar, em um processo, informações e funcionalidades de aplicações de origem diferentes
  • O fluxo da informação e a notificação de eventos são automatizados e monitorados através do processo
  • Participação no workflow motivada pelas capacidades da produtividade de ferramentas de estações de trabalho e de comunicação
  • Contratos de Nível de Serviço (SLA) podem ser especificados, monitorados e aplicados
  • Atividades ou componentes dos processos podem ser adicionados, removidos ou reconfigurados sem a parada do processo
  • Processos podem ser monitorados em tempo real ou em tempo próximo do real
  • O design dos processos pode ser adequado a qualquer tratamento de exceção necessário
  • Os processos podem ser facilmente replicados, estendidos e escalonados

A partir do suporte a XML e Web Services, os sistemas de Gerenciamento de Processos de Negócios (BPM) estão permitindo a agilidade corporativa através da mudança na forma que os componentes dos workflows são implantados e executados. O XML aplica estrutura à informação liberando-a de qualquer dependência funcional do software que a opera, enquanto os Web Services fornecem uma estrutura de trabalho para mensagem aplicação-aplicação e chamadas em uma rede sem fronteiras. As ferramentas de Gerenciamento de Processos de Negócios (BPM) fornecem a infra-estrutura de suporte adicional para realizar as capacidades de criar, implantar e executar todo o escopo de: workflow, integração de aplicações corporativas (EAI) e integração com parceiros comerciais (TPI).

Neste documento iremos examinar como as ferramentas da Microsoft para o Gerenciamento de Processos de Negócios (BPM) e as tecnologias suportadas facilitam a criação de processos com os atributos descritos acima. Iremos também descrever como o XML e os Web Services são implantados em uma solução de Gerenciamento de Processos de Negócios (BPM) para alcançarem uma extensibilidade e modularidade sem precedentes. Nosso objetivo é destacar os ganhos no desenvolvimento e na produtividade operacional que estas tecnologias geram, tornando realidade a agilidade corporativa em tempo real.

Um novo paradigma

Assim como os padrões baseados em servidores e navegadores Web facilitaram a explosiva comunicação e distribuição da informação entre as pessoas, as ferramentas de Gerenciamento de Processos de Negócios (BPM) e aplicações clientes que utilizam tecnologias padrões baseadas em XML e Web Services irão facilitar a proliferação em larga escala de processos de negócios distribuídos e automatizados.

Uma característica que define a tecnologia em torno do Gerenciamento de Processos de Negócios (BPM) é a elevação das funções de desenvolvimento e design, saindo da camada de programas e passando para a camada da informação (documentos) e transporte (mensagens). Uma aplicação não é mais uma construção baseada em procedimentos e orientada aos dados. Ela agora é um evento ou um agente de mensagens capaz de processar as propriedades expostas de documentos mais ricos (XML). Respectivamente, um processo de workflow, cenário de integração ou interação com parceiro comercial é composta de um fluxo orquestrado de mensagens que são roteadas, transformadas e processadas de acordo com o conteúdo da mensagem, requisitos de formatação e contingências da lógica do negócio.

A transparência e a modularidade também são características que definem a tecnologia de Gerenciamento de Processos de Negócios (BPM). Não são apenas documentos e mensagens expostas, auto-descritivas e extensíveis, mas também definições dos pontos finais da comunicação, serviços, regras de negócios, mapas de transformações e instruções de execução dos processos (conhecidos como Linguagem de Execução de Processos de Negócios ou Business Process Execution Language – BPEL) que intercambiam e agem sobre as mensagens e documentos. Qualquer componente do processo pode ser “desamarrado” de outro componente qualquer. Isto significa que uma modificação feita em uma dada atividade ou componente do processo não irá gerar a necessidade de alterar outras atividades ou componentes. Cada componente é independente, do ponto de vista funcional, de qualquer outro componente.

Tecnologia Microsoft para o Gerenciamento de Processos de Negócios (BPM)

A partir da introdução, ficou claro que a tecnologia de Gerenciamento de Processos de Negócios (BPM) representa uma nova orientação conceitual nas metodologias de desenvolvimento e implantação de workflows para os processos de negócios. Assim como toda alteração de paradigma, a sua justificativa precisa ser derivada de benefícios significantes. Existe uma grande e crescente quantidade de evidências mostrando que os usuários destas tecnologias estão desenvolvendo uma alta eficiência, um acelerado retorno do investimento e o mais importante, capacidades adequadas de diminuírem os recursos e continuamente remodelarem os processos de negócios para garantir desempenho competitivo e ótimo tempo de resposta. Apesar do XML, Web Services e as plataformas de Gerenciamento de Processos de Negócios (BPM) imporem um novo modelo conceitual no desenvolvimento e execução dos processos de negócios, as tecnologias suportadas requeridas para a implantação deste modelo já estão consolidadas e os produtos Microsoft foram ampliados para suportar este novo paradigma.

São os seguintes os componentes fundamentais e de suporte da tecnologia Microsoft que compõem o pacote de execução e desenvolvimento de processos:

BizTalk Server: é a plataforma central da Microsoft para a Integração Corporativa (EI) e Gerenciamento de Processos de Negócios (BPM) e incorpora as capacidades de integração e a automação das tecnologias XML e Web Services. O BizTalk Server possui duas funções primárias: atua como um mecanismo de execução dos processos e como um concentrador multi-transporte para as transformações de documentos e mensagens.

Visual Studio.NET: é o ambiente de desenvolvimento integrado da Microsoft. O módulo Orchestration Designer encontrado em versões anteriores do BizTalk Server é agora um modelo do Visual Studio.NET com muito mais funcionalidades. Ele é uma ferramenta de desenvolvimento visual para a criação de workflows sofisticados e processos que incorporam regras de negócios, eventos, transações e exceções que ligam estes elementos a objetos de implantação e eventos de mensagens. Este processo construído gera um script baseado em XML (BPEL ) do processo que é executado no BizTalk Server.

Visio: contém as mesmas funções de design do processo e workflows encontradas no modelo do Visual Studio.NET para o BizTalk Server. Uma vez que o processo seja desenhado no Visio, ele pode ser importado para o Visual Studio.NET para ser ligado a objetos de implantação.

SQL Server: é fortemente integrado ao BizTalk Server e funções como armazenamento de dados em tempo real para o rastreamento de documentos e instâncias “desidratadas” dos processos de longo prazo.

Microsoft Office 2003: Tornando o XML o formato de arquivo nativo para o Word e o Excel, a Microsoft redefiniu o conceito funcional e as capacidades destas aplicações. Elas podem agora se comportar como um cliente de rede, assim como um navegador Web ou um cliente de e-mail, mas são capazes de interações muito mais sofisticadas e automatizadas em qualquer origem de informação XML. Além disso, no Office 2003 a Microsoft também introduziu o InfoPath, uma aplicação de formulários baseados em XML criada para satisfazer aos requisitos de documentação de workflows complexos. Como estas aplicações podem gerar e decodificar documentos XML com suas respectivas definições de esquema e instruções de processamento, elas são capazes de atuar diretamente nas interações no nível dos eventos com o BizTalk Server.

Active Directory: Para facilitar processos de workflows sofisticados que envolvem múltiplos participantes, aplicações, fluxos de documentação e acesso a fontes de informação, as capacidades de autenticação automática e federada e de autorização devem fazer parte da arquitetura de execução e desenvolvimento. O Active Directory fornece estas funções assim como define os atributos de participação baseados em funções para as atividades do workflow.

Host Integration Server e Adaptadores BizTalk: facilitam a integração com as aplicações corporativas, redes do legado e protocolos de transporte e vários formatos de dados.

Microsoft Operations Manager e Application Center: fornecem utilitários de sistemas em qualidade de datacenter para a construção, monitoramento e escalabilidade de alto desempenho, implantação das tecnologias de missão crítica e suporte do BizTalk Server.

A Microsoft esteve e continua na vanguarda do desenvolvimento do XML, de Web Services e do Gerenciamento de Processos de Negócios. Ela está comprometida com a implantação destas tecnologias através de seus produtos, e nenhum outro fornecedor tem o potencial tão evidente de utilizar as capacidades do XML e de Web Services do que as ofertas de integração, desenvolvimento e produtividade da Microsoft. As capacidades fundamentais do XML e de Web Services encontradas nas novas versões do BizTalk Server, Visual Studio.NET, Visio e Microsoft Office 2003 demonstram uma coerente visão na forma de desenvolver e implantar atividades para a integração de aplicações e automação de processos que são distribuídas ao longo das linhas funcionais e entre seus pilares. Os detalhes desta visão ficarão mais claros conforme você analisar os novos recursos e funções específicas das tecnologias componentes descritas acima.

BizTalk Server 2004

O BizTalk Server é o produto central do conjunto de ferramentas Microsoft para a Integração Corporativa (EI) e Gerenciamento de Processos de Negócios (BPM) e incorpora as capacidades de integração e a automação das tecnologias XML e Web Services. O BizTalk Server possui duas funções primárias: atua como um mecanismo de execução dos processos que gerencia as etapas, aplica a lógica de negócio e chama por aplicações suportadas em um processo complexo e/ou um conjunto de transações e atua também como um concentrador multi-transporte para transformar e rotear informações para e a partir de aplicações e etapas de processos. O mecanismo de execução de processos também mantém um rastreamento dos estados e variáveis de todos os processos ativos.

O lançamento do BizTalk Server 2004 representa a terceira geração da tecnologia de Gerenciamento de Processos de Negócios (BPM) da Microsoft. A introdução do BizTalk Server 2000 demonstrou a sua liderança na definição das funcionalidades do Gerenciamento de Processos de Negócios (BPM) e do suporte ao XML. O BizTalk Server 2002 forneceu um amadurecimento aos recursos existentes assim como uma melhora no desempenho. A nova versão do BizTalk Server é uma grande atualização que incorpora as sugestões e recomendações de milhares de clientes. O BizTalk Server 2004 não incorpora apenas novos recursos, mas foi redesenhado para fornecer aperfeiçoamentos substanciais no desempenho da execução e monitoramento de processos, na integração mais robusta com o Visual Studio.NET para a programação de controles e ainda novas capacidades de modelagem de workflows.

Um das iniciativas estratégicas da Microsoft que melhoraram de forma significativa as capacidades de integração de aplicações e automação de processos do BizTalk Server e do Microsoft Office, separadamente ou quando utilizados em conjunto, está na adoção da Recomendação do W3C para os Esquemas XML. O esquema XML é a especificação que define formalmente uma matriz extensa de tipos de dados primitivos e componentes estruturais na criação de documentos XML. Ele é um dicionário de elementos abstratos, entidades de atributos e regras organizacionais. O valor da criação de documentos XML que estão em conformidade com o “dicionário” de esquemas está no fato do significado, função e uso da informação no documento ser transparente, compreensível e operacional por uma aplicação que suporta XML, que pode acessar o esquema fundamental do documento. Cada iniciativa da indústria em desenvolver um vocabulário comum e um conjunto de procedimentos para o intercâmbio e processamento da informação é baseado no Esquema XML., assim como os protocolos dos Web Services em si e a linguagem utilizada (BPEL) para encapsular um processo inteiro em XML.

Usando um Esquema XML internamente, o BizTalk Server pode importar qualquer definição de esquema XML nativamente sem precisar convertê-lo. Isto significa reduzir o tempo e o esforço necessários para facilitar cenários de negócios sofisticados e interativos, particularmente aqueles que envolvem o intercâmbio de múltiplos tipos de documentos. Um exemplo de onde isto é importante está no surgimento de um framework de especificações B2B genéricas ou específicas da indústria para padronizar o conteúdo de documentos e de etapas e do comportamento de um intercâmbio baseado em procedimentos. Existem tipicamente milhares de tipos de documentos e cenários de intercâmbio definidos em cada iniciativa de especificação, todas elas definidas a partir de esquemas XML. Suportando um Esquema XML nativamente, o robusto mecanismo de execução de processos e a infra-estrutura de mensagens do BizTalk Server pode ser implantado de forma eficiente para suportar qualquer iniciativa de framework B2B.

Microsoft Office 2003

O uso de esquemas XML é ilustrado no lançamento do Microsoft Office 2003; o formato nativo dos arquivos do Word e Excel agora é baseado em um esquema XML. Também no Microsoft Office 2003, a Microsoft introduziu o InfoPath, uma ferramenta de formulários baseados em XML criado para propagar as capacidades de workflow através de uma organização. O InfoPath foi desenhado para permitir aos participantes de um workflow que originam a informação, fazem uma análise ou ainda, possuem as funções de gerar, interagir e intercambiar informações estruturadas. Tipicamente estas atividades são baseadas em papel ou utilizam uma representação digital do papel. Um formulário criado em um processador de textos ou uma planilha eletrônica pode ser preenchida facilmente, mas a informação que foi inserida neste formulário não é entendida ou capaz de ser processada sem programação ou intervenção manual. Gerar, portar, extrair, manipular e reorganizar informação não estruturada para, e a partir destes formatos, é extremamente trabalhoso, ineficiente e dispendioso.

O InfoPath soluciona efetivamente este problema criando formulários inteligentes que geram uma informação estruturada em XML incluindo o metadado da instrução processada. Por trás de um formulário do InfoPath existe um modelo que incorpora um ou mais esquemas XML, folhas de estilo XSLT, controles embutidos e conjuntos de instruções da lógica de negócios. O modelo controla o comportamento de um formulário da seguinte forma:

  • Pode gerar múltiplas visões do formulário a partir da mesma informação
  • Valida os tipos de dados e valores que podem ser inseridos em um formulário
  • Define e controla as contingências e dependências da informação inserida
  • Gera valores automáticos, derivados e calculados
  • Invoca eventos, caixas de diálogos e instruções baseado nas contingências e dependências
  • Fornece acesso a origens de informações remotas
  • Permite a incorporação de assinaturas digitais

Modelos de formulários são criados em uma ferramenta de design WYSIWYG (O que você vê é o que você obtém) e não requer programação baseada em procedimentos, para que esquemas XML predefinidos ou folhas de estilo XSLT sejam criados. O esquema e as instruções de processamento são implicitamente definidos conforme o modelo do formulário é construído, a partir de uma palheta de controles “arrastar e colar”, assistentes e caixas de diálogo, sendo representado em XML. Quando um formulário do InfoPath é populado ele gera um documento XML que contém a informação derivada e inserida marcada com o respectivo metadado, processando instruções no metadado quando necessário, assim como as assinaturas digitais dos participantes que acessaram o respectivo formulário ao gerarem o documento. O documento também inclui referências aos esquemas do modelo e arquivos XSLT que permite a qualquer aplicação XML que receba o documento a obter os respectivos esquemas e arquivos XSLT para o documento gerado.

Permitindo que aplicações amplamente distribuídas e bem compreendidas, como o pacote Microsoft Office, gerem e decodifiquem documentos XML expostos com as suas respectivas definições de esquemas e instruções de processamento, estas aplicações passam a ser capazes de atuar em interações no nível dos eventos baseados em sua capacidade de reconhecer automaticamente e processar a informação e o metadado encontrado nos documentos. Essencialmente, elas tornam-se capazes de “responder ao conteúdo” e podem facilitar a automação dos processos de workflows que ocorrem entre aplicações e entre aplicações e os participantes. Esta é a mesma premissa fundamental dos Web Services e redefine o conceito funcional e as capacidades destas aplicações. Elas agora se comportam como um cliente de rede, assim como um navegador Web ou um cliente de e-mails, e são capazes de atuar em interações sofisticadas e automatizadas com qualquer origem de informação XML. Os participantes que utilizam estas ferramentas ainda atuam em suas respectivas funções no workflow, mas de forma muito mais eficiente devido à eliminação das tarefas de processamento manual que são irrelevantes para a efetiva execução destas funções.

Trocando informações

O BizTalk Server fornece serviços de mensagens e transporte como funções de recebimento, canais e portas, publicação, distribuição de assinaturas e enfileiramento de mensagens, todos estes suportando o roteamento e processamento baseado no conteúdo. Estas facilidades, em conjunto com o rastreamento de documentos e o monitoramento de processos do BizTalk Server fornecem uma infra-estrutura para o gerenciamento de processos de workflows envolvendo milhares de nós habilitados para XML que são agora responsivos ao conteúdo e capazes de interagir no nível dos eventos. Com o BizTalk Server como um concentrador de mensagens e processos e as aplicações do Microsoft Office 2003 como clientes de processamento XML, os participantes envolvidos em workflows podem agora ser orquestrados, monitorados e qualificados a partir de métricas de confiabilidade e desempenho. Isto gera um potencial de se alterar radicalmente a dinâmica geral e as eficiências de um workflow processado em um ritmo corporativo.

As metodologias e tecnologias envolvidas no design, implantação e execução dos processos também estão sofrendo uma mudança de paradigma, conforme a Microsoft introduz inovações importantes nas ferramentas de Gerenciamento de Processos de Negócios (BPM) que, de forma significativa, irão aumentar as eficiências do desenvolvimento e implantação dos processos.

Uma destas inovações é a introdução de um conjunto de ferramentas de alto nível para a implantação e design dos processos que correspondem às funções dos participantes envolvidos no processo de desenvolvimento. Estas ferramentas tornam possível a construção, graficamente, do modelo lógico de um processo, a ligação das etapas de um modelo aos agentes atuais e componentes de implantação e a geração de um conjunto de instruções em um executável em XML do modelo final do processo.

Funções do Analista de Negócios e do Desenvolvedor

A automação dos processos de negócios é uma atividade de colaboração que atua numa linha entre os profissionais de negócios e programadores. Isto porque cada disciplina fala a sua própria “língua” e as questões de desenvolvimento são sempre resultado da comunicação e de procedimentos divididos entre suas respectivas percepções dos objetivos de desenvolvimento. Consequentemente, o desenvolvimento de software é caracterizado por ciclos de revisão recursivos e ambíguos devido à metodologia que requer interpretações e adaptações da intenção de uma especificação de uma forma muito abstrata. Sistemas de notação de desenvolvimento, como o UML, permitem que analistas de negócios documentem as especificações funcionais e os “casos de uso” de um processo usando uma metodologia estruturada, mas os programadores ainda assim precisam interpretar esta documentação e traduzir o seu intuito para um formato e uma linguagem completamente diferente. Interpretar e traduzir as especificações de processos complexos em código baseado em procedimentos é também problemático, pois o comportamento do código é tipicamente mais complicado e com resultados inesperados quando comparado com o comportamento do processo atual.

Para obter as vantagens do paradigma de processos de negócios expostos, independentes e orientados a documentos, são necessárias ferramentas de desenvolvimento e metodologias que incorporam estes conceitos. Ao criar estas ferramentas, a Microsoft oferece uma alternativa de metodologia para o desenvolvimento de aplicações orientadas a processos, que efetivamente eliminam a ineficiência dos ciclos de interpretação e tradução que hoje caracterizam o desenvolvimento de aplicações.

O Microsoft Visio continua como a ferramenta ideal para os analistas de negócios. O Visio foi criado para ser utilizado por uma linha de profissionais de negócios e/ou analistas de negócios para a criação de representações, em formato de diagramas, de um processo de negócio através do “arrastar e colar” de um conjunto predefinido de objetos que representam atividades, eventos, decisões, o fluxo e a contingência lógica e as transações (e todos ou nenhum conjunto de atividades). Um processo é desenhado a partir da ordenação, rotulação e ligação destes objetos assim como pela definição das regras nos eventos de decisões. Uma vez que o diagrama do processo esteja completo, o Visio gera uma representação em XML do processo em um documento BPEL (Business Process Execution Language), que será discutido a fundo em breve. A representação BPEL do processo desenhado é então importado para o Visual Studio.NET onde cada objeto do design do processo é implantado.

O produto correspondente para desenvolvedores também continua sendo o Visual Studio.NET, que contém um modelo especial de projeto e fornece um conjunto extenso de funcionalidades. Este modelo fornece um espaço de trabalho visual que expõem as “ligações” dos objetos de implantação, documentos e da infra-estrutura de mensagens para as etapas do processo criado no estágio de design. Enquanto o Visual Studio.NET é o ambiente de programação e é assumido que o processo de implantação será executado por indivíduos com habilidades em programação, a metodologia e a dinâmica da implantação do design do processo não possui semelhança com o desenvolvimento de aplicações de programação procedimental. O espaço de trabalho visual é desenhado para ser um ambiente de colaboração, onde o programador e os criadores do processo podem trabalhar juntos em um modelo de objetos de diagramas do processo, facilmente compreendido por todas as partes envolvidas.

Juntando as peças

Em um ambiente de trabalho, o Visual Studio.NET reconstitui a representação do processo de negócio. Além da palheta primitiva de elementos de design encontrada no Visio, ele contém uma palheta de objetos de implantação (componentes de integração de aplicações, objetos COM e Web Services, documentos XML, facilidades de transporte e mensagens, transformações, etc.) que são visualmente conectadas aos objetos do design através de eventos de mensagens ou métodos chamados, utilizando-se atividades do tipo “arrastar, colar e conectar”. Além disso, os mecanismos de implantação para funções muito complexas, como transações de curtos e longos prazos, com o suporte necessário a recursos como confirmações em duas fases e roll-back, são funções nativas desta ferramenta, que minimizam a necessidade de escrever código procedimental complicado. Como a dinâmica primária de intercâmbios no Gerenciamento de Processos de Negócios (BPM) é baseada no envio, recebimento, inspeção e transformação de documentos XML expostos, uma ferramenta de desenvolvimento para Gerenciamento de Processos de Negócios (BPM) deve ser capaz de mapear visualmente o fluxo e o intercâmbio de informações em um evento de mensagens associado com a etapa do processo. Isto é facilitado, devido a um modelo especial chamado “Data” que é graficamente representado pelo fluxo de mensagens em um processo, assim como a transformação e as operações realizadas nos elementos dos documentos através do fluxo do processo.

Esta abordagem de construção, ao criar aplicações de processos, incorpora o paradigma modular, independente e exposto na criação de qualquer tipo de interação ou evento. Cada ligação da implantação ou evento de mensagem é do ponto de vista funcional, independente e isolado de qualquer outra ligação ou evento de mensagem. Uma alteração no lado do design de uma implantação não afeta a operação, funcionamento, estrutura ou integridade dos objetos do lado da implantação.

Em um processo convencional de desenvolvimento uma integração complexa ou um cenário de processo é inserido no código de programação que incorpora a estrutura dos objetos dos pontos finais, a lógica do fluxo do processo, a conversão de formatos de dados, regras de negócios e as ligações com a infra-estrutura de transporte. Se uma modificação é necessária, em qualquer faceta do módulo de integração, então a integridade de toda esta implantação de intercâmbio (é o que ocorre normalmente) pode ser comprometida. O risco de introduzir comportamentos inesperados ao modificar o código tem sempre sido um problema do desenvolvimento de software e este fato leva à hesitação em se alterar um processo em andamento em resposta a contingências e requisitos do negócio. Isto leva ainda a paralisação de processos e muito da rigidez global em organizações.

Não é por acaso que estas ferramentas e metodologias de desenvolvimento de processos de negócios exemplificam o paradigma modular, independente e exposto que caracteriza os processos em si. Este paradigma é fundamental para cada aspecto do ambiente de Gerenciamento de Processos de Negócios (BPM) da Microsoft e os benefícios associados à capacidade de desenhar, implantar e executar processos de negócios são profundos. Sendo capaz de visualizar e compreender a lógica dos negócios complexos ao longo de seu respectivo mecanismo de implantação, o desenvolvimento de processos e o formas de gerenciamento tornam-se infinitamente mais eficientes e gerenciáveis. Isto em termos de permitir que as organizações se adaptem de forma flexível aos requisitos de negócios e suas contingências.

Entendendo a BPEL

Os processos de negócios no mundo real são complexos. Na maioria dos casos, eles incorporam controles de integridade como suporte a transações ACID, persistência de estados em interações de longo prazo, operações paralelas e em cadeia, mecanismos de compensação e exceções, confirmações de recebimentos e capacidades de correlação, todos eles suportados pelo BizTalk Server. Conforme a complexidade dos processos aumenta, o valor da capacidade de desenhar, implantar e documentar um comportamento altamente contingente e sofisticado usando uma metodologia de construção visual se torna mais e mais clara. Este é especialmente o caso após um período de tempo, quando processos necessitam de modificações ou um design de processo serve como base para outro.

A Linguagem de Execução de Processos de Negócios para Web Services ( Business Process Execution Language for Web Services, BPEL4WS, ou simplesmente BPEL) é outra inovação chave que foi introduzida no BizTalk Server 2004. A linguagem BPEL foi desenvolvida através da colaboração entre a Microsoft, IBM e BEA e combina o XLANG e WSFL, as gerações anteriores de linguagens de processos criadas pela Microsoft e pela IBM, respectivamente. A função fundamental para o qual o BPEL foi criado está em orquestrar e coordenar Web Services de forma que eles possam atuar no comportamento transacional e colaborativo. A especificação BPEL foi enviada para o corpo de padrões OASIS para revisão e eventual designação como um protocolo padrão, para ser disponibilizado para uso por qualquer um.

A linguagem BPEL é escrita em um Esquema XML e define formalmente as atividades básicas e estruturadas que são utilizadas para se criar interações sofisticadas em processos de negócios. Os modelos para o Gerenciamento de Processos de Negócios (BPM) do Visio e do Visual Studio.NET geram conjuntos de instruções BPEL a partir de um diagrama de um processo. O BizTalk Server contém um mecanismo de execução que roda como uma instância de um processo de script BPEL em cima da chamada feita por um evento de mensagem. O mecanismo do processo também fornece serviços de gerenciamento adicionais como o rastreamento dos estados e variáveis de todas os processos ativos, muitos dos quais de execução de longo prazo.

Como o conjunto de instruções BPEL é uma representação XML de um processo com uma linguagem precisa e uma sintaxe estruturada, ela fornece um conjunto compreensivo e legível de instruções que documentam definitivamente um processo. O valor desta documentação não deve ser subestimado, pois foi a histórica falta de boa documentação que não permitiu que os softwares e processos fossem lidos, modificados e adaptados.

De fato, os objetos primitivos utilizados no Visio e no Visual Studio.NET são representações diretas dos elementos básicos e estruturados em BPEL como recebimento, chamada, seqüência, fluxo, chaveamento, parceiros, funções, ligações e origem. Como os elementos da atividade BPEL são precisamente definidos (o que um protocolo deve fazer) eles podem ser abstraídos e implantados de várias formas. Um consórcio de desenvolvimento já está mapeando um sistema de notação gráfica alternativo para processos de negócios diretamente para BPEL. Assim como um navegador em conformidade pode enviar, receber e exibir páginas HTML usando http, qualquer mecanismo de processo em conformidade com BPEL será capaz de executar um conjunto de instruções BPEL. Web Services individuais, na forma de uma chamada a um método ou um evento de mensagem em SOAP são coordenados, executados e gerenciados através de instruções BPEL. Isto define o estágio para abrir processos de negócios e estendê-los entre clientes e parceiros de negócios.

Como o padrão de linguagem de orquestração de Web Services, a linguagem BPEL irá exercer uma função fundamental na adoção das tecnologias de Web Services. Enquanto os Web Services fornecem a metodologia para mensagens aplicação para aplicação e chamada de métodos através de redes sem fronteiras, eles não podem por si sós satisfazer os requisitos operacionais de um processo de negócios, que se comporta como um conjunto de atividades ordenadas e contingentes, cujo resultado da execução produzido é esperado e repetitivo no tempo.

A linguagem BPEL, quando implantada e suportada em um ambiente de Gerenciamento de Processos de Negócios (BPM), permite que os Web Services alcancem este requisito. A implantação combinada do BPEL no Visio, Visual Studio.NET e no BizTalk Server representam uma etapa crítica em tornar as tecnologias de Gerenciamento de Processos de Negócios (BPM) e Web Services a base para a criação da próxima geração de processos de negócios.

Processos de Negócios com suporte a Arquitetura Orientada a Serviços

Estamos entrando em uma era da computação, que será caracterizada pela desconexão da informação dos aplicativos, conduzindo a uma Arquitetura Distribuída Orientada a Serviços. O significado, a função, os relacionamentos e a apresentação da informação serão auto-descritivas; embutidas na própria informação através de vocabulários de esquemas e referências a folhas de estilos. A informação será gerada e publicada sem o conhecimento de como ela será consumida ou utilizada. As aplicações serão capazes de, simultaneamente, consumirem a informação e os métodos de outras aplicações, assim como elas mesmos serem consumidas. Os processos serão auto configuráveis e auto modificáveis, baseados nas interações no nível de evento entre o conjunto de regras e a informação. Aplicações completamente novas, novos modelos de negócios, em que a informação irá definir a nossa experiência do mundo, irão envolver este paradigma.

Os processos de negócios são mantidos por regras de negócios e a grande maioria das modificações no ciclo de vida em aplicações de processos de negócios pertencem a regras de negócios (em oposição às modificações relacionadas à tecnologia). Entretanto, como as regras de negócios em aplicativos convencionais estão incorporados no código de programação, elas não podem ser acessadas ou modificadas sem uma interrupção potencial aos processos de negócios.

Há algum tempo foi reconhecido que isolar as regras de negócios completamente do código procedimental ou de qualquer mecanismo de implantação do processo teria um efeito dramático na habilidade dos negócios competirem efetivamente, facilitando a eficiência e a modulação, em tempo hábil, das variáveis e fatores que mantém as condições do negócio ou precisam de uma resposta.

É este o sentido da Microsoft ao introduzir o módulo Business Rules Composer no BizTalk Server 2004. Este módulo é composto por um editor para a criação e um mecanismo para o processamento de conjuntos de regras sofisticadas de negócios usando um modelo de associações em cadeia. Um conjunto de regras (ou “Política”) que leva a uma atividade ou função específica é criado com o Business Rules Composer e se torna um objeto de recurso que é referenciado pela orquestração do BizTalk. A transparência e a independência controlam a criação e a implantação de regras de negócios. Um conjunto de regras incorporados no BizTalk Orchestration pode ser visualizado, modificado ou completamente substituído tanto no design como na execução, sem afetar nenhum outro aspecto operacional do processo ou interromper as instâncias em execução do processo afetado.

Isolar, expor e publicar conjuntos de regras de negócios como serviços que podem ser acessados por qualquer aplicação ou processo fornecem uma das mais valorosas propostas para o paradigma de Arquitetura Distribuída Orientada a Serviços. Por isso, o módulo Business Rules Composer é um dos mais notáveis produtos da Microsoft.

As ofertas da Microsoft para o Gerenciamento de Processos de Negócios (BPM) e as tecnologias XML que estão sendo criadas são as sementes para a próxima era da computação, baseada no paradigma da Arquitetura Distribuída Orientada a Serviços. A partir da visão geral das inovações sendo introduzidas no conjunto de ferramentas para Gerenciamento de Processos de Negócios (BPM) da Microsoft, percebemos o quanto as funcionalidades do XML acrescentam. O Esquema XML habilita os Web Services, o InfoPath e a linguagem BPEL. A linguagem BPEL permite o uso de ferramentas de alto nível de produtividade como os modelos de implantação e design encontrados no Visio e no Visual Studio.NET. As mesmas tecnologias embutidas no BizTalk Server permitem um modelo completamente novo para a integração de aplicações e o gerenciamento de processos. Cada manifestação por si só possui um valor significativo, mas quando combinadas oferecem o potencial para facilitar todas as eficiências e soluções inovadoras, para muitos problemas desafiadores. Este é um exemplo do ditado que diz que “o todo é maior do que a soma das partes”.

Uma coisa é ter a visão de como isso tudo pode funcionar; outra coisa é realmente fazer a visão funcionar. E aqui é onde a força da Microsoft surge. As inovações geradas pelo XML requerem suporte operacional. Por si sós, elas não podem ser simplesmente inseridas em uma infra-estrutura organizacional existente, fornecer eficiências funcionais ou entrar em conformidade com os padrões operacionais de desempenho que as organizações de TI estão acostumadas a obter. Seus valores se concretizam através da implantação, dentro de um framework de tecnologias complementares e suportadas, que juntas facilitam sua utilização dentro de uma infra-estrutura.

Assim como o InfoPath e o BizTalk Server se complementam, a matriz de aplicações corporativas testadas e aprovadas da Microsoft complementam e suportam a implantação destas aplicações em um contexto real de missão crítica. Os componentes das aplicações corporativas que formam o pacote de produtos para Gerenciamento de Processos de Negócios (BPM) são o SQL Server, Active Directory, Host Integration Server e adaptadores de terceiros, Microsoft Operations Manager e o Application Center.

O Microsoft SQL Server fornece o armazenamento dos dados gravados nas transações de todos os eventos de mensagens BizTalk assim como instâncias “desidratadas” (removidas da memória ativa) de processos de longo prazo. Como o SQL Server suporta nativamente o XML, ele pode manter o registro de uma instância de documento associada com cada evento de mensagem em si. Com este recurso, o SQL Server fornece as capacidades persistentes do BizTalk Server.

A metodologia de integração de aplicações do BizTalk Server é baseada na conversão de formatos nativos de arquivos do legado e de aplicações empacotadas em uma representação XML , que é então transformada e manipulada de acordo com os requisitos da integração em intercâmbios de informação. Um pré-requisito para esta função de conversão é o conhecimento dos formatos nativos dos arquivos. O Microsoft Host Integration Server e outros adaptadores de terceiros permitem esta informação e a fornecem ao BizTalk Server de forma compreensiva. Além disso, estes produtos também fornecem transporte ( gateways ) entre as facilidades de transporte do BizTalk Server e os protocolos de transporte utilizados em sistemas do legado.

Por último, mas não menos importante, estão os requisitos por desempenho de sistema, disponibilidade e escalabilidade. Qualquer aplicação de nível corporativo precisa ser desenhada para acomodar métricas de desempenho, redundância operacional e escalabilidade de forma granular e em nível funcional. Este detalhado nível de gerenciamento de desempenho, prevenção à falhas e escalabilidade pode ser alcançado com o suporte do Microsoft Operations Manager (MOM) e do Application Center. Estas ferramentas são intimamente integradas com todos os produtos servidores Microsoft e fornecem a segurança operacional necessária para o processamento de informações em nível corporativo.

Conclusão 

Nos últimos dois anos, baseado em milhares de implantações de sucesso, o BizTalk Server demonstrou claramente que uma plataforma baseada em tecnologias XML pode aumentar sensivelmente a eficiência e a economia no desenvolvimento da integração de aplicações. Com as muitas e importantes inovações sendo introduzidas no BizTalk Server 2004, Microsoft Office 2003, Visio e Visual Studio.NET, para a criação de processos de negócios ágeis e altamente gerenciáveis, as tecnologias XML irão demonstrar um potencial ainda maior de entregar eficiência e benefícios operacionais, assumindo um merecido papel central e proeminente na computação corporativa.

© 2004 Microsoft Corporation. Todos os direitos reservados.