Program budujący podwyrażenia

Program budujący podwyrażenia służy do budowania złożonych warunków reguł na podstawie podwyrażeń przy użyciu operatorów I, LUB oraz Nie, a także grupowania za pomocą nawiasów. Program budujący reguły sprawdza poprawność reguły po wprowadzeniu zmiany i informuje o występowaniu brakujących nawiasów i nieobsługiwanych operatorów logicznych.

Aby wyświetlić tę stronę Konsoli administracyjnej, należy kliknąć opcję Serwery > Typy serwerów > Routery na żądanie > nazwa_routera_na_żądanie > Właściwości routera na żądanie > Strategie obsługi w klastrze serwerów ogólnych > nazwa_klasy_pracy > Dodaj regułę > Program budujący podwyrażenia.

W celu zmodyfikowania reguł za pomocą programu budującego podwyrażenia niezbędne są uprawnienia administratora.

Wybór operandu

W zależności od wybranego protokołu wyświetlane są różne operandy. W poniższej tabeli uwzględniono nazwy operandów wyświetlane w konsoli, rzeczywisty operand w postaci, w jakiej zostanie wyświetlony w wyrażeniu, poprawne protokoły dla poszczególnych operandów oraz opis każdego operandu.

Tabela 1. Operandy i ich opisy
Wyświetlany operand Operand Poprawne protokoły Opis
Nazwa aplikacji application IIOP Nazwa aplikacji, w której zawarto komponent EJB.
Host klienta clienthost HTTP, SOAP i IIOP Pełna nazwa hosta klienta. Jest to wartość nazwy hosta komend protokołu IP (Internet Protocol). Ten operand nie obsługuje operatorów liczbowych, takich jak >, >=, <, <=.
Port klienta clientport IIOP Nazwa portu klienta.
Adres IPv4 klienta clientipv4 HTTP i SOAP Adres IPv4 klienta w postaci czterech grup cyfr oddzielonych kropkami: n.n.n.n
Adres IPv6 klienta clientipv6 HTTP i SOAP Adres komputera klienckiego w postaci 128-bitowego adresu protokołu Internet Protocol w wersji 6 w formacie x:x:x:x:x:x:x:x.
Nazwa nagłówka informacji cookie cookie$<nazwa> HTTP i SOAP Nazwa informacji cookie. Na przykład wyrażenie cookie$Nazwa_mojej_informacji_cookie='Wartość_mojej_informacji_cookie' testuje żądanie, aby sprawdzić, czy zawiera ono informację cookie o nazwie Nazwa_mojej_informacji_cookie z wartością Wartość_mojej_informacji_cookie. W celu przeprowadzenia testu wykrywającego obecność określonej informacji cookie należy użyć jednego z następujących wyrażeń:
  • cookie$NazwaMojejInformacjiCookie ma wartość inną niż NULL
  • cookie$NazwaMojejInformacjiCookie ma wartość NULL
Nazwa modułu EJB ejbmodule IIOP Nazwa modułu komponentu EJB.
Nazwa komponentu EJB ejbname IIOP Nazwa komponentu EJB.
Nazwa metody EJB ejbmethod IIOP Nazwa metody komponentu EJB.
Identyfikatory grupy gids$<nazwa> HTTP i SOAP Identyfikator grupy nadawcy żądania.
Metoda HTTP HTTPMethod HTTP i SOAP Metoda HTTP żądania. Możliwe wartości to: POST, GET, PUT i DELETE.
Typ MIME MIMEType HTTP i SOAP Typ MIME żądania.
Port port HTTP, SOAP i IIOP Port nasłuchiwania, na którym na hoście jest udostępniana usługa.
Protokół protocol HTTP i SOAP Protokół komunikacyjny przesyłający żądanie. Obecnie obsługiwane protokoły to HTTP, HTTPS, SOAP i SOAPS.
Nazwa nagłówka żądania header$<nazwa> HTTP i SOAP

Nazwa i wartość nagłówka. Na przykład wyrażenie header$Host='localhost' testuje żądanie, aby sprawdzić, czy zawiera nagłówek HTTP hosta o wartości localhost. W celu przeprowadzenia testu wykrywającego obecność nagłówka hosta należy użyć jednego z następujących wyrażeń:

header$Host ma wartość inną niż NULL, header$Host ma wartość NULL

Nazwa parametru zapytania żądania queryparm$<nazwa> HTTP i SOAP Nazwa parametru zapytania określona w adresie URL żądania. W przypadku każdego żądania występuje odwzorowanie pary nazwa/wartość parametrów zapytania (jeśli istnieją). Router na żądanie używa nazwy parametru zapytania dotyczącego żądania jako klucza do wyszukiwania odwzorowania parametru. Jeśli ono istnieje, router wyodrębnia wartość na potrzeby wartościowania wyrażenia reguły. W przypadku dopasowania reguły zostanie wykonane określone działanie. W przeciwnym razie jest używane domyślne działanie dla klasy pracy, w której zdefiniowano wyrażenie.
Na przykład wyrażenie queryparm$timezone=EST testuje żądanie, aby sprawdzić, czy zawiera parametr zapytania HTTP o nazwie timezone i wartości EST. W celu przeprowadzenia testu wykrywającego obecność parametru zapytania należy użyć jednej z następujących komend:
  • queryparm$timezone ma wartość inną niż NULL
  • queryparm$timezone ma wartość NULL
Role roles$<nazwa> HTTP i SOAP Rola nadawcy żądania.
Host serwera serverhost HTTP, SOAP i IIOP Pełna nazwa hosta serwera. Ten operand nie obsługuje operatorów liczbowych, takich jak >, >=, <, <=.
Adres IPv4 serwera serveripv4 HTTP i SOAP Adres IP serwera używającego protokołu IPv4 w postaci czterech grup cyfr oddzielonych kropkami: n.n.n.n.
Adres IPv6 serwera serveripv6 HTTP i SOAP Adres serwera w postaci 128-bitowego adresu protokołu IPv6 w formacie x:x:x:x:x:x:x:x zgodnego z dokumentem RFC 1924.
Czas time HTTP, SOAP i IIOP

Operand time ma następujący format:

dzień_tygodnia/dzień_miesiąca/miesiąc/rok::godzina:minuta:sekunda
  • Możliwe wartości pola dzień_tygodnia to nie, pon, wto, śro, czw, pią i sob.
  • Możliwe wartości pola dzień_miesiąca to liczby z zakresu od 1 do 31.
  • Wartość pola miesiąc to liczba reprezentująca miesiąc, począwszy od stycznia (1), a skończywszy na grudniu (12). Na przykład liczba 5 reprezentuje maj.
  • Wartość pola rok to rok w postaci 4-cyfrowej. Na przykład: 2007.
  • Wartość pola godzina to godzina w formacie zegara 24-godzinnego.
  • Wartość pola minuta to liczba całkowita z zakresu od 0 do 59.
  • Wartość pola sekunda to liczba całkowita z zakresu od 0 do 59.
Uwaga: w przypadku operandu time nie są obsługiwane pominięcia i znaki wieloznaczne.

Ukośnik (/) służy do oddzielania parametrów daty. Podwójny dwukropek (::) oddziela parametry daty od parametrów godziny, natomiast dwukropek (:) jest używany do oddzielania parametrów godziny. Należy zauważyć, że wykonywane działanie routingu jest określane przez wynik boolowski całej reguły, w której użyto operandu time.

ID użytkownika uid$<nazwa> HTTP i SOAP Identyfikator użytkownika nadawcy żądania.
Portal wirtualny virtualportal HTTP i SOAP Portal wirtualny to adres URL żądania bez kontekstowego katalogu głównego modułu WWW aplikacji produktu WebSphere® Portal. Jeśli dane żądanie jest zgodne ze zdefiniowanym portalem wirtualnym, zostanie wykonane działanie routingu określone dla danej reguły.
Wyrażenie XPath xpathexpr SOAP

Wyrażenie XPath będące łańcuchem zawiera wymagane pole używane do przechowywania wyrażenia XPath, a także opcjonalne pole na potrzeby definiowania lokalnych przestrzeni nazw. Jeśli wszystkie przestrzenie nazw zawarte w wyrażeniu XPath są standardowe, drugie pole może być opcjonalne. Jeśli istnieje wiele lokalnych przestrzeni nazw, należy je rozdzielić przecinkiem (,). Oto przykład operandu xpathexpr z jedną definicją lokalnej przestrzeni nazw:

xpathexpr$/soap:Envelope/soap:Body/m:getTimeZone/n:clientId$m\\=http://test.classify.ws.ibm.com,n\\=http://test2.classify.ws.ibm.com = \\'1000\\' LUB operation ma wartość inną niż NULL

Operator

  • = - operator „jest równe” oznacza zgodność, w przypadku której jest rozróżniana wielkość liter.
  • <> - operator „jest różne od” oznacza, że wartość operandu jest różna od wartości wprowadzonej przez użytkownika.
  • > - operator „jest większe niż” jest używany w przypadku liczb.
  • >= - operator „jest większe lub równe” jest używany w przypadku liczb.
  • < - operator „jest mniejsze niż” jest używany w przypadku liczb.
  • <= - operator „jest mniejsze lub równe” jest używany w przypadku liczb.
  • I: wyrażenie xx I yy oznacza dopasowania, które zawierają zarówno xx, jak i yy.
  • jest między - ten operator jest używany razem z operatorem I do wybierania zakresu wartości włącznie z pierwszą (najniższą) wartością oraz ostatnią (najwyższą) wartością. Razem te operatory działają w przypadku liczb i dat.
  • istnieje - ten operator boolowski sprawdza, czy istnieje operand lub wynik podwyrażenia złożonego (np. podczas sprawdzania, czy istnieją określone atrybuty elementu nagłówka HTTP).
  • zawiera się w - ten operator służy do łączenia operandu z wieloma wartościami w ramach pojedynczego wyrażenia. Jeśli na przykład dla operandu o nazwie port chcesz określić, że numerem portu mogą być wszystkie następujące wartości (lub dowolna z nich): 9080, 9090 i 9091, fragment wyrażenia powinien wyglądać tak: port zawiera się w (9080,9090,9091). Sposób zapisu wartości w nawiasach zależy od typu danych operandu port. Jeśli numer portu jest liczbą całkowitą, poprawnym zapisem są wartości bez cudzysłowów. Jeśli numer portu jest łańcuchem, poprawny zapis wygląda następująco: port zawiera się w (9080,9090,9091).
  • ma wartość NULL - ten operator pokazuje, że nie istnieje parametr żądany w zapytaniu.
  • ma wartość inną niż NULL - ten operator pokazuje, że istnieje parametr żądany w zapytaniu.
  • jest podobne do - ten operator oznacza dopasowywanie wzorca dla łańcuchowych wartości operandu. Wartość musi zawierać znak wieloznaczny - symbol procentu (%) - w miejscu, w którym rozpoczyna się dopasowywanie wzorca. Na przykład wyrażenie host jest podobne do %blanca jest zgodne ze słowem blanca oraz wszystkimi innymi słowami, które kończą się tym łańcuchem. Wyrażenie host jest podobne do blanca% jest zgodne ze słowem „blanca” oraz wszystkimi innymi słowami, które zaczynają się od tego łańcucha. Natomiast wyrażenie host jest podobne do %blanca% jest zgodne ze słowem „blanca” oraz wszystkimi innymi słowami, w których jest osadzony ten łańcuch.
  • Nie - w przypadku wyrażenia Nie xx ten operator oznacza dopasowania, które nie zawierają łańcucha xx.
  • LUB - w przypadku wyrażenia xx LUB yy ten operator oznacza dopasowania, które zawierają łańcuch xx lub łańcuch yy.

Wartość

W zależności od wybranego operatora należy wpisać wartość dla podwyrażenia, które ma zostać utworzone.

Buduj podwyrażenie

Generuje podwyrażenie jako wynik określonego operandu, operatora i wartości.

Wygenerowane podwyrażenie

To podwyrażenie należy skopiować i wkleić do reguły.



Nazwa pliku: wc_rulebuilder_detail.html