Implementowanie niestandardowego algorytmu zabezpieczeń

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

  1. W nawigatorze testów lub eksploratorze projektów utwórz nową klasę Java w folderze projektu testu usługi WWW.
  2. 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ń.

  3. 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ę Dodaj > Niestandardowy algorytm zabezpieczeń.
    • 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ę Dodaj > Niestandardowy algorytm zabezpieczeń.
  4. W obszarze niestandardowych zabezpieczeń kliknij opcję Przeglądaj klasę, aby wybrać nazwę klasy niestandardowego algorytmu zabezpieczeń, np. ICustomSecurityAlgorithm.
  5. Wprowadź wartość Nazwa algorytmu na potrzeby niestandardowego algorytmu zabezpieczeń.
  6. 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.

Opinia