Neste tutorial, você conhece o XSLT Designer incluído no NetBeans IDE 6.0. O XSLT Designer é usado para desenvolver, implantar e testar os serviços de transformação XSL.
Um serviço de transformação XSL age como um serviço Web. Ele recebe mensagens de um serviço Web, transforma as mensagens de acordo com uma folha de estilo XSL e envia as mensagens de volta para o originador ou as encaminha para outro serviço Web.
Neste tutorial, você cria um serviço de transformação XSL simples que recebe uma mensagem, a transforma e a envia de volta para o serviço Web de chamada.
Pré-requisitos
Este tutorial presume que você tenha algum conhecimento básico ou experiência de programação com o NetBeans IDE.
Requisitos do sistema
Este tutorial presume que o seu sistema atende aos requisitos especificados na seção Requisitos do sistema das Notas de versão do NetBeans IDE 6.0.
Software necessário para o tutorial
Antes de começar, baixe e instale o software seguinte em seu computador: NetBeans IDE 6.0. Selecione a opção Baixar tudo. A opção Download completo inclui o SOA Pack e o servidor da aplicação GlassFish V2, que são necessários para este tutorial.
Este tutorial requer que o servidor da aplicação GlassFish V2, que inclui o tempo de execução JBI, tenha sido instalado com o NetBeans IDE 6.0. Realize as etapas seguintes para confirmar se o servidor da aplicação GlassFish V2 está instalado com o NetBeans IDE 6.0 e que o tempo de execução JBI contém o mecanismo de serviço XSLT e a biblioteca de transformação compartilhada requerida para este tutorial:
Abra a janela Serviços.
Expanda o nó Servidores.
Clique com o botão direito do mouse no nó GlassFish V2 e escolha Iniciar no menu pop-up.
Se a opção Iniciar não estiver disponível e se houver um “emblema” verde ao lado do nó GlassFish V2, o servidor já está em execução.
Depois que o servidor for iniciado, expanda o nó GlassFish V2 > JBI. Em seguida, expanda os nós Mecanismo de serviço e Bibliotecas compartilhadas para verificar se o mecanismo de serviço XSLT e a biblioteca de transformação compartilhada estão instalados.
Um serviço de transformação XSL é criado dentro de um projeto do módulo XSLT.
Para criar um novo projeto do módulo XSLT:
No menu principal do IDE, escolha Arquivo > Novo projeto.
Em Categorias, selecione SOA.
Em Projetos, selecione Módulo XSLT.
Clique em Próximo.
No campo Nome do projeto, digite HelloXSLTransformation.
Modifique a localização do projeto, ou aceite o padrão.
Clique em Terminar.
A janela Projetos agora contém um nó do projeto HelloXSLTransformation.
Em seguida, você cria dois arquivos do esquema XML (.xsd), um arquivo de descrição do serviço Web (.wsdl) e uma arquivo de folha de estilo XSL (.xsl). Para executar um Serviço de transformação XSL, você precisa pelo menos de um esquema XML, um arquivo WSDL e uma folha de estilo XSL. Para fins deste tutorial, você cria dois esquemas XML.
Você criará dois esquemas XML: HelloXSLTIncoming.xsd e HelloXSLTOutgoing.xsd. Use o anterior como a base para a mensagem de entrada e o posterior como a base para a mensagem de saída.
Para criar o esquema XML da mensagem de entrada:
Na janela Projetos, clique com o botão direito do mouse no nó HelloXSLTransformation > Arquivos de transformação e escolha Novo > Esquema XML.
No campo Nome do arquivo, digite HelloXSLTIncoming.
Clique em Terminar. Um novo nó—HelloXSLTIncoming.xsd—aparece sob o nó Arquivos de transformação em seu projeto HelloXSLTransformation e o novo esquema se abre no editor de esquemas XML.
Na primeira coluna da visualização Esquema, clique com o botão direito do mouse em Elementos e escolha Adicionar elemento no menu pop-up. A caixa de diálogo Adicionar elemento se abre.
No campo Nome, digite name.
Em Tipo, selecione o botão de opção Usar tipo existente.
Expanda o nó Tipos internos e selecione string.
Clique em OK.
Para visualizar o código-fonte do esquema que você criou, clique no botão Código-fonte na barra de ferramentas do editor de esquemas XML. Você deve ver o seguinte código:
Na janela Projetos, clique com o botão direito do mouse no nó HelloXSLTransformation > Arquivos de transformação e escolha Novo > Esquema XML.
No campo Nome do arquivo, digite HelloXSLTOutgoing.
Clique em Terminar. Um novo nó —HelloXSLTOutgoing.xsd— aparece sob o nó Arquivos de transformação em sem projeto HelloXSLTransformation e o novo esquema se abre no editor de esquemas XML.
Na primeira coluna da visualização Esquema, clique com o botão direito do mouse em Elementos e escolha Adicionar elemento no menu pop-up. A caixa de diálogo Elemento se abre.
No campo Nome, digite greeting.
Em Tipo, selecione o botão de opção Usar tipo existente.
Expanda o nó Tipos internos e selecione string.
Clique em OK.
Para visualizar o código-fonte do esquema que você criou, clique no botão Código-fonte na barra de ferramentas do editor de esquemas XML. Você deve ver o seguinte código:
Você deve ver dois arquivos do esquema listados sob o nó Arquivos de transformação em seu projeto HelloXSLTransformation.
Observação: o editor de esquemas XML não é o assunto deste tutorial. Para obter informações detalhadas sobre o editor de esquemas XML, consulte Introdução às ferramentas do esquema XML.
Em seguida, você cria um arquivo de descrição do serviço Web definindo a interface da Web do seu serviço de transformação XSL.
Para criar um arquivo WSDL:
Na janela Projetos, clique com o botão direito do mouse no nó HelloXSLTransformation > Arquivos de transformação e escolha Novo > Documento WSDL.
No campo Nome do arquivo, digite HelloXSLTWSDL, em seguida, clique em Próximo.
Em Entrada na coluna Elemento ou tipo, clique no botão de reticências (...).
A caixa de diálogo Selecionar elemento ou tipo é aberta.
Selecione Por arquivo > HelloXSLTransformation > src/HelloXSLTIncoming.xsd > Elementos > nome e clique em OK.
Em Saída na coluna Elemento ou tipo, clique no botão de reticências (...).
A caixa de diálogo Selecionar elemento ou tipo é aberta.
Selecione Por arquivo > HelloXSLTransformation > src/HelloXSLTOutgoing.xsd > Elementos > saudação e clique em OK.
Clique em Próximo.
No campo Tipo de vinculação, selecione SOAP.
Em Subtipo de vinculação, selecione Literal de documento, em seguida, clique em Terminar.
Você deve ver o arquivo HelloXSLTWSDL.wsdl listado no nó Arquivos de transformação em seu projeto HelloXSLTransformation.
Observação: a criação e a edição de arquivos WSDL não são assunto deste tutorial. Para obter informações detalhadas, consulte Guia do desenvolvedor para o editor WSDL.
Uma folha de estilo XSL é um arquivo XML que contém instruções sobre a transformação da mensagem de entrada na mensagem de saída.
Para criar uma folha de estilo XSL:
Na janela Projetos, clique com o botão direito do mouse no nó HelloXSLTransformation > Arquivos de transformação e escolha Novo > Serviço XSLT.
Em Tipo de serviço, selecione Serviço de solicitação-resposta. Clique em Próximo.
Observe que HelloXSLTWSDL.wsdl é selecionado na lista suspensa Serviço Web. Clique em Próximo.
No campo Arquivo XSL, digite HelloXSLTService. Clique em Terminar.
O nó HelloXSLTService.xsl aparece sob o nó Arquivos de transformação em seu projeto HelloXSLTransformation. O arquivo HelloXSLTService.xsl abre na visualização Design do editor de transformação XSL. A Paleta da visualização Design se abre à direita.
Na Paleta, expanda a seção String e arraste a função concat para o painel Transformações da visualização Design XSLT.
Na Paleta, na seção String, selecione a função string-literal e arraste-a para o painel Transformações. Clique duas vezes no campo da string de retorno para torná-lo editável e digite Olá (com um espaço no fim).
Arraste a alça do lado direito do campo Olá para a alça do lado esquerdo da linha string1 na função Concat. Uma seta se encaixa para mostrar o fluxo.
Selecione o elemento Nome no painel da árvore de origem à esquerda, e arraste a alça para a linha string2 na função Concat.
Arraste a alça da string de retorno para o elemento Saudação no painel da árvore de destino à direita. A visualização Design agora deve ser semelhante à seguinte:
Clique no botão Código-fonte na barra de ferramentas da visualização Design. Você deve ver o seguinte código:
Um projeto XSLT não pode ser implantado diretamente. Você deve primeiro adicionar um projeto XSLT como um módulo JBI a um projeto de aplicação composta antes de implantar o projeto de aplicação composta. O deployment do projeto torna a composição de serviço disponível no servidor da aplicação, permitindo, portanto, que suas unidades de serviço sejam executadas.
Para criar um projeto de aplicação composta:
Escolha Arquivo > Novo projeto no menu principal.
Em Categorias, selecione SOA.
Em Projetos, selecione Aplicação composta. Clique em Próximo.
No campo Nome do projeto, digite HelloXSLTCAP.
Especifique uma localização do projeto ou aceite o padrão.
Clique em Terminar.
A janela Projetos agora contém um nó do projeto HelloXSLTCAP.
Para adicionar um módulo JBI:
Clique com o botão direito do mouse no nó HelloXSLTCAP e escolha Adicionar módulo JBI no menu pop-up.
Selecione o projeto HelloXSLTransformation e clique em Adicionar arquivos Jar do projeto.
Para verificar se o módulo JBI foi adicionado, expanda HelloXSLTCAP > Módulos JBI .
Para implantar a aplicação composta HelloXSLTCAP:
Na janela Projetos, clique com o botão direito do mouse no nó HelloXSLTCAP e escolha Implantar projeto no menu pop-up.
Observação: se a caixa de diálogo Aviso - Selecionar servidor aparecer, selecione Sun Java System Application Server 9 e clique em OK.
Na janela Saída que abre na parte inferior do IDE, observe a mensagem CONSTRUÇÃO BEM-SUCEDIDA.
Para verificar se o projeto foi implantado, expanda Sun Java System Application Server 9 > JBI > Associações de serviço na janela Tempo de execução. Você deve ver o nó HelloXSLTCAP.
O nó Saída sob o nó do caso de teste se refere à mensagem de resposta esperada que é usada para comparação com as mensagens de resposta reais. Antes de executarmos o teste pela primeira vez, o arquivo Output.xml está vazio. Iremos preenchê-lo com o conteúdo da mensagem de resposta (desde que ela seja o que esperamos).
Para executar o teste:
Clique com o botão direito do mouse no nó JohnSmith e selecione Executar. Observe que o teste falha e a caixa de diálogo seguinte aparece:
Clique em Sim. Observe que o nó do teste falho aparece abaixo do nó Saída.
Clique duas vezes no nó do teste falho para ver a mensagem que o Serviço de transformação XSL envia de volta: