WS-I: Interoperabilidade
no Desenho e Consumo de
Web Services
Outubro 2003
Agenda
Introdução WS-I.org
 Perfis de Interoperabilidade
 Aplicações Exemplo
 Ferramentas de Teste
 Programa de Conformidade

Introdução WS-I.org
Contexto


Negócios têm que inovar cada vez mais
rapidamente
Sucesso passa por dispor de muita
interoperabilidade
– Dentro da empresa
– Entre parceiros de negócio
– Num conjunto diversificado de plataformas,
aplicações e linguagens de programação

Tecnologias Internet são um dado, e
interoperabilidade é um requisito
Introdução WS-I.org
Comentários
“Se é um fornecedor de infra-estrutura e
não alinha com o WS-I, nem sequer
apareça – não faremos negócio consigo”
-- Merrill Lynch CTO John McKinley
Introdução WS-I.org
Standards

XML (eXtensible Markup Language)
– Não está acoplado a qualquer linguagem de
programação, sistema operativo ou vendedor de
software.
– É útil para descrever formatos de documentos para
a Web e também para dados estruturados.

XML Namespaces
– Evitar conflitos de nomeclatura

XML Schema (XSD)
– Descrever classes de documentos XML
Introdução WS-I.org
Standards – XML Schema
<?xml version="1.0" encoding="utf-8" ?>
<FilmesPreferidos
<?xml version="1.0" encoding="utf-8" ?>
xmlns="mailto:[email protected]">
<xs:schema
targetNamespace="mailto:[email protected]"
<Filme>
xmlns:tns="mailto:[email protected]"
<Titulo>Matrix</Titulo>
xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
<Site url="http://whatisthematrix.warnerbros.com/"/>
<xs:element name="FilmesPreferidos">
</Filme>
<xs:complexType>
<xs:sequence>
<Filme>
<xs:element name="Filme" type=“tns:FilmeType”
<Titulo>Lord of the Rings - Part I</Titulo>maxOccurs="unbounded"/>
</xs:sequence>
<Site url="http://www.lordoftherings.net/"/>
</xs:complexType>
</Filme>
</xs:element>
<xs:complexType name=“FilmeType">
<Filme>
<xs:sequence>
<Titulo>Bicentenial Man</Titulo>
<xs:element name="Titulo" type="xs:string" />
<xs:element name="Site" minOccurs="0">
</Filme>
<xs:complexType>
</FilmesPreferidos>
<xs:attribute name="url" type="xs:URI" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>
Introdução WS-I.org
Standards (cont.)

SOAP (Simple Object Access Protocol)
version="1.0"?>
– Protocolo<?xml
simples
para a troca de informação estruturada num
<SOAP-ENV:Envelope
ambiente distribuído
e descentralizado.
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
– “Messaging xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
Framework”: Estabelece um formato extensível de
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
mensagens >XML, as quais podem ser enviadas através de diversos
protocolos subjacentes
<SOAP-ENV:Header>

WSDL (Web Services Description Language)
–
–

<!-- Opcional. Informação transversal
(segurança, sessão, routeamento, etc) -->
</SOAP-ENV:Header>
Documentar<SOAP-ENV:Body>
serviços
(operações, mensagens, …)
<!-- Informação especifica da mensagem -->
Simplificar consumo
dos serviçosxmlns="mailto:[email protected]">
(criação automática de classes
<FilmesPreferidos
<Filme>
proxy)
<Titulo>Matrix</Titulo>
<Site url="http://whatisthematrix.warnerbros.com/"/>
</Filme>
</FilmesPreferidos>
Catalogar serviços
existentes
</SOAP-ENV:Body>
Também</SOAP-ENV:Envelope>
conhecido como as Páginas Amarelas dos WebServices
UDDI (Universal Description and Discovery Interface)
–
–
Introdução WS-I.org
Standards (cont.)

SOAP (Simple Object Access Protocol)
– Protocolo simples para a troca de informação estruturada num
ambiente distribuído e descentralizado.
– “Messaging Framework”: Estabelece um formato extensível de
mensagens XML, as quais podem ser enviadas através de diversos
protocolos subjacentes

WSDL (Web Services Description Language)
– Documentar serviços (operações, mensagens, …)
– Simplificar consumo dos serviços (criação automática de classes
proxy)

UDDI (Universal Description and Discovery Interface)
– Catalogar serviços existentes
– Também conhecido como as Páginas Amarelas dos WebServices
Introdução WS-I.org
Standards - WSDL
<types>
<definitions>
<binding de
name="FavoriteMovieWSSoap"
type="s0:FavoriteMovieWSSoap">
Conjunto
definições
que here
caracterizam
um Web Service
<!-- Type
definitions
-->
<definitions
<service>
Conjunto de vários portos, cada um dos quais instancia operações
de acordo com um binding num determinado endpoint.
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
<xs:schema
elementFormDefault="qualified"
xmlns="http://schemas.xmlsoap.org/wsdl/"
style="document"
/>
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="mailto:[email protected]"
<types>
Definição
do
formato
das
mensagens relevantes. Típica mas não
<operation name="GetFavoriteMovies">
targetNamespace="mailto:[email protected]"
>
<soap:operation
necessariamente
através de XML Schema
xmlns:tns="mailto:[email protected]">
<types>
soapAction="mailto:[email protected]/GetFavoriteMovies"
<xs:element
name="GetFavoriteMovies">
<!-- Describe
types
used in operation messages -->
style="document"
/> por
<message>
Cada
mensagem
é
constituída
zero/uma ou mais partes. Cada
<portType
name="FavoriteMovieWSSoap">
<xs:complexType
/>
</types>
<input>
<operation
name="GetFavoriteMovies">
parte
é</xs:element>
de
um
tipo
bem
definido. Tipicamente
estes tipos são
<message
name="">
<soap:body
use="literal"
/>
<input
message="tns:GetFavoriteMoviesSoapIn"
/>
<xs:element
name="GetFavoriteMoviesResponse">
<!-Describe
operation
messages
-->
tipos base
de
XML
Schema
ou
tipos
definidos
na
tag
<types>
</input>
<output
message="tns:GetFavoriteMoviesSoapOut" />
<xs:complexType>
</message>
<output>
</operation>
<xs:sequence>
<portType
name="">
<soap:body
use="literal" />
</portType>
<xs:element
minOccurs="0"
maxOccurs="unbounded"
<portType>
Um tipo
de
porto
é um conjunto
de operações.
operação
é
<!-set of
operations
on
a Um
given
port -->
</output>Describe
name="FilmesPreferidos"
type="s0:FilmeType"
</portType>
uma
acçãoname="GetFavoriteMoviesSoapIn">
disponibilizada
por um serviço. A cada
operação está />
</operation>
<message
</xs:sequence>
<binding
name=""
>
<service
name="FavoriteMovieWS">
</binding>
associado
um
de mensagens
de input
e um conjunto
<part </xs:complexType>
name="parameters"
element="tns:GetFavoriteMovies"
/>de
<!--conjunto
Bind portType
to
a specific
protocol
-->
<port name="FavoriteMovieWSSoap"
binding="tns:FavoriteMovieWSSoap">
</message>
</xs:element>
mensagens
de output.
</binding>
<soap:address
<message
name="GetFavoriteMoviesSoapOut">
<xs:complexType
name="FilmeType">
<service
name="">
location="http://localhost/FavoriteMovieWS/FavoriteMovieWS.asmx"
/>
<part
name="parameters"
<binding> </port>
Forma
como
um
<portType>
é exposto
protocolo
... <!-- Instanciate Binding
on anum
given
endpointde-->
element="tns:GetFavoriteMoviesResponse"/>
</xs:complexType>
</service>
transporte
(e.g., HTTP, MIME, TCP,…). Define características das
</service>
</message>
</xs:schema>
</definitions>
mensagens
nesse protocolo, e forma como protocolo é utilizado.
</types>
Introdução WS-I.org
Standards (cont.)

SOAP (Simple Object Access Protocol)
– Protocolo simples para a troca de informação estruturada num
ambiente distribuído e descentralizado.
– “Messaging Framework”: Estabelece um formato extensível de
mensagens XML, as quais podem ser enviadas através de diversos
protocolos subjacentes

WSDL (Web Services Description Language)
– Documentar serviços (operações, mensagens, …)
– Simplificar consumo dos serviços (criação automática de classes
proxy)

UDDI (Universal Description and Discovery Interface)
– Catalogar serviços existentes
– Também conhecido como as Páginas Amarelas dos WebServices
Introdução WS-I.org
Contexto




Flexibilidade dos standards
Evolução rápida dos standards
Coordenação entre standards
Conformidade das implementações
Introdução WS-I.org
Flexibilidade dos standards



SOAP
–
–
–
–
–
Encoding vs Literal
Document vs RPC
Header attributes: mustUnderstand, actor/role
Protocolo: tipicamente HTTP; existem bindings para SMTP, TCP
HTTP: Cookies, Redirection, SOAPAction
–
–
–
–
Mensagens: XML, …
Types: XML Schema, …
Port Types: One-Way, Request-Response, …
Bindings: SOAP, HTTP GET, SMTP, …
WSDL
UDDI
– Arbitrariedade dos tModel
1998
1999
2000
2001
2002
2003
WS-I Basic Profile 1.0
SOAP 1.2
UDDI 2.0
WS-I.org
UDDI 1.0
WSDL 1.1
SOAP 1.1
WSDL 1.0
SOAP 1.0
XML Namespaces 1.0
XML 1.0
Introdução WS-I.org
Evolução rápida dos Standards
2004
Introdução WS-I.org
Contexto




Flexibilidade dos standards
Evolução rápida dos standards
Coordenação entre standards
Conformidade das implementações
Introdução WS-I.org
Missão
http://www.ws-i.org
[…] WS-I é uma organização aberta da
indústria que tem como propósito
promover Interoperabilidade de Web
Services entre diversas plataformas,
sistemas operativos e linguagens de
programação […]
Introdução WS-I.org
Missão

Qual é a missão?
–
–
–
–
Estabelecer uma definição clara de ‘Web Services’
Clarificar as especificações que estejam maduras para implementar
Publicar indicações sobre a melhor forma de utilizar as especificações
Apoiar programadores através de exemplos concretos e de
ferramentas de suporte

WS-I subscreve especificações que tenham sido largamente
adoptadas pela industria

WS-I não escreve novas especificações, mas adopta o trabalho
realizado por outros (Standards integrator)
Introdução WS-I.org
Deliverables

Perfis de Interoperabilidade
– Basic 1.0: XML, XSD, SOAP, WSDL, UDDI

Use Cases e Cenários de Utilização
– Capturam respectivamente requisitos de negócio e técnicos
para uso Web Services

Aplicações Exemplo
– Supply Chain Management (Gestão Cadeia de Fornecimento)

Ferramentas de teste
– Monitor e Analisador – Verificar conformidade com Perfis
Introdução WS-I.org
Relações entre materiais
Feedback
Aplicação Exemplo
Verifica / Feedback
Restrições
Orienta Requisitos
Use Cases e Cenários
de Utilização
Orienta Regras
Restrições
Materiais e
Ferramentas de Teste
Conjunto
Regras
Feedback
Perfil
(e.g., Basic Profile)
Agenda
 Introdução
WS-I.org
 Perfis de Interoperabilidade
 Aplicações Exemplo
 Ferramentas de Teste
 Programa de Conformidade
Perfis de Interoperabilidade
WS-I Basic Profiles
Um ‘Basic Profile’ é:
– Um conjunto de especificações de Web
Services com versões especificas
– Restrições e recomendações quanto ao uso
das mesmas
Perfis de Interoperabilidade
WS-I Basic Profiles

Basic Profile 1.0
– http://www.ws-i.org/Profiles/Basic/2003-08/BasicProfile1.0a.html (~50 páginas)
– Publicado em Agosto 2003

Basic Profile 1.1
– Actualização Incremental à versão 1.0
– SOAP with Attachments

Basic Security Profile
– Segurança no Transporte
– Segurança de Mensagens SOAP
– Outros aspectos (de acordo com Basic Profile 1.0 e 1.1)
Perfis de Interoperabilidade
Filosofia de um Basic Profile



Não é garantia de interoperabilidade
Restringe em lugar de relaxar
Procura compatibilidade futura
Perfis de Interoperabilidade
WS-I Basic Profile 1.0

Base
–
–
–
–

HTTP (1.0 ou 1.1)
XML 1.0
XML Namespaces
XML Schema 1.0
SOAP 1.1
– Restrição mais significativa:
MUST NOT use SOAP 1.1 Section 5 (SOAP Encoding)

WSDL 1.1
– MUST use XML Schema 2001 and SOAP/HTTP binding

UDDI 2.0
Perfis de Interoperabilidade
WS-I Basic Profile 1.1

Soap with Attachments
– W3C Note, Dezembro 2000
– http://www.w3.org/TR/SOAP-attachments
Perfis de Interoperabilidade
Basic Profile 1.0 - Segurança

Imposições reduzidas
– Permite mecanismos de segurança
baseados em HTTP
SSL/TLS
 client certificates
 HTTP Authentication

– Não define nenhum mecanismo para
segurança das mensagens SOAP (e.g. WSSecurity)
Perfis de Interoperabilidade
Basic Security Profile

Baseado em standards
– HTTP sobre TLS (HTTPS)
– SOAP Attachments Security
– OASIS Web Services Security v1.0

Work in progress!
Perfis de Interoperabilidade
Conformidade

Critérios de conformidade são estabelecidos:
– Por requisitos
– Para artifacts

Mensagem (SOAP/HTTP)
– Scoped to the entire message

Description (WSDL)
– Scoped to wsdl:port (or parts of a port)

Regdata / Discovery (UDDI)
– Scoped to bindingTemplate or tModels

Considera-se que uma instância de um artifact tem conformidade
quando todos os requisitos correspondentes se verificarem

O Basic Profile NÃO estabelece um critério que indique se as
ferramentas e plataformas estão em conformidade
Perfis de Interoperabilidade
Conformidade

Definem-se várias instâncias de
processamento
– Instância (e.g. ASMX)
– Consumidor (e.g. classe proxy e wsdl.exe)

Tanto Instâncias como Consumidores
devem respeitar as regras para:
– Senders
– Receivers
Agenda
 Introdução
WS-I.org
 Perfis de Interoperabilidade
 Aplicações Exemplo
 Ferramentas de Teste
 Programa de Conformidade
Aplicação Exemplo
Introdução

Web Services Standard que promovam
Interoperabilidade
– Entre plataformas, aplicações e linguagens de programação
– Interoperabilidade consistente e fiável entre tecnologias de
Web services de vários vendedores
– Integrador de standards para ajudar ao avanço de Web
services de forma estruturada e coerente
Specs
Profiles
Consenso WS-I
Exemplos
Guidance
Prova
Boas Práticas
Aplicação Exemplo
Descrição

Aplicação simples de Gestão de Cadeia de
Fornecimento (Supply Chain Management)
– Baseada em Web Services
– Demonstra uma aplicação que tem conformidade com Basic
Profile 1.0
– Não é necessariamente representativa das Best Practices

Doc/Literal & RPC/Literal

Demonstra 3 padrões de troca de Mensagens
– One-Way
– Request-Response
– Callback
Aplicação Exemplo
Basic Callback
<ns2:StartHeader
Cliente xmlns:ns2=""> Servidor
<ns2:conversationID>1</ns2:conversationID>
<ns2:callbackLocation>http://localhost:999/WSI_Sample/services/WarehouseCallBack</ns2:callbackLocation>
</ns2:StartHeader>Pedido Inicial
Pedido Original:
Resposta: Ack
Pedido: Notifica Resposta
Resposta: Ack
Resposta Final:
Aplicação Exemplo
Recomendações MS
Aplicação exemplo inclui algumas funcionalidades que não são as mais correctas para
plataformas Microsoft

Permite RPC/Literal
–
The Argument Against SOAP Encoding
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsoap/html/argsoape.asp
SOAP encoding. SOAP encoding —sometimes called "Section 5 encoding", after the
portion of the SOAP 1.1 specification where it is defined —is a shadow from SOAP's past
that has no place in the future of Web services

Propõe funcionalidade através de mecanismos não standardizados
–
Callback


<StartHeader>
<conversationID>
<callbackLocation>
Exemplo equivalente WS-Addressing:
<wsa:RelatesTo>
<wsa:ReplyTo>
Consumer
Retailer System
UC1: Purchase Goods
UC4: Supply
Finished Goods
<<include>>
<<include>>
UC2: Source Goods
UC5: Manufacture
Finished Goods
UC3: Replenish Stock
Manufacturing System
UC8: Configure
and run demo
Demo
User
UC8: View Events
UC7: Log Events
Demo System
Agenda
 Introdução
WS-I.org
 Perfis de Interoperabilidade
 Aplicações Exemplo
 Ferramentas de Teste
 Programa de Conformidade
Ferramentas de Teste
Objectivos

Materiais e Ferramentas de Teste de Web Services
servem vários propósitos:
– Testar Conformidade com WS-I Basic Profile(s)
– Testar Interoperabilidade e diagnosticar problemas
– Ajudar programadores de Web Services a auto validar a
interoperabilidade e conformidade com WS-I
– Estabelecer metodologia de testes WS-I
– Fornecer feedback a outros grupos de trabalho do WS-I

Ferramentas de teste não certificam que um Web Service ou um
cliente estão de acordo com WS-I * Profile

Ferramentas e materiais de testes são versionados e essas
versões existem em cada plataforma
– Desenvolvidas em ambos Java e C#
Ferramentas de Teste
Arquitectura
User
Application
Or WS
Web
Service
MONITOR
Log
file
ANALYZER
Results
Requestor
SOAP
Message
SOAP
Message
9090
Monitor
Monitor
Config
File
80
Monitor
Web
Service
SOAP
Message
Interceptor
Logger
<log …. startTimestamp="2002-07-30T20:16:06.722Z" >
Message <monitor … > <implementer … />
<environment>
Log
<logFile truncate="true"
<runtime name="… " version="… " />
<operatingSystem name="… " version="… " />
location="\temp\traceLog.xml"/>
<xmlParser name="…" version="…" />
<manInTheMiddle>
</environment> </monitor>
<redirect>
<logEntry id="1" type="request" timestamp="…6.722Z">
<listenPort>9090</listenPort>
<message>&lt ;?xml …&gt ;
&lt ;SOAP-ENV:Envelope …</message>
<schemeAndHostPort>
<senderIP>127.0.0.1</senderIP>
http://localhost:80
<receiverIP>169.198.23.45</receiverIP>
<HTTPheaders>HTTP/1.1 200 OK Server: … </HTTP…>
</schemeAndHostPort>
</logEntry>
</redirect>
<logEntry id="1" type="response" timestamp="…6.962Z">
Web
Service
Requestor
Monitor
SOAP
Message
Monitor
Config
File
Interceptor
SOAP
Message
Logger
Monitor
Message
Log
Analyzer
Analyzer
Config
File
XML
Schema
Analyzer
WSDL
Test
Assertion
Document <logFile>traceLog.xml</logFile>
Conformance
<profileAssertions>tad_BP1.xml</…>
Report
UDDI
<wsdl>
<wsdlFile> RetailerService.wsdl</…>
Conformance
Report
Configuration
Environment
Discovery
Result per
target
Artifact Assertion
results
Description
Result per
target
Message
Summaries
Result
All
Result per
target
Result types
Binding
Template
TModel
Port
Message
Binding
PortType
Operation
Message
Pass
Fail
NotApplicable
NotTested
XSLT
XSLT
Result
Assertion
Result
Result
Artifact
Artifact
type
<report …>
<profile name="BasicProfile" version="1.0" />
<analyzer version="…" releaseDate="…">
<implementer … location="…" />
<environment> … </environment>
<wsi-analyzerConfig:configuration …>…</… >
</analyzer>
<assertionTarget type="wsdlDocument">
<assertionResult id="WSI4001"
result="passed">
<assertionDescription>The name scope in
"definitions" element must have value:
http://schemas.xmlsoap.org/wsdl/
</assertionDescription>
</assertionResult>
<assertionResult>…</…>
</assertionTarget>
Analyzer
Config
File
Test
Assertion
Document
Analyzer
Conformance
Report
XSLT
HTML report
Ferramentas de Teste
Função do Monitor

Captura Mensagens:
Interceptor
– Especifico de um
Transporte
– Captura mensagens e
erros na camada de
transporte

Logging e Formatação:
Logger
– Grava output execução do
Interceptor
– Formata entradas no log
(XML) e exporta-o para
um ficheiro
Sender
Interceptor
Logger
Log File
Receiver
Ferramentas de Teste
Analisador

Analise da descrição WSDL
– Testa Conformidade do WSDL, e
Target Ports

Analise das mensagens do Web
Service
– Lê e correlaciona registos no
Log
– Executa procedimentos de teste
relevantes para o perfil

Relatório de Conformidade
– Cobertura, Validação (WS ports
pass/fail), Erros

WS-I Profile(s)
Activação selectiva
de procedimentos teste
UDDI
Test Procedure 1
(UDDI)
WS Definition
(WSDL, port)
Test Procedure 2
(WSDL)
LOG file
(ficheiro XML)
Test Procedure 3
(HTTP)
Test Procedure 4
(SOAP)
Desacoplado de Monitorização
– Testes de conformidade podem
ser executados em run-time ou
posteriormente
Relatórios
Teste
Ferramentas de Teste
Source e Binários
http://www.ws-i.org/
demo
Ferramentas de teste
Agenda
 Introdução
WS-I.org
 Perfis de Interoperabilidade
 Aplicações Exemplo
 Ferramentas de Teste
 Programa de Conformidade
Programa de Conformidade
Objectivos

Vendedores de tecnologia poderão invocar
conformidade com perfis WS-I
– Demonstra liderança em Web Services e Interoperabilidade
– Invoca alinhamento com melhores práticas da industria

Programa auto gerido
– Baseado em Relatórios emitidos pelo Vendedor
– Clientes terão informação necessária para auditar e duplicar
os testes de conformidade

WS-I fornecerá índice de relatórios no seu site .org
Programa de Conformidade
Descrição

Tipo de clausulas de conformidade:
– Artifacts: Schema e WSDL. (e.g., de
indústrias verticais)
– Instancias de Web Services (e.g., MapPoint
.NET)
– Aplicações (e.g., SAP, GreatPlains)

Conformidade de plataformas e
ferramentas ainda está em estudo
Programa de conformidade
Relação com .NET Connected

Qual a relação com o programa .NET Connected?
– WS-I é mais restritivo
– São fornecidas regras sobre detalhes dos specs, não apenas sobre
quais os specs a utilizar
– Algumas características dos spec são abandonadas pelo WS-I (e.g.,
SOAP encoding)


As aplicações .NET Connected PODEM ter
conformidade com WS-I
Aplicações em conformidade com WS-I e
que tenham conformidade com na
Framework .NET são todas
.NET Connected Premium
Programa de Conformidade
Boas Práticas

Building Interoperable Web Services: WS-I Basic
Profile 1.0
http://msdn.microsoft.com/library/default.asp?url=/library/enus/dnsvcinter/html/wsi-bp_msdn_landingpage.asp
– Foca aspectos chave do WS-I e dá indicações de como lidar com algumas
restrições
– Descreve como tirar partido do Visual Studio para criar Web Services que
estejam em conformidade com as especificações WS-I


Utilize a aplicação de exemplo WS-I como exemplo de como se deve ou
não deve desenhar um Web Service
A aplicação exemplo WS-I demonstra boas práticas de
interoperabilidade, mas não necessariamente de outros aspectos como
por exemplo performance ou segurança
Patterns & Practices
http://www.microsoft.com/patterns
Resumo





WS-I disponibiliza regras muito claras acerca de como
construir Web Services interoperaveis
Os perfis de interoperabilidade definem o caminho
para a interoperabilidade
Aplicações Exemplo dão dicas de como seguir o
caminho indicado
As Ferramentas de Teste ajudam os programadores a
confirmar que construíram os Web Services da ‘forma
correcta’
Aplicações e Web Services podem utilizar uma marca
de conformidade do WS-I se seguirem o processo
obrigatório
Resumo
O que pode fazer

Desenhar e construir Web Services que seguem as
regras WS-I

Verificar que os Web Services fornecidos por produtos
estão em conformidade com os Perfis
– Utilizar as ferramentas de teste e dar feedback sobre as
mesmas

Planear a publicação de relatórios de conformidade

Evangelizar WS-I para os seus clientes, parceiros e
fornecedores
– Actualizar produtos para obter conformidade
© 2003 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.
Download

Perfis de Interoperabilidade