Serviços Web e a evolução dos serviços
em TI
Web services and the IT services
evolution
por Marcello
Peixoto Bax e George Jamil Leal
Resumo: O tema
Serviços Web (ou web services) tem sido amplamente discutido ultimamente
na literatura comercial e científica ligada à Internet. A
partir de uma perspectiva de evolução histórica dos
serviços implementados através do emprego das tecnologias
da informação e comunicação, discute-se neste
artigo como estes serviços web se integrarão e como serão
aplicados para estruturar o conceito de e-business. Apresenta-se os princípios
básicos de uma arquitetura voltada para serviços web e as
tecnologias padrão que estão surgindo sob coordenação
do W3C e que suportarão a implementação desta arquitetura.
Palavras chave:
Serviços Web; Internet; TICs; e-Business; W3C
Abstract: The
web service concept has been widely discussed lately in internet-related
commercial and scientific literature. This article will discuss, from an
IT service evolution perspective, how web services will be integrated and
applied to structure the e-business applications. The fundamentals of a
service-oriented architecture will be presented, as well as the standard
technologies that are appearing under the coordination of the W3C and will
support the implementation of such architecture.
Keywords: Web
Services; Internet; ICTs; e-Business; W3C
1. Introdução
A evolução exibida pelas Tecnologias da Informação
e Comunicação (TIC) pode ser referenciada como uma das mais
marcantes ocorridas em segmentos de oferta de serviços na história
moderna. Um roteiro que parte do computador central, o "mainframe",
que há alguns anos suportava através de conexões via
terminais, o processamento de dados[1] e que
nos leva aos atuais sistemas baseados em Internet que apóiam o trabalho
de equipes móveis em escala geográfica mundial, pode ser
a orientação para que se analise este inigualável
processo.
Numa referência antológica, feita há cinco anos
atrás, Negroponte (1995, p. 113), opinou sobre a necessidade de
uma forma de comunicação mais ágil, que explorasse
os latentes recursos da tecnologia da informação, hoje atendidos
em grande parte pelos serviços tornados disponíveis pelo
acesso à rede Internet :
"Nós raciocinamos hoje apenas em termos do que tornaria
mais fácil para as pessoas a utilização do computador.
Pode ser que tenha chegado a hora de perguntar o que tornaria mais fácil
para os computadores lidar com seres humanos. Por exemplo: como é
possível conversar com pessoas, quando nem sequer se sabe que estão
presentes? Você não pode vê-las e nem sabe quantas são.
Será que estão sorrindo? Falamos desejosos sobre interações
homem-máquina, sistemas dialógicos e, no entanto, estamos
dispostos a deixar no escuro total um dos participantes deste diálogo.
Está na hora de fazer com que os computadores vejam e ouçam."
Podemos afirmar que a fusão entre os flexíveis serviços
tecnológicos hoje existentes são fruto de uma oportuna união
entre as necessidades de organizações empresariais e governamentais,
envolvidas num sistema de redes de serviços, com a oferta deste
ambiente informacional, amplamente instalado e em contínuo processo
de desenvolvimento.
Segundo Castells (1999, p. 87):
"Uma nova economia surgiu em escala global nas últimas
duas décadas. Chamo-a de informacional e global para indicar suas
características fundamentais e diferenciadas e enfatizar sua interligação.
É informacional porque a produtividade e a competitividade de unidades
ou agentes nessa economia (sejam empresas, regiões ou nações)
dependem basicamente de sua capacidade de gerar, processar e aplicar de
forma eficiente a informação baseada em conhecimentos. É
global porque as principais atividades produtivas, o consumo e a circulação,
assim como seus componentes (capital, trabalho, matéria-prima, administração,
informação, tecnologia e mercados) estão organizados
em escala global, diretamente ou mediante uma rede de conexões entre
agentes econômicos. É informacional e global porque, sob novas
condições históricas, a produtividade é gerada,
e a concorrência é feita em uma rede global de integração.
E ela surgiu no último quartel do século XX porque a Revolução
da Tecnologia da Informação fornece a base material indispensável
para esta nova economia."
Ou ainda, em Dertouzos (1997, p. 38), vemos a descrição
desta nova infra-estrutura, que objetiva o transporte da informação:
"Da mesma forma, o Mercado da Informação se organiza
a partir de uma infra-estrutura comum, feita de todas as ferramentas e
serviços informáticos que permitam a suas múltiplas
atividades funcionar com eficiência e praticidade. Essa infra-estrutura
será distribuída por todos nós, sem que uma única
organização a controle ou possua. Vai transmitir dados, voz,
texto e imagens de raios X de um caso grave de asma, negociando automaticamente
através de provedores de transmissão que ligam - com
cabos, linhas telefônicas, satélites ou ondas de rádio
- os computadores do posto médico ao laboratório de radiologia
e ao consultório do médico."
2. Um caminho tecnológico
Do gigantesco computador central, o mainframe, oriundo dos primeiros
experimentos com máquinas processadoras de cálculos do pós-guerra,
partimos para os computadores de porte médio, que permitiram às
organizações a posse de seus próprios sistemas processadores
de dados, em virtude de serem operativos em menores instalações
e de custo inferior às primeiras máquinas comerciais.
Os minicomputadores levaram consigo a semente do que seria a primeira
onda de descentralização da TI, demandando que as organizações
não mais possuíssem apenas pessoal de preparação
de dados - o que até então ocorria - mas de desenvolvimento
de soluções. Esta formação levou o mercado
a fornecer recursos de hardware e software para suporte deste
novo cenário de trabalho.
Daí surgiram demandas por modelos flexíveis de processamento
em empresas, que tanto visavam a extrair toda a possibilidade de serviços
dos recursos tecnológicos, como permitir a montagem de estruturas
de fornecimento de outros novos, apoiados pela tecnologia.
O próximo passo ocorreu com a introdução dos microcomputadores,
através do lançamento do "revolucionário" Personal
Computer em 1981, pela IBM. Este fato, inédito na estratégia
da maior empresa de informática da época, iniciou uma tendência
de descentralização que permitiu a montagem de estruturas
ágeis de processamento local de informações por parte
de departamentos empresariais, lares e escritórios empresariais.
Citações ao "computador departamental" eram habituais nos
anúncios publicitários da época.
2.1. O surgimento das redes
Estas unidades foram, em seqüência, integradas na forma
de redes de computadores, que visavam o compartilhamento de recursos entre
diversas máquinas, bem como de possibilitar a criação
de uma arquitetura de processamento de aplicações que permitisse
a distribuição do processamento - isto é, cada nó
desta nova rede de computadores interligados ofereceria aos seus usuários
o poder de realizar uma parcela importante das tarefas de fluxos e processamento
de informações para a aplicação em questão.
Em paralelo, ocorre a popularização o uso da rede Internet,
recurso que, na época, ainda era concentrado no meio acadêmico
e militar. O serviço Web (ou WWW[2]) e a flexibilização
dos órgãos controladores da rede para que se desenvolvesse
seu uso comercial são decisivos para tal acontecimento.
2.2. O modelo cliente-servidor
Este fato propiciou inovações importantes na arquitetura
das aplicações, através da criação de
novas alternativas de serviços, sendo a afirmação
do modelo cliente-servidor merecedora de destaque. Neste caso, para
processamento de uma aplicação distribuída, o usuário
de uma rede[3] necessita ter em sua máquina
um programa cliente que executará as funções
de interface com o usuário e de chamada de serviços, que
serão executadas por um servidor com quem se conecta quando
necessário.
Este modelo de processamento, hoje encontrado nos serviços de
bancos de dados, aplicações de groupware e Internet,
entre outras, apoiou a criação de uma arquitetura computacional
baseada em protocolos de comunicação especiais que
possibilitam a implementação de novos serviços, atendendo
o que é demandado pelas organizações. Assim a difusão
das redes prosseguiu. Com a popularização da Internet nota-se
principalmente a introdução organizacional do correio eletrônico
estruturado em torno do serviço Web.
O comércio eletrônico é considerado um exemplo da
nova tendência de dinamização dos negócios entre
organizações, e é visto por muitos como a possibilidade
do surgimento de uma perspectiva sócio-econômica diferenciada,
como vemos em Drucker (2000, p. 112-126) :
"O comércio eletrônico representa para a Revolução
da Informação o que a ferrovia foi para a Revolução
Industrial; um avanço totalmente inusitado, inesperado. E, como
a ferrovia de 170 anos atrás, o comércio eletrônico
está gerando um ‘boom’ novo e distinto, provocando transformações
aceleradas na economia, na sociedade e na política."
2.3. Evolução das aplicações e serviços
Os serviços web[4], aplicações
que comunicam pela Internet, implementadas de forma flexível e fracamente
acoplada, estão tendo um papel crescente nas interações
entre empresas por meio eletrônico. Estas aplicações
focalizando-se, neste início da evolução do e-business,
principalmente na automatização das cadeias de fornecimento
entre empresas, constituindo redes de negócios tipo Business-to-Business
(B2B).
Nota-se que algumas empresas já estão envolvendo suas
aplicações pré-existentes[5],
sistemas que acessam bancos de dados ou sistemas de transação
comercial, de uma camada especial (wrapper) para poder, rapidamente, oferece-las
como serviços pela Internet (Burbeck, 2000). Tem-se assim o início
da tendência de aparecimento dos ASPs (Aplication Service Providers).
Ao mesmo tempo, novas aplicações tais como leilões
eletrônicos, e-marketplaces, estão sendo desenvolvidas e oferecidas
como serviços na web. Ou seja, pode-se esperar que o comércio
eletrônico (ou mais genericamente o e-business) se baseará
em um modelo orientado a serviços oferecidos inter-empresas, situado
num nível de abstração superior e que adicionará
flexibilidade ao modelo cliente-servidor (que se beneficiou largamente
da metodologia de análise, concepção e programação
orientada à objetos).
Para funcionarem bem em conjunto, de forma flexível e dinâmica,
os serviços precisam compartilhar princípios organizacionais
que, juntos, constituem uma Arquitetura Orientada a Serviço - “Service-oriented
Architecture” (SOA). Esta arquitetura focaliza-se em como os serviços
são descritos e organizados dinamicamente, propiciando descoberta
e uso automáticos. Excluem-se aqui sistemas cujas interações
são acopladas manualmente de forma rígida, como é
o caso nas aplicações de EDI (Electronic Data Interchange).
Para que a descoberta automática seja factível, uma coleção
de serviços precisa ser organizada em uma hierarquia de categorias
baseadas em o que o serviço faz e como ele pode ser acionado por
outro serviço. Segundo BURBECK [Burbeck, 2000] e vários outros
autores, acredita-se que estas taxonomias serão mantidas e disponibilizadas
por serviços de categorização, ou agenciadores (brokers),
análogos ao que hoje conhecemos para a organização
de informações na Web, como o Yahoo! ou o Open
Directory da Netscape.
3. Um novo modelo de desenvolvimento orientado à serviços
Novos negócios implementados a partir da oferta de serviços
pela Web vão surgir diariamente, impulsionando uma categoria diferenciada
de empreendimentos, que muitos identificam como pertencentes a uma "Nova
Economia". Pode-se afirmar, como em JAMIL (2001, p. 510-540), que um novo
modelo de aplicações está surgindo, apoiado no desenvolvimento
de tecnologias, como as que abordaremos nesta Seção. Este
novo modelo gerará inovadores empreendimentos baseados em serviços
web (do inglês web services).
Com efeito, neste momento o caminho em direção a uma Web
mais semântica[6] está sendo pavimentado
pelo W3C e influenciado pelas maiores empresas do setor de informática
hoje, como Microsoft, IBM, HP, dentre outras[7]. Estas
empresas não param de submeter proposições ao W3C,
principal organismo de padronização da Web (ver w3c.org).
As próximas versões das aplicações Web que
visam o comércio eletrônico serão mais inteligentes,
contexto-conscientes e semânticas, podendo atuar de forma mais pró-ativa.
Estas aplicações se constituem de serviços web, ou
seja, serviços dotados de grande flexibilidade de funcionamento
em redes. Estes serviços serão os agentes estruturais das
próximas versões da Web.
Enquanto no modelo cliente-servidor, um servidor é uma entidade
única esperando para realizar uma tarefa, um serviço web
distingue a tarefa a ser executada da entidade (ou entidades) que a executará.
Pode haver várias entidades, cooperando pro-ativamente para atingir
um objetivo único. Tem-se um modelo pro-ativo de aplicações,
onde um serviço tenta conexão com outros serviços,
procurando-os através de diretórios de registros, fazendo
chamadas e interagindo dinamicamente com múltiplos parceiros a fim
de construir a lógica da aplicação.
Segundo Rawn Shah, editor chefe do website sobre web services da IBM
(Shah, 2001), este novo modelo em surgimento se caracteriza, essencialmente,
por comunicações do tipo ponto-a-ponto (peer-to-peer).
Em relação ao modelo orientado à objetos (OO)[8]
que suporta atualmente o desenvolvimento da maioria das aplicações,
uma diferença fundamental é o uso de formatos XML para definir
a interface entre os componentes ou objetos.
Esta comunicação inter-componentes implementada
com XML permite que os detalhes das interfaces de comunicação
entre os processos sejam descobertos em tempo de execução
(ou conexão), ao invés de especificados rigidamente em tempo
de concepção, o que reduz substancialmente a flexibilidade
das aplicações.
Assim, em termos históricos, evoluímos das aplicações
monolíticas em mainframes, para o modelo tipo cliente-servidor
das 2 últimas décadas (distribuído localmente em redes
locais) impulsionado pela “democratização” das LANs. Agora
iniciamos a compreensão de um novo modelo com características
próprias, globalmente distribuído e orientado à serviços
(dos web services).
Ainda segundo Rawn Shah, esta evolução revela a necessidade
humana pela criação de aplicações cada vez
mais dinâmicas. O mundo está cada vez mais complexo e a tecnologia
acelera esta complexidade a ritmos inéditos na história.
Quanto mais ágeis as aplicações, mais chances de sobreviver.
Nota-se que, até o fenômeno da globalização
com as aplicações funcionando e comunicando através
da Internet, o aspecto “agilidade” do software não era tão
focalizado. Novas idéias sobre concepção de sistemas
apontam para um futuro de aplicações mais dinâmicas,
que mudam com a evolução do seu ambiente, das empresas nas
quais atuam, e dos parceiros com os quais interagem (Shah, 2001).
3.1. O que são serviços web? princípios da arquitetura
SOA
A Fig. 1 mostra o esquema básico de uma arquitetura SOA. As
entidades que interagem são os Solicitadores (serviços usuários
de outros serviços), os Provedores e os Agenciadores.
Um provedor (provider) de serviços publica a disponibilidade
de seus serviços e responde a requisições de uso dos
serviços publicados. A operação de publicação
(publish) permite ao provedor registrar suas habilidades e seus
requisitos de interface junto a um agenciador de serviços.
Um agenciador (broker) de serviços registra e categoriza
os provedores de serviços e oferece serviços de pesquisa.
A operação de busca (Find) permite que o solicitador
encontre o serviço desejado junto ao agenciador.
Um solicitador (requestor) usa um agenciador para encontrar
o serviço que precisa e conecta-se ao provedor para utilizar o serviço.
A operação de acoplamento (Bind) permite ao solicitador
do serviço usar o serviço encontrado.
Figura 1 - interações em uma Arquitetura Orientada
a Serviços.
Para suportar estas operações, a arquitetura SOA requer
descriptores de serviços. Estes descriptores especificam características
semânticas do serviço e do provedor do serviço. O agenciador
usa tal informação para categorizar o serviço e o
solicitador a usa para casar seus requisitos com os do provedor e do serviço.
A implantação de tal arquitetura em nível global
exigirá a adoção de padrões que já estão
sendo desenvolvidos e submetidos para certificação pelo W3C.
Todos estes padrões estão sendo baseados na linguagem XML.
Três destes padrões merecem destaque.
Verifica-se em GARTNER GROUP (2001, p. 8) e em IBM (2001) a
citação ao padrão UDDI - Universal Description,
Discovery and Integration - um protocolo que permite a publicação[9]
e a pesquisa de um serviço, baseando-se no fato que, em breve, diversos
destes serviços estarão sendo ofertados na rede. Além
disto, encontra-se nas mesmas fontes a citação ao protocolo
SOAP
- Simple Object Access Protocol - que se baseia no padrão de representação
de dados XML - eXtensible Markup Language. Este protocolo visa a prover
meios de interação entre aplicações remotas,
usando suas referências na Internet. Ambos são mostras das
tecnologias que irão fundamentar a próxima versão
de implementações na Web.
Outro padrão central para o desenvolvimento atual dos serviços
web e a WSDL - Web Services Description Language -, uma gramática
XML para especificação das propriedades de um serviço
web, tais como: o que ele faz, onde está localizado e como realizar
uma chamada a ele (ou um acoplamento ou bind). No momento em que
dois serviços equivalentes são capazes de se anunciar na
rede de uma maneira padronizada e neutra, uma aplicação poderia
teoricamente escolher entre eles baseando-se em critérios tais como
preço e desempenho. Para saber mais sobre WSDL ver (Glass, 2001).
3.2. Importância da Flexibilidade para as aplicações
B2B
A Internet por ser considerada fundamentalmente um novo fator de inovação
nos modelos de negócios, criando para as empresas uma espécie
de corrida às armas. Esta corrida é caracterizada por um
ciclo de retro-alimentação no qual novas armas criam novos
problemas que, por sua vez demandam o desenvolvimento de outras novas armas.
Hoje, a velocidade de adoção de um novo modelo de negócios
é certamente um fator que aumenta as chances de sucesso de uma empresa.
Segundo Burbeck em (Burbeck, 2000), pode-se considerar 3 cenários
para as infraestruturas de colaboração de serviços
B2B:
* Acoplamento rígido, estabelecido em tempo de concepção:
A aplicação conhece os detalhes precisos do serviço
com o qual vai colaborar porque este foi acoplado durante a concepção.
Assim, a aplicação sabe exatamente como interagir com o serviço;
* Acoplamento dinâmico a colaborador pré-estabelecido:
A aplicação sabe como solicitar a um agenciador por um serviço
específico, isto porque o programador codificou uma consulta específica
a ser feita ao agenciador. Entretanto detalhes da interação
dependem da descrição do serviço retornada pelo agenciador
em tempo de execução;
* Acoplamento dinâmico e escolha dinâmica do colaborador:
A aplicação sabe a semântica e as chamadas da API do
serviço a ser usado, no entanto consulta um agenciador com um padrão
de busca que permite o retorno de uma série de alternativas. A aplicação
escolhe então um serviço da lista em tempo de execução.
Atualmente nos estágios iniciais do comércio eletrônico
as aplicações estão focalizadas nos dois primeiros
cenários. Entretanto o terceiro cenário é o mais flexível
e adaptativo; é o que mais se aproxima da configuração
necessária para a constituição da base das empresas
em rede, caracterizadas por Castells (1999, p. 190) nos seguintes termos:
“... os sistemas interativos de computadores, que até
então limitavam-se às redes locais, tornaram-se operacionais
em redes remotas, e o paradigma computacional passou da mera conexão
entre computadores à computação cooperativa, independentemente
da localização dos parceiros interagentes.”
3.3. Importância da Semântica
A semântica dos serviços, ou seja, o que eles fazem,
ou o significado dos dados que manipulam é de importância
vital para que cada serviço da rede de colaborações
faça a coisa certa. Como confiar que um serviço fará
a coisa certa antes de ser utilizado? E como decidir isso na velocidade
da Internet?
Na modelagem OO os acoplamentos são decididos em tempo de concepção
e realizados em tempo de execução com base na adequação
das interfaces dos objetos comunicantes. Esta adequação envolve
essencialmente a checagem dos tipos de dados dos argumentos da mensagem
e do seu retorno. Este processo pode ser suficiente para a concepção
de sistemas controlados por uma mesma instituição, onde os
objetivos e detalhes técnicos são compartilhados pela mesma
equipe de desenvolvimento. Porém em uma configuração
onde vários milhares de serviços são oferecidos por
milhares de empresas diferentes, a simples adequação entre
mensagens não será suficiente para se deduzir a semântica
de um serviço, garantindo que determinado serviço executará
da forma esperada, do ponto de vista do negócio.
Uma solução seria deixar para o ser humano decidir qual
serviço deveria se comunicar com outro serviço, especificando
a colaboração em tempo de concepção (o que
já é feito em OO com padrão CORBA). Porém,
com visto anteriormente, o sucesso dos serviços B2B depende de acordos
de conexão não pré-fixados e de escolha flexível
de colaboradores.
Uma outra solução seria a utilização de
categorias criadas por especialistas humanos que determinam a semântica
dos serviços nelas dispostos. As categorias precisam ser precisamente
criadas de forma que, se um determinado serviço pertence a uma categoria,
então tem-se todas as informações necessárias
para a busca e o acoplamento com o serviço descrito. Esta solução
parece ser a mais adequada visto que os aspectos flexibilidade e dinâmica
são cruciais para as aplicações tipo B2B.
3.4. Princípios organizacionais para concepção
de serviços web
Uma economia de serviços colaborativos, como aquela descrita
em DRUCKER (2000, p. 112-126), consistirá de vários provedores
e usuários de serviços trocando informações
pela Internet, com capacidade de funcionar como uma unidade em tempo
real, em escala planetária, Castells (1999, p. 111).
Entretanto, como mostrou a popularização e evolução
da Web alcançada principalmente graças à simplicidade
de representação das informações[10]
e de seus protocolos de comunicação, tal economia só
se tornará realidade quando dispusermos de princípios e estruturas,
capazes de tornar o processo como um todo compreensível para indivíduos
e grupos sociais e de negócios que precisam integrar-se globalmente.
De forma a privilegiar a flexibilidade e dinâmica das interações,
tais princípios básicos deverão poder ser aplicados
tanto em tempo de concepção quanto em tempo de execução.
Importante notar que a concepção de software (design)
sempre foi ao mesmo tempo uma questão humana e uma questão
de máquina. Ou seja, é preciso criar princípios organizacionais
técnicos que considerem a maneira e grau em que as pessoas se sentem
(mais ou menos) confortáveis quando pensam sobre sistemas em termos
destes princípios técnicos.
Burbeck em (Burbeck, 2000) exemplifica isto de forma clara:
“... quando do desenvolvimento das linguagens de terceira
geração a invenção da sub-rotina[11]
(ou função) permitiu aos programas serem subdivididos em
unidades funcionais. A partir dessa inovação técnica,
surgiram as metodologias de concepção e análise que
se utilizaram da decomposição funcional, melhorando a modularidade
e facilitando o processo de concepção de sistemas cada vez
mais complexos.
A noção de objeto[12], que combina
funções e dados em uma mesma unidade encapsulada, introduziu
novos construtos organizacionais técnicos, tais como as noções
de classe, herança e polimorfismo. Estas inovações
deram origem as novas metodologias OO, técnicas de análise
e práticas de concepção. No início (fim dos
anos 80), eram consideradas pelos mais céticos mais como práticas
de decomposição funcional ligeiramente repensadas e, sobretudo,
renomeadas (os programas viram objetos, as chamadas de procedimento viraram
mensagens, as funções viraram métodos, etc.). Posteriormente
com a prática e a evolução das ferramentas de concepção
tornou-se claro que juntos os novos princípios representavam algo
fundamentalmente diferente. A vantagem principal foi promover uma maior
reutilização de código (bibliotecas de classes de
objetos). Assim, as classes são organizadas em hierarquias e ferramentas
permitem navegar de forma que as bibliotecas de classes tornam-se facilmente
acessíveis para programadores e analistas.”
A partir desta ótica, percebe-se que serviços web
representam uma nova forma de processamento computacional que requer novos
princípios técnicos de organização. Cada serviço
individual, diferentemente de funções e objetos, é
concebido para satisfazer as regras de negócios de uma empresa enquanto
colaboradora com aplicações ou serviços de outras
organizações. Assim um conjunto de serviços precisa
servir a um constituinte de indivíduos bem mais largo do que a equipe
de profissionais técnicos dentro de uma única organização.
Assim, uma descrição simples dos serviços disponíveis
é impraticável devido à escala da Internet e porque
o conjunto de serviços disponíveis muda constantemente. A
questão organizacional central então é como organizar
e procurar por serviços quando a dinâmica econômica
destes vai muito além da área técnica de atuação
de programadores e analistas. A abordagem que funciona para funções
organizadas em APIs é a documentação das chamadas
que são realizadas a estas funções. Em OO tem-se uma
hierarquia de classes navegáveis. Ambos requerem muita intervenção
humana e centralização do controle além do que pode
ser esperado para os serviços B2B.
Como a escala e o dinamismo do conjunto de serviços B2B assemelha-se
à escala e ao dinamismo da Web, Burbeck sugere que possíveis
soluções para os problemas de como organizar e buscar por
serviços automaticamente deveriam se inspirar dos serviços
existentes hoje que organizam páginas Web. Essa linha de raciocínio
indica o surgimento de entidades agenciadoras de serviços que promoverão
a organização e a categorização de serviços
disponibilizados por provedores de serviços. Estes serviços
agenciadores competirão entre si baseando-se em diversos fatores
de qualidade, tais como a escolha da melhor taxonomia para uma determinada
indústria, na atualização de seus diretórios
de informações facilitadoras de negócios como, por
exemplo, dados indicadores da qualidade da prestação de serviços,
etc. Exatamente como entidades como o Yahoo! ou o Altavista emergiram para
organizar páginas web.
Estes serviços de categorização são os agenciadores
representados na Fig. 1. Provedores de serviços irão publicar
seus serviços em um ou mais agenciadores. Usuários de serviços
(solicitadores), sabendo a categoria de serviços necessários,
solicitam aos agenciadores a lista de serviços naquela categoria.
O que é publicado, solicitado e categorizado é a descrição
do serviço no formato de um documento XML que descreve informações
institucionais sobre o provedor, a semântica do serviço ofertado
e as chamadas à API do serviço. Descrever a API de um serviço
é algo relativamente simples, o processo já é conhecido
em OO com o uso da linguagem IDL (Inteface Definition Language).
A descrição semântica do comportamento do serviço
deve ser legível ao ser humano, mas também permitir busca
automática e uso por outros serviços. Documentos XML têm
esta vantagem de ser compreendido por humanos e por programas.
3.5. Descrevendo serviços
Neste novo modelo orientado à serviços, a habilidade
de descreve-los tem papel central para o sucesso de sua publicação
para uso, sua categorização precisa, e suas possibilidades
de busca correta para a satisfação de uma necessidade. Assim,
as descrições dos serviços constituem o meio lógico
pelo qual se dá a troca de informações que possibilitam
a publicação, a descoberta e o acoplamento entre serviços.
Burbeck (Burbeck, 2000) descreve os requisitos de alto nível
destas descrições:
* A descrição de serviços deve ser feita
em linguagem XML. Elas precisam ser ao mesmo tempo legíveis para
humanos e processadas por programas. Precisam ser extensíveis, uma
vez que a evolução dos serviços web não pode
ser prevista em todos os seus detalhes;
* As descrições de serviços devem prover toda a
informação semântica necessária aos solicitadores
para estes verificarem se os requisitos serão satisfeitos e aos
agenciadores para estes decidirem sobre a categorização precisa
do serviço em sua taxonomia;
* As descrições devem ainda possibilitar a especificação
de requisitos não-funcionais. Segurança, autenticação
e privacidade importantes para garantir a troca de informações
necessárias para o consumo do serviço e questões contratuais.
4. O business por trás dos serviços web
Os negócios por trás do uso das informações
e serviços de e-business serão caracterizados por vários
aspectos que podem ser analisados à luz do papel que tem cada sistema
como provedor, solicitador (usuário), ou agenciador de serviços
para terceiros.
4.1. O negócio de provimento de serviços
Expor o ambiente interno de tecnologia de informação
para o mundo externo estabelecendo uma relação de negócios
mais próxima com clientes, fornecedores e parceiros.
Cada provedor terá que decidir quais serviços serão
expostos, como estabelecer o compromisso entre segurança e facilidade
de acesso, como precificar os serviços, ou, se são gratuitos,
como tirar benefícios diretos ou indiretos de sua exploração.
Devem também decidir em que categorias de serviços poderão
ser registradas nas listas taxonômicas dos agenciadores e que tipo
de Acordo Contratual serão exigidos dos solicitadores para a utilização
de um serviço.
Serviços podem combinar funções de sistemas legados
ou novos softwares concebidos para atuarem como serviços. Entretanto,
novos serviços podem constituir-se apenas de scripts de colaboração
entre serviços providos interna ou externamente. Pode-se esperar,
com a emergência dessa nova economia de serviços, que novas
oportunidades aparecerão pouco mais que a orquestração
e delegação de serviços já disponíveis.
Empresas provedoras compartilharão o desejo comum de registrar
seus novos serviços com um ou mais agenciadores específicos
(ou genéricos), a fim de anunciá-los para a audiência
de solicitadores mais apropriada. Novas oportunidades aparecerão
prover serviços capazes de auxiliar este tipo de submissão
de registro.
4.2. Usando serviços
Segundo Burbeck (Burbeck, 2000), na economia em rede as razões
para as empresas usarem serviços web serão, em geral, tão
variadas quanto aquelas que as levam a usar as TICs para otimização
de seus processos. Nota-se, entretanto, que a principal aplicação
dos serviços web hoje está na integração de
cadeias de fornecimento entre empresas e na automatização
dos processos de compras (procurement).
Pode-se esperar a abertura de novas oportunidades de terceirização
de tarefas especializadas que são hoje executados no seio de aplicações
monolíticas. Haverá o interesse na quebra destas aplicações
internas às organizações em diversos serviços
que então terão maior potencial de especialização,
personalização (conhecerão melhor os clientes) e exploração
comercial. Este tipo de comportamento já pode ser verificado na
construção de arquiteturas de software para grandes websites,
e no próprio surgimento do conceito de ASP.
Importante para os usuários de serviços é o grau
em que estes serão escolhidos estaticamente pelos analistas/programadores
em tempo de concepção ou escolhidos automaticamente (formando
estruturas muito mais dinâmicas) em tempo de execução.
Mesmo que a utilização inicial seja largamente estática,
a possibilidade de escolha dinâmica deixará em aberto questões
do tipo: como escolher o melhor provedor e como avaliar a qualidade do
serviço oferecido. E ainda mais importante, como avaliar o risco
de se expor às falhas dos provedores de serviços? e quais
técnicas evoluirão no sentido de reduzir e controlar este
risco?
4.3. O negócio de agenciamento de serviços
Serviços agenciadores serão responsáveis pela
criação e manutenção de taxonomias, pela avaliação
das informações que descrevem os serviços e o registro
de serviços em categorias, provendo possibilidades de busca rápida
destas informações para as partes interessadas.
Espera-se que esta nova economia em rede abra diversas oportunidades
de negócios para vários tipos de agenciadores. Alguns serão
conhecidos pela qualidade de sua taxonomia, pela riqueza de funcionalidades
de buscas muti-atributos, outros oferecerão altíssimo nível
de confiança, garantindo a negociação entre as partes
envolvidas, por exemplo, propondo aquisição de seguros especializados.
Alguns oferecerão um vasto espectro horizontal de serviços
e outros se especializarão em determinado tipo de indústria
ou setor em profundidade. Além disso, da mesma forma que temos hoje
meta-buscadores de páginas e produtos na Web, haverá também
agenciadores de agenciadores.
Certamente haverá competição pela maior qualidade
das taxonomias que maximizam a facilidade em se encontrar um determinado
serviço. Quanto maior a lista de serviços registrados, mais
solicitadores irão procurar usar o agenciador, e assim, maior o
valor em se ter um serviço novo registrado no agenciador. Esta dinâmica
circular de retorno positivo fará com que os novos negócios
se focalizem em aumentar suas presenças no mercado (no market-share)
ao invés de se focalizarem em receita à curto prazo.
Como um subproduto do casamento entre solicitadores e provedores os
agenciadores poderão acumular dados sobre oferta e demanda. Dados
sobre a utilização de serviços terão um valor
intrínseco. Os agenciadores estarão bem posicionados para
fornecerem dados de marketing que podem ser vendidos a provedores
e solicitadores. Dados desta natureza poderão estar disponíveis
gratuitamente ou fornecidos como parte em serviços de consultoria.
5. Considerações Finais
A revolução dos PC's nos anos 80 aconteceu apesar dos
críticos que achavam que um PC não era “coisa séria”.
Então as redes locais conectaram os PCs; e os céticos pensavam
que a forma como a TI era implementada não mudaria. Então
os programas evoluíram de banco de dados orientados a arquivos (p.ex,
dBase) para aplicações cliente/servidor com banco de dados
relacionais. Certo, mas as aplicações cliente/servidor ainda
eram essencialmente aplicações departamentais. Então
a revolução da Internet nos anos 90 interconectou praticamente
todos os sistemas sobre a terra e houve mudança no uso da TI corporativa;
ótimo para catálogos eletrônicos e compras on-line.
A TI agora está permitindo que aplicações sejam facilmente
concebidas através de uma rede de negócios entre empresas;
o que estarão dizendo os céticos?
Procurou-se descrever neste artigo o estado da arte em termos de aplicações
do tipo e-business, principalmente aquelas do tipo B2B. A descrição
parte de um percurso histórico do uso das tecnologias da informação
para a otimização de processos de serviços nas organizações;
inicia pelas aplicações monolíticas do mundo dos computadores
de grande porte e segue descrevendo o modelo cliente-servidor e o seu esgotamento
para atendimento de novos requisitos de dinamicidade e flexibilidade das
aplicações que estão emergindo da Web.
Dessa forma procurou-se contextualizar o ambiente atual no qual novas
aplicações estão sendo concebidas segundo os novos
princípios de uma arquitetura de software orientada a serviço.
Ou seja, como funcionalidades de negócios estão sendo encapsuladas
em objetos/componentes stand-alone que são então disponibilizados
em rede.
O artigo descreve brevemente os principais padrões em fase de
desenvolvimento e certificação pelo W3C que suportam tais
aplicações e revela aí a importância da linguagem
XML. Verifica-se que esta linguagem fundamenta todas as tecnologias que
permitirão a evolução dos Serviços Web, já
que possibilita descrições de serviços e recursos
cada vez mais semânticas.
Vê-se hoje que as grandes corporações que produzem
software (Microsoft, IBM, HP, Sun etc.) aderiram à onda mundial
desse mercado concernente à necessidade de padrões globais.
A sua coalizão em torno dos grupos de trabalho da instituição
W3C revela que enxergam os padrões como saída interessante
para aumento de vendas e desenvolvimento de novos produtos de software
que atenderão às demandas da nova economia. A existência
de tais padrões levará à concepção de
uma espécie de ecologia co-evolutiva de serviços colaborando
na Web.
Com o aparecimento de ambientes que facilitam o desenvolvimento destas
aplicações (como o WSDE da IBM), novas oportunidades surgirão
para empreendedores. Por outro lado, pode-se já constatar o risco
de uma clara tendência à monopolização dos serviços
de agenciamento que constituirão os chamados marketplaces.
6. Notas
[1] Propositadamente assim qualificado por dizer respeito ao tratamento
de dados numéricos e emissão de relatórios de totalizações,
em volume massificado.
[2] World Wide Web - criado em 1984 no CERN - Laboratório de
Física de Partículas, localizado em Genebra, na Suíça.
[3] Incluindo os sistemas baseados na Internet.
[4] Constituintes do chamado e-Business.
[5] Muitas vezes aplicações legadas.
[6] ver www.semanticweb.org
[7] Grandes empresas têm propostas de arquiteturas baseadas em
serviços web. As propostas mais conhecidas são Biztalk da
Microsoft, e-speak da HP e JINI da Sun.
[8] Ou de orientação a objetos.
[9] Ou seja, colocação em disponibilidade na Internet
por um provedor de negócios.
[10] HTML é uma linguagem de estruturação de informações
extremamente simples e acessível.
[11] Princípio organizacional da programação e
análise estruturadas.
[12] Núcleo da teoria da orientação à objetos.
7. Bibliografia
GLASS, G. The Web services (r)evolution, Part 4 – Web Services Description
Language (WSDL), Feb 2001, http://www-106.ibm.com/developerworks/libray…
Burbeck, S. “The Tão of e-business services – The evolution of
Web applications into service-oriented components with Web services”. IBM
Software Group, Oct 2000. Also available at:
CASTELLS, M. A Sociedade em Rede, São Paulo: Paz e Terra, 1999.
DERTOUZOS, M. O que será? São Paulo: Companhia das
Letras, 1997. p.38.
DRUCKER, P. O futuro chegou. São Paulo : Editora Abril,
Revista Exame, 22 mar. 2000. p. 112-126, 2000.
GARTNER GROUP - The future of Web Services : Dynamic Business Webs -
Relatório de Análise de Mercado, 2001.
IBM - Developer Works : Web Services - endereço Internet : http://www-106.ibm.com/developerworks/webservices/library/ws-uddi4j.html
JAMIL, G. Repensando a Tecnologia da Informação na Empresa
Moderna, Rio de Janeiro : Axcel Books do Brasil, 2001. p 510-540.
NEGROPONTE, N. A Vida Digital. São Paulo: Companhia das Letras,
1995. p. 113.
Shah, R. Letter from the Web services special topic editor. Apr 2001,Available
at: http://www-106.ibm.com/developerworks/webservices/library/letters/ws0313.html
Ryman, A. Understanding Web Services. IBM Toronto Lab, Dec 2000.
Available at: http://www7.software.ibm.com/vad.nsf/Data/NT0000D2BE?OpenDocument&p=1&mast=2
BERNERS-LEE, T et al. The Semantic Web. Available at: http://www.sciam.com/2001/0501issue/0501berners-lee.html
Sobre os autores / About the Authors:
Marcello Peixoto Bax
Professor da Escola de Ciência da Informação da
UFMG – bax@eb.ufmg.br
George Jamil Leal
Doutorando da Escola de Ciência da Informação da
UFMG – jamil@eb.ufmg.br