Możliwe jest zdefiniowanie własnego algorytmu zabezpieczeń dla profili zabezpieczeń SOAP
przez zaimplementowanie niestandardowego interfejsu zabezpieczeń Java™, który może zostać użyty w edytorze zabezpieczeń WSDL. Korzystając z niestandardowych algorytmów zabezpieczeń, można zaimplementować własne algorytmy zabezpieczeń
transformujące kod XML przed jego wysłaniem i po odebraniu
treści komunikatu.
Zanim rozpoczniesz
Interfejs zabezpieczeń niestandardowych i zawierający go plik JAR są udostępnione w produkcie w folderze
customsecuritydefinition wtyczki com.ibm.rational.ttt.common.models.core.
Te interfejsy są potrzebne do utworzenia własnych algorytmów. Jeśli używany jest produkt
IBM® Rational Performance Tester lub produkt
IBM Rational Service Tester for SOA Quality, patrz temat
Rozszerzanie wykonania testu za pomocą kodu
niestandardowego, aby uzyskać więcej informacji na temat rozszerzania możliwości testowych za pomocą kodu
Java.
Procedura
- W nawigatorze testów lub eksploratorze projektów utwórz nową klasę Java w folderze projektu testu usługi WWW.
- Zaimplementuj algorytm zabezpieczeń w języku Java, korzystając z następującego interfejsu:
/**
* ***************************************************************
* IBM - poufne
*
* © Copyright IBM Corporation. 2008. Wszelkie prawa zastrzeżone.
*
* Tajemnice handlowe zawarte w kodzie źródłowym tego programu nie zostały ujawnione
* przez jego publikację ani w żaden inny sposób, bez względu na informacje
* przechowywane w urzędzie patentowym Stanów Zjednoczonych (US Copyright Office).
* ***************************************************************
*
*/
package com.ibm.rational.test.lt.models.wscore.datamodel.security.xmlsec;
import java.util.Properties;
import org.w3c.dom.Document;
public interface ICustomSecurityAlgorithm {
/**
* Następujące metody mogą zostać użyte w obu przypadkach:
* Wykonanie w środowisku roboczym i wykonanie testu.
*/
/**
* Wywoływane w celu przetworzenia dokumentu wysyłanego w transporcie.
* @param subject
*/
void process(Document subject);
/**
* Wywoływane w celu przetworzenia wstecznego dokumentu odebranego z serwera.
* @param subject
*/
void unProcess(Document subject);
/**
* Właściwości zdefiniowane w interfejsie użytkownika CustomSecurityAlgorithm.
* @param map
*/
void setProperties(Properties map);
/**
* Następujące metody mogą być używane tylko w kontekście rzutowania na interfejs usług testowych,
* lub uzyskiwania dostępu do wcześniejszych informacji XML, gdy plik jar zawierający
* niestandardowy algorytm zabezpieczeń jest wdrażany w projekcie testu wydajności. W
* takim przypadku nie można używać algorytmu bezpośrednio w obszarze roboczym.
*/
/**
* Ten obiekt odpowiada obiektowi ITestExecutionService.
* Ma to zastosowanie tylko w przypadku algorytmu, który musi łączyć się z wykonaniem testu.
* Jeśli jest planowane użycie tego obiektu, konieczne będzie wdrożenie pliku jar zawierającego
* implementację w projekcie testu wydajności, a nie bezpośrednio w środowisku JRE.
*
* W przypadku gdy potrzebny jest wcześniejszy dokument xml otrzymany na etapie wykonania, można
* uzyskać wartość za pomocą wywołania:
* IDataArea area = ((ITestExecutionService)executionObject).findDataArea(IDataArea.VIRTUALUSER);
*String previousXML = (String) area.get("PREVIOUS_XML"); //$NON-NLS-1$
*
*/
void setExecutionContext(Object executionObject);
Metoda process modyfikuje kod XML przed wysłaniem go
na serwer.
Metoda unprocess modyfikuje kod XML
po jego odebraniu z serwera.
Metoda setProperties pobiera dowolne właściwości zdefiniowane w edytorze zabezpieczeń
dla tego niestandardowego interfejsu zabezpieczeń.
Metoda setExecutionContext jest wywoływana w czasie testu z obiektem ITestExecutionServices odpowiadającym komunikatowi za pomocą niestandardowego interfejsu zabezpieczeń.
- Niestandardowy interfejs zabezpieczeń może być używany w narzędziu Edytor zabezpieczeń WSDL na potrzeby usług WWW lub w elementach wywołania kodu XML
na karcie Lokalne zabezpieczenia XML.
- W przypadku testowania usług WWW opartych na protokole WSDL należy kliknąć prawym przyciskiem myszy
plik WSDL w nawigatorze testów lub eksploratorze projektów w celu otwarcia edytora zabezpieczeń WSDL,
wybrać stronę Algorytmy zabezpieczeń, a następnie w obszarze Szczegóły wybranego stosu algorytmów
zabezpieczeń kliknąć opcję .
- W przypadku testowania wywołania XML należy otworzyć element wywołania XML
w edytorze testu, wybrać kartę Lokalne zabezpieczenia XML, a następnie kliknąć opcję .
- W obszarze niestandardowych zabezpieczeń kliknij opcję Przeglądaj klasę, aby wybrać nazwę klasy niestandardowego algorytmu zabezpieczeń, np. ICustomSecurityAlgorithm.
- Wprowadź wartość Nazwa algorytmu na potrzeby niestandardowego algorytmu
zabezpieczeń.
- Na liście właściwości użyj przycisków Dodaj, Usuń lub Edytuj, aby określić
dowolne właściwości używane przez metodę setProperties niestandardowego
algorytmu zabezpieczeń.
Co dalej
Po zapisaniu konfiguracji zabezpieczeń lub elementu wywołania
w widoku
Dane protokołu usługi WWW zostaną wyświetlone
efekty zastosowania algorytmu na danych XML usługi WWW.