Avançar para a área de conteúdo

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Todas as informações enviadas são seguras.

  • Fechar [x]

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Todas as informações enviadas são seguras.

  • Fechar [x]

Entendendo Especificações de Serviços da Web, Parte 4: WS-Security

Nicholas Chase, Freelance writer, Backstop Media
Nicholas Chase esteve envolvido no desenvolvimento de Web sites para empresas como a Lucent Technologies, a Sun Microsystems, a Oracle e a Tampa Bay Buccaneers. Nick foi professor de física para turmas de ensino médio, gerente de instalação de resíduos radioativos de nível inferior, editor de revista de ficção científica on-line, engenheiro de multimídia, instrutor de Oracle e Chief Technology Officer de uma empresa de comunicações interativas. Ele é autor de diversos livros, incluindo XML Primer Plus (Sam's).

Resumo:  Há poucos (se algum) sistemas de nível corporativo que não requerem uma ou outra forma se segurança. Em serviços da Web, esse processo é mais complicado do que em outras áreas devido à sua natureza stateless distribuída. Este tutorial, Parte 4 da série Entendendo as Especificações de Serviços da Web, explica os conceitos por trás de WS-Security e padrões relacionados, como Assinatura XML, que se combinam para tornar a segurança no mundo de serviços da Web não apenas possível, mas prático.

Visualizar mais conteúdo nesta série

Data:  16/Set/2011
Nível:  Intermediário

Atividade:  1320 visualizações
Comentários:  

Antes de iniciar

Neste tutorial, você aprenderá sobre Segurança de Serviços da Web, ou WS-Security. É para desenvolvedores que desejam expor seus próprios serviços em um ambiente que requeira proteção de mensagens para que não sejam violadas ou lidas em trânsito ou em situações em que o remetente deve ser positivamente identificado. O termo "WS-Security" é geralmente usado para fazer referência a um grupo de especificações que manipulam criptografia e assinaturas digitais, permitindo a criação de um aplicativo seguro.

Para acompanhar este tutorial, você deve ter um entendimento básico de SOAP, o que pode ser obtido com a leitura da Parte 1 desta série de tutoriais e, como extensão, você precisa de um entendimento básico de XML. SOAP é agnóstico com relação a linguagem de programação, mas as amostras deste tutorial usam Java™ e o projeto Apache Axis2. Os conceitos, no entanto, se aplicam a qualquer linguagem de programação e ambiente.

Sobre esta série

Esta série de tutoriais ensina os conceitos básicos de serviços da Web seguindo as explorações do jornal fictício, The Daily Moon, à medida que a equipe usar serviços d Web para criar um sistema de fluxo de trabalho para aumentar a produtividade no meio de muita mudança.

A Parte 1 explicou os conceitos básicos por trás de serviços da Web e mostrou como usar SOAP, a especificação subjacente à maior parte do que está por vir, conectando o departamento de classificados ao Sistema de Gerenciamento de Conteúdo.

A Parte 2 leva as coisas um passo adiante, explicando como usar Web Services Description Language (WSDL) para definir as mensagens produzidas conforme esperado por serviços da Web, permitindo que a equipe crie serviços mais facilmente e os clientes que conectam a eles.

A Parte 3 encontra a equipe com diversos serviços em vigor e deseja localizá-los facilmente. Em resposta, Universal Description, Discovery and Integration (UDDI) fornece um registro pesquisável de serviços disponíveis como uma maneira de divulgar seus próprios serviços a outros.

Agora, na Parte 4, Rudy, editor do The Daily Moon, decidiu que o jornal precisa instituir melhores procedimentos de segurança para serviços da Web que acessam seus sistemas internos.

Na Parte 5, WS-Policy, vamos ver as mudanças que as equipes precisam fazer para acessarem aqueles novos serviços protegidos.

Interoperabilidade será a palavra-chave na Parte 6, já que serviços de diversas implementações diferentes devem ser acessados a partir de um único sistema. A Parte 6 também abordará os requisitos e testes envolvidos na certificação WS-I.

Por fim, a Parte 7 mostrará como usar Business Process Execution Language (WS-BPEL) para criar aplicativos complexos a partir de serviços individuais.

Agora vamos dar uma olhada no que este tutorial aborda em pouco mais de detalhes.


Sobre este tutorial

Neste tutorial, você acompanhará à medida que a equipe do jornal The Daily Moon usa as especificações WS-Security para proteger um dos serviços da Web descritos até agora na série.

No curso deste tutorial, você aprenderá:

  • O que é WS-Security
  • As diferenças entre criptografia simétrica e assimétrica
  • As diferenças entre assinaturas e criptografia
  • O efeito de segurança em mensagens SOAP
  • Como proteger um serviço da Web SOAP usando Axis2

Antes de iniciar, algumas ferramentas serão necessárias.


Pré-requisitos

A maior parte deste tutorial é conceitual, mas para acompanhar o código que cria as mensagens SOAP, será necessário ter o software a seguir disponível e instalado:

Vamos demonstrar a instalação e uso do Apache Geronimo, que também é a base do WebSphere Community Edition da IBM. Também é possível usar outros servidores de aplicativos, como o WebSphere Application Server. É possível fazer download do Apache Geronimo. Para obter informações adicionais sobre como instalar o Geronimo, consulte Parte 1, desta série de tutoriais.

Você irá usar o Apache Axis2, que contém implementações de várias APIs relacionadas a SOAP para tornar sua vida significativamente mais fácil. É possível fazer download do Apache Axis2 a partir de Apache.org. Este tutorial usa a versão 0.94, mas versões posteriores devem funcionar.

Módulo Rampart do Apache Axis2 -- Segurança para o mecanismo de serviços da Web do Axis2 é fornecida por meio do módulo Rampart, que não está incluído na instalação padrão. Faça download desse módulo a partir de Apache Download Mirrors.

Apache WSS4J -- Apesar de o próprio Axis usar o Rampart, em algum ponto será necessário fazer referência à direção de classes WSS4J. Faça download de pacote WSS4J.

Java 2 Standard Edition versão 1.4.2 ou superior -- Todas essas ferramentas são baseadas em Java, assim como os serviços e clientes que você criará neste tutorial. Faça download de J2SE SDK.

TCPMon (opcional) -- Sempre é mais fácil entender o que está acontecendo em um aplicativo de serviço da Web quando é realmente possível ver as mensagens. Faça download de TCP Monitor para que possa ver as mensagens vindo e indo para o serviço da Web.

GnuPG (opcional) -- Toda a assinatura de mensagem que estaremos realizando é coberta pelo Axis2 e pelo próprio Java, mas se quiser brincar com assinatura de documentos individuais, como iremos demonstrar resumidamente, faça download de GnuPG.

Também serão necessários um navegador da Web e um editor de texto

1 de 11 | Próximo

Comentários



static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Tecnologia Java
ArticleID=757426
TutorialTitle=Entendendo Especificações de Serviços da Web, Parte 4: WS-Security
publish-date=09162011
author1-email=ibmquestions@nicholaschase.com
author1-email-cc=

Tags

Help
Use o campo de pesquisa para encontrar todos os tipos de conteúdo no My developerWorks com essa tag.

Use a barra de rolagem para ver mais ou menos tags.

Tags populares mostra as principais tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Minhas tags mostra suas tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Use o campo de pesquisa para localizar todos os tipos de conteúdo no Meu developerWorks com essa tag. Tags populares mostra as tags principais para essa zona de conteúdo particular (por exemplo, tecnologia Java, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere). Minhas tags mostra as suas tags para essa zona de conteúdo em particular (por exemplo, tecnologia Java, Linux, WebSphere).