Os serviços da Web podem converter aplicativos em aplicativos da Web.
Ao usar os Serviços da Web, seu aplicativo pode publicar informações ao mundo ou fornecer um recurso.
Os serviços da Web podem ser usados por outros aplicativos.
Os serviços da Web permitem que o servidor Win 2K do seu departamento de contabilidade se conecte ao servidor UNIX do fornecedor de TI.
A plataforma BASIC Web Services é XML+HTTP.
Os serviços da Web usam o XML para codificar dados e usar o SOAP para transferir dados.
O que é o WebService
O WebService, como o nome sugere, é um serviço baseado na Web. Ele usa o método da Web (HTTP) para receber e responder a algumas solicitações de sistemas externos. Isso permite chamadas remotas.
1: da perspectiva do modo de trabalho do WebService, ele não é essencialmente diferente dos programas da Web comuns (como ASP, JSP, etc.). São programas baseados no protocolo de transmissão HTTP.
2: Os dados usados pelo WebService são baseados no formato XML. Atualmente, o Standard WebService usa principalmente o protocolo SOAP no formato de dados. O protocolo SOAP é na verdade um protocolo de texto com base nas especificações de codificação XML.
Suporte técnico para serviço da web
A plataforma de serviço da Web requer um conjunto de protocolos para permitir a criação de aplicativos distribuídos. Qualquer plataforma possui seu método de representação de dados e sistema de tipo. Para alcançar a interoperabilidade, a plataforma de serviço da Web deve fornecer um sistema de tipo padrão para comunicar diferentes tipos de sistemas em diferentes plataformas, linguagens de programação e modelos de componentes. Atualmente, esses acordos incluem:
XML e XSD
Linguagem de marcação extensível XML é o formato básico para representar dados na plataforma de serviço da web. Além de ser fácil de construir e analisar, a principal vantagem do XML é que ele não tem nada a ver com a plataforma e o fornecedor. O XML é criado pela World Wide Web Association (W3C). O XML Schemaxsd desenvolvido pelo W3C define um conjunto padrão de tipos de dados e fornece um idioma para estender esse conjunto de tipos de dados.
A plataforma de serviço da web usa o XSD como sistema de tipo de dados. Quando você constrói um serviço da web em um idioma como o VB. NET ou C#, para cumprir os padrões de serviço da Web, todos os tipos de dados que você usa devem ser convertidos para o tipo XSD. Se você deseja que ele seja transmitido entre diferentes plataformas e software diferente, também precisa envolvê -lo com algo. Esse tipo de coisa é um protocolo, como sabão.
SABÃO
O SOAP é o protocal de acesso ao objeto simples, que é um protocolo leve para trocar informações de codificação XML. Possui três aspectos principais: XML-ENVELOPE define uma estrutura para descrever o conteúdo de informações e como processar o conteúdo, codifica objetos do programa em objetos XML e executa a Convenção de Calls de Procedimento Remoto (RPC). O sabão pode ser executado em qualquer outro protocolo de transporte. Por exemplo, você pode usar o SMTP, o protocolo de email da Internet, para fornecer mensagens de sabão, o que é muito tentador. Os cabeçalhos são diferentes entre as camadas de transporte, mas a carga útil XML permanece a mesma.
O Web Service espera alcançar a capacidade de diferentes sistemas de se chamar de uma maneira "Diálogo de software", quebrando o estado incompatível entre aplicativos de software, sites e vários dispositivos e atingindo o objetivo de "integração sazonal baseada na Web".
WSDL
Serviço da Web Descrição Idioma WSDL é um documento de descrição formal fornecido de maneira legível por máquina e é baseada no XML. É usado para descrever o serviço da Web e suas funções, parâmetros e valores de retorno. Por ser baseado no XML, o WSDL é legível por máquina e legível por homens.
Uddi
O objetivo do UDDI é estabelecer padrões de comércio eletrônico; O UDDI é um conjunto de padrões e especificações baseados na Web, distribuídos e de registro de informações fornecidos para serviços da Web, e também inclui um conjunto de padrões de implementação que permitem que as empresas registrem seus próprios serviços da Web para que outras empresas possam descobrir protocolos de acesso. Chamando RPC e mensagens
O próprio serviço da web está realmente implementando a comunicação entre aplicativos. Agora temos duas maneiras de comunicação para aplicativos: RPC Remote Procedure Chamada e entrega de mensagens. Ao usar o RPC, o conceito de um cliente é chamar um procedimento remoto no servidor. A maneira usual é instanciar um objeto remoto e chamar seus métodos e propriedades. O sistema RPC tenta alcançar um tipo de transparência de localização: o servidor expõe as interfaces de objetos remotos, e o cliente é como as interfaces desses objetos usados localmente, ocultando as informações subjacentes e o cliente não precisa saber em qual máquina o objeto está ligado.
Como publicar um serviço da web?
1. Use JDK1.6.0_21 posteriormente para publicar um serviço de serviço da web. E veja seu documento WSDL através da barra de endereços.
2. Gere o código do cliente através do WSIMPORT, ligue e visualize os resultados da execução. (Aprenda a ligar é o nosso foco).
Deve -se notar que, quando o JDK1.6._07 for lançado após a versão JDK, o código deve ser totalmente anotado. Se você estiver usando o JDK1.6.0_21, porque ele já contém WS2.1, só poderá adicionar @WebService Anotações à classe.
Aqui estão dois códigos diferentes:
WS lançado na versão JDK1.6.0_13:
pacote com.itcast; importar javax.jws.webmethod; importar javax.jws.webservice; importar javax.jws.soap.soapbinding; importar javax.jws.soap.soapbinding.style; importar javax.xml.ws.endpoint; @WebService (TargetNamesPace = "http: // loalHost: 9999/helloworld") @soapbinding (style = style.rpc) // suporta apenas o estilo de mensagem rpc public. } public static void main (string [] args) {endpoint.publish ("http: // localhost: 9999/helloworld", novo helloworld ()); }} 2: a seguir está o código do Web Service lançado em JDK1.6.0_24:
pacote com.itcast; importar javax.jws.webservice; importar javax.xml.ws.endpoint; @WebService // Observe que há apenas essa anotação, essa anotação também é necessária. O estilo de mensagem de sabão padrão é: document public classe helloworld {public string dizhello () {return "helloworld"; } public static void main (string [] args) {endpoint.publish ("http: // localhost: 9999/helloworld", novo helloworld ()); }} O primeiro serviço de serviço da web
pacote com.itcast; importar javax.jws.webservice; importar javax.xml.ws.endpoint; / *** O primeiro aplicativo de serviço de serviço da web*/ // por anotação, indica que esta classe é publicada como uma classe WebService @WebService Public Classe Helloworld {public String dizhello () {return "Hello World"; } // No método principal, use o endpoint javax.xml.ws.endpoint para publicar um aplicativo public static void main (string [] args) {endpoint.publish ("http://127.0.0.1:9999/helloworld, new helloworld ()); }}Descrição do código: Todos os métodos expostos não estáticos da classe Helloworld serão expostos ao exterior.
Descrição da ferramenta WSIMPORT:
WSimport é uma ferramenta que vem com o JDK e pode gerar código de chamada do lado do cliente com base no documento WSDL. Obviamente, não importa qual idioma esteja escrito no servidor WebService, o código Java será gerado no cliente. Não importa o que está escrito no lado do servidor.
Wsimport.exe está localizado no diretório java_home/bin.
Os parâmetros comuns são:
• -D <Directory> - Um arquivo .class será gerado. Parâmetros padrão.
• -s <Directory> - O arquivo .java será gerado.
• -P <Nome do novo pacote gerado> -Puxe a classe gerada no pacote especificado.
(wsdlurl) - http: // servidor: porta/serviço? wsdl, parâmetros necessários
usar:
1: Você pode verificar o número da versão atual através da versão Java. Se a versão estiver muito baixa, você poderá instalar uma versão mais alta do JDK.
Ou copie diretamente o diretório JDK instalado para sua máquina, como o diretório d: /jdk1.6.0_24.
Como as variáveis de ambiente anteriores foram definidas para a versão antiga anterior do diretório JDK, as duas variáveis de ambiente Java_Home e Path.
Você pode redefinir a variável de ambiente para: java_home = d: /jdk1.6.0_24, caminho =%java_home%/bin,
Depois de redefinir as variáveis do ambiente, você deve reabrir uma janela DOC (linha de comando) para entrar em vigor.
Se você não deseja modificar as variáveis de ambiente já configuradas, poderá inserir o seguinte comando na janela da linha de comando para fazer JDK1.6.0_24 entrar em vigor:
Set Path = d: /jdk1.6.0_24/bin;% Path% (basta entrar)
Em seguida, verifique se o número de versão do JDK mudou através da versão Java.
2: Vá para um diretório relativamente limpo, criei um novo nome de diretório no disco D chamado: WS e vá para este diretório.
3: Ligue o seu serviço da web.
4: Digite o seguinte comando:
wsimport s. http://127.0.0.1:9999/helloworld?wsdl
Parâmetro Descrição: -s refere -se à compilação do arquivo de código -fonte, e o seguinte (Point) refere -se a colocá -lo no local anterior.
O último HTTP… refere -se ao endereço de obtenção do manual de instruções do WSDL.
5: Neste momento, o arquivo .java e o arquivo .class serão gerados. (ambos contendo o nome do pacote original). Copie o código em seu projeto. (Copie apenas o arquivo java)
6: Em um novo projeto, uma nova classe (pode ser localizada em qualquer pacote), ligue para o código gerado acima, consulte o PPT na próxima página.
7: wsimport outros parâmetros, os parâmetros que usamos são -d, -s, -p
-d <Directory> gerará arquivos .class.
Exemplo: wsimport d. http://127.0.0.1:9999/helloworld?wsdl
-s <Directory> gerará o arquivo .java.
Exemplo: wsimport s. http://127.0.0.1:9999/helloworld?wsdl
-p <nome do pacote> Modifique o arquivo gerado (.java ou .class para o nome do pacote especificado)
Exemplo: wsimport -s. -p com.beijing.itcast http://127.0.0.1:9999/helloworld?wsdl
Para o parâmetro -p, preste atenção à modificação do nome do pacote. Ele coloca todas as classes geradas no pacote especificado por -p. (Demonstração)
Deve -se notar que, quando apenas o parâmetro -p for usado, ele também usará -d ao mesmo tempo para compilar em um arquivo .class. Se o parâmetro D estiver escrito ou não, ele está lá e nunca sairá.
O código -fonte do runmain.java é o seguinte:
pacote com.leaf; importação com.itcast.helloworld; importação com.itcast.helloworldservice; /*** Ligue para o código remoto chamando a classe gerada*/public class Runmain {public static void main (string [] args) {// retorna a interface de chamada do método Gethelloworldport do helloworldSerice Helloworld = new HelloworldService (). Gethelloworldport (); String str = helloworld.sayhello (); // execute o sistema de chamada.err.println (str); // retorna helloworld string}}A diferença entre o Web Service e os programas da Web comuns
1. O WebService usa apenas a postagem HTTP para transmitir dados e não usa GET;
1) O contentType de tttp post é
(1) APLICAÇÃO/X-WWW-FORM-URLENCODED
2) O contentType of Web Service é
(2) Texto/Soap1.1 XML
(3) Aplicação/SOAP+XML SOAP1.2
2. Serviço da web é limitado no formato de transmissão de dados.
Os dados usados pelo WebService são baseados no formato XML. Atualmente, o Standard WebService usa principalmente o protocolo SOAP no formato de dados. O protocolo SOAP é na verdade um protocolo de texto com base nas especificações de codificação XML.
A diferença entre o WebService e o Web Server:
Podemos pensar no WebService como um aplicativo em um servidor da Web; Por outro lado, o servidor da Web é um contêiner necessário para o tempo de execução do WebService. Esta é a diferença e a conexão deles.
Recursos do Web Service:
1. Web Service aceita solicitações de clientes por meio de postagem http
2. O protocolo SOAP é geralmente usado entre o WebService e o cliente para transmitir dados XML.
3. Foi projetado para plataforma cruzada ou em cruzamento.