IBM TRIRIGA Application Platform 3 OSLC

Transkrypt

IBM TRIRIGA Application Platform 3 OSLC
IBM TRIRIGA Application Platform
Wersja 3 Wydanie 4.1
OSLC — Podręcznik integracji
Uwaga
Przed użyciem niniejszych informacji i produktu, którego one dotyczą, należy zapoznać się z treścią sekcji “Uwagi” na stronie 31.
Niniejsza edycja dotyczy wersji 3, wydania 4, modyfikacji 1 produktu IBM TRIRIGA Application Platform i wszystkich jego
późniejszych wersji i modyfikacji, o ile nie zaznaczono inaczej w nowych wydaniach.
© Copyright IBM Corporation 2014, 2014.
Spis treści
Rozdział 1. Integracja danych przy
użyciu specyfikacji OSLC . . . . . . . 1
Rozdział 2. Integracja w roli konsumenta
OSLC . . . . . . . . . . . . . . . . 3
Komponenty OSLC. . . . . . . . . . . . . 3
Terminologia OSLC . . . . . . . . . . . 3
Dostawcy usług i ich wykrywanie . . . . . . . 4
Przestrzenie nazw OSLC . . . . . . . . . . 5
Operacje i zasoby OSLC . . . . . . . . . . 5
Kształty zasobów . . . . . . . . . . . . 6
Dokumenty kształtów . . . . . . . . . . 7
Znaczniki ETags . . . . . . . . . . . . 10
Identyfikatory URI IBM TRIRIGA dla OSLC . . . 11
Rozdział 3. Praca z zasobami OSLC . . 13
Zapytania dot. zasobów OSLC . . . . . . . . .
Zapytanie z użyciem metod GET lub POST . . . .
Parametry zapytania OSLC . . . . . . . . .
Tworzenie zasobów OSLC . . . . . . . . . .
Tworzenie rekordów zależnych od rekordów głównych
Aktualizacja zasobów OSLC . . . . . . . . .
© Copyright IBM Corp. 2014, 2014
13
13
14
17
18
19
Metoda HTTP PUT . . . . . .
Metoda HTTP PATCH . . . . .
Aktualizowanie dowiązanych zasobów
Usuwanie zasobów OSLC . . . . .
Praca z załącznikami i danymi binarnymi .
Przetwarzanie załączników OSLC . .
Przetwarzanie danych binarnych OSLC
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
19
21
23
23
23
23
25
Rozdział 4. Zarządzanie zasobami OSLC 27
Zabezpieczenia OSLC
Zmiany haseł . .
Nieaktualne hasła .
Rejestrowanie OSLC .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
27
27
28
28
Rozdział 5. Rozwiązywanie problemów
z OSLC . . . . . . . . . . . . . . 29
Objaśnienia kodów HTTP specyfikacji OSLC
.
.
.
. 29
Uwagi . . . . . . . . . . . . . . . 31
Strategia ochrony prywatności .
Znaki towarowe . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 33
. 33
iii
iv
© Copyright IBM Corp. 2014
Rozdział 1. Integracja danych przy użyciu specyfikacji OSLC
Aplikacje produktu i niektóre aplikacje zewnętrzne mogą integrować i udostępniać sobie
nawzajem dane w oparciu o specyfikację integracji Open Services for Lifecycle Collaboration
(OSLC). OSLC ułatwia techniczną współpracę i wymianę danych między narzędziami.
Działając zgodnie z regułami i metodami opisanymi w specyfikacji, aplikacje mogą
wykonywać operacje tworzenia, żądania, aktualizowania i usuwania na zasobach innej
aplikacji.
Społeczność OSLC zrzesza twórców oprogramowania i instytucje współpracujące przy
standaryzacji wymiany danych między narzędziami do zarządzania cyklem życia zasobów.
Do danych tych należą na przykład wymagania, informacje o usterkach, scenariusze tekstowe
i historie zmian. Integracja OSLC aplikacji może odbywać się w oparciu o wersję 2.0
specyfikacji OSLC. Sama specyfikacja wraz z innymi zasobami OSLC dostępna jest w sieci
WWW>
Integracja OSLC realizowana jest między aplikacją konsumencką a zewnętrzną aplikacją
dostawcy. Aplikacja dostawcy OSLC udostępnia dane o swoich zasobach aplikacji
konsumenckiej za pośrednictwem kontenerów nazywanych dostawcami usług. Dzięki
dostępności danych o zasobach aplikacja konsumencka może tworzyć powiązania między
swoimi danymi a danymi zasobów aplikacji dostawcy. Każda aplikacja w produkcie może po
odpowiednim skonfigurowani działać jako aplikacja konsumencka OSLC.
Aplikacje konsumenckie mogą uzyskiwać identyfikatory URI zasobów w aplikacji dostawcy i
na podstawie tych identyfikatorów żądać, na przykład, wyników zapytań. Dostawcy usług
IBM® TRIRIGA są dostępny pod adresem http://twoj_serwer/oslc/sp.
Identyfikatory URI używane w żądaniach OSLC muszą być kodowane jako URL.
© Copyright IBM Corp. 2014, 2014
1
2
© Copyright IBM Corp. 2014
Rozdział 2. Integracja w roli konsumenta OSLC
Aplikacja, konsument OSLC, może być skonfigurowana do obsługi dwóch typów interakcji:
zapytań i tworzenia. Aplikacja konsumencka uzyskuje odsyłacze do zasobów od aplikacji
dostawcy.
Poniższy rysunek przedstawia interakcje między aplikacją konsumencką a aplikacją
dostawcy. Aplikacja konsumencka OSLC może pytać o zasoby lub tworzyć zasoby w
aplikacji dostawcy i zachowywać dla siebie odsyłacze do tych zasobów. Za pośrednictwem
odsyłaczy aplikacja konsumencka może kierować do aplikacji dostawcy żądania zapytań,
aktualizacji lub usuwania zasobów.
Komponenty OSLC
Dostawcy usług, zasoby i znaczniki ETag to informacje potrzebne do konsumowania danych
IBM TRIRIGA za pośrednictwem OSLC.
Terminologia OSLC
W przypadku terminów dotyczących rozwiązania IBM TRIRIGA1 OSLC przedstawione są
definicje.
aplikacja konsumencka
Aplikacja wykorzystująca dane w głównej hurtowni danych do określonych
zastosowań biznesowych.
fabryka tworzenia
Identyfikator URI używany do tworzenia nowych zasobów za pomocą metody
HTTP POST.
aplikacja dostawcy
W kontekście OSLC aplikacja udostępniająca dane o swoich zasobach aplikacji
konsumenckiej za pośrednictwem kontenerów nazywanych dostawcami usług.
Rozwiązanie IBM TRIRIGA jest aplikacją dostawcy dla aplikacji mobilnych the
IBM TRIRIGA Anywhere.
rekord dostawcy
Rekord identyfikujący aplikację dostawcy i zawierający definicje dla co najmniej
jednej interakcji OSLC między aplikacją konsumencką i aplikacją dostawcy.
© Copyright IBM Corp. 2014, 2014
3
publiczny identyfikator URI
Główny identyfikator URI używany w celu uzyskania dostępu do aplikacji dostawcy
OSLC.
funkcja zapytania
Podstawowy identyfikator URI służący do tworzenia URI zasobów zapytań.
zasób
W kontekście OSLC jest to sieciowy obiekt danych lub usługa, którą można
zidentyfikować za pomocą identyfikatora URI.
Resource Description Framework (RDF)
Struktura reprezentowania informacji w Internecie.
kształt zasobu
Specyfikacja definiująca stałą listę właściwości zasobu, oczekiwane typy danych i
wartości oraz reguły sprawdzania poprawności w przypadku nowych lub
zmienionych zasobów.
typ zasobu
W kontekście OSLC jest to typ danych połączonych między zintegrowanymi
aplikacjami, przykładowo może to być zlecenie zmiany statusu zadania roboczego.
dostawca usług
W kontekście OSLC jest to kontener zasobów zawarty w narzędziu lub produkcie w
celu zapewnienia możliwości korzystania z danego zasobu.
dokument kształtu
Rekord opisujący kształt zasobu i udostępniający go za pomocą identyfikatora URI.
Dostawcy usług i ich wykrywanie
Dostawca usług to kontener lub kolekcja zasobów utrzymywana i udostępniana przez
narzędzie lub produkt. Dostawcy usług są środkiem do grupowania podobnych zasobów,
takich jak defekty lub zadania, które mogą być konfigurowane na potrzeby integracji.
Dostawca usług w aplikacji dostawcy OSLC zawiera dane zasobów, które mogą być
powiązane z danymi aplikacji konsumenckiej poprzez zastosowanie mechanizmów integracji
między aplikacjami. Dane zasobów w programie IBM TRIRIGA mogą mieć postać tekstu w
językach z kodowaniem wielobajtowym. Aby możliwa była integracja między aplikacją
konsumencką a aplikacją dostawcy, konsument musi wykryć lub zidentyfikować dostawców
usług dostępnych w aplikacji dostawcy.
W programie IBM TRIRIGA dostawca usług może być bardzo prostu lub bardzo
skomplikowany, jak np. aplikacja zawierająca wiele modułów i obiektów biznesowych. W
programie IBM TRIRIGA można wykrywać dostawców usług, stosując następujące metody:
v Z menu Narzędzia > Konfiguracja systemu > Integracja > Menedżer OSLC
v Korzystając z identyfikatora URI: http://twoj_serwer/oslc/sp
Każda z tych metod prowadzi do uzyskania listy dostawców usług. W następującym
przykładzie przedstawiono identyfikator URI pracowników: http://twoj_serwer/oslc/sp/
Employee.
Identyfikator URI wskazuje na dokument dostawcy usług zapisany w formacie RDF/XML. W
formacie RDF/XML mogą być zapisane dokumenty kształtów, dostawcy usług, zasoby i dane
zasobów. Aplikacja konsumencka może użyć formularza dostawcy usług do określenia, które
zasoby i usługi są dostępne (np. zapytania, tworzenie).
Dostawca usług OSLC realizuje funkcje fabryki tworzenia OSLC oraz obsługuje zapytania,
udostępniając konsumentom identyfikatory URI służące do tworzenia lub wyszukiwania
4
© Copyright IBM Corp. 2014
zasobów obsługiwanych przez dostawcę. Dokument dostawcy usług opisuje dostępne zasoby
i odwzorowania przestrzeni nazw, a także operacje obsługiwane przez dostawcę usług w
odniesieniu do tych zasobów.
W poniższej przykładowej odpowiedzi odwołanie do dostawcy usług OSLC znajduje się we
właściwości rdfs:member. Dokument dostawcy usług dla domeny zawiera identyfikator URI
zadania:
<rdf:RDF>
<rdf:Description rdf:about="http://yourserver/oslc/sp">
<rdfs:member rdf:resource="http://yourserver/oslc/sp/WorkTask">
</rdf:Description>
</rdf:RDF>
Przestrzenie nazw OSLC
W rozwiązaniu OSLC definiowane są ogólne przestrzenie nazw. Właściwość
prefixDefinition zapewnia wyświetlanie wszystkich odwzorowań przedrostków na
przestrzenie nazw używanych przez dostawcę usług do opisywania zarządzanego zasobu.
Przestrzeń nazw właściwości musi się kończyć znakiem # lub /. Przykładowo:
http://yourserver/ns/property#.
W poniższej tabeli przedstawiono przykładowe przestrzenie nazw OSLC:
Przedrostek
Przestrzeń nazw
rdf
http://www.w3.org/1999/02/22-rdf-syntax-ns#
oslc
http://open-services.net/ns/core#
dcterms
http://purl.org/dc/terms/
asset
http://open-services.net/ns#
foaf
http://xmlns.com/foaf/0.1/
rdfs
http://www.w3.org/2000/01/rdf-schema#
rr
http://jazz.net/ns/ism/registry#
spi
http://jazz.net/ns/tririga
Poniższy fragment pochodzący z sekcji usługi w dokumencie dostawcy usług zawiera
przestrzenie nazw OSLC oraz RDF:
<oslc:ServiceProvider rdf:about="http://yourserver/oslc/sp/WorkTask">
<oslc:prefixDefinition>
<oslc:PrefixDefinition>
<oslc:prefixBase rdf:resource="http://open-services.net/ns/core#"/>
<oslc:prefix>oslc</oslc:prefix>
</oslc:PrefixDefinition>
</oslc:prefixDefinition>
<oslc:prefixDefinition>
<oslc:PrefixDefinition>
<oslc:prefixBase rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
<oslc:prefix>rdf</oslc:prefix>
</oslc:PrefixDefinition>
</oslc:prefixDefinition>
Operacje i zasoby OSLC
Dostawca usług OSLC realizuje operacje fabryki tworzenia oraz obsługuje funkcje zapytania
w przypadku zasobów dostępnych w dokumencie dostawcy usługi. Fabryka tworzenia
zapewnia identyfikator URI pozwalający na utworzenie oslc:creation używanego do
opracowania nowych zasobów za pomocą metody HTTP POST. Za pomocą identyfikatora
Rozdział 2. Integracja w roli konsumenta OSLC
5
URI zapytania oslc:queryBase można wybrać zbiór zasobów zarządzany przez dostawcę
usług. Po uzyskaniu zasobu przez zapytanie lub utworzenie zasób można aktualizować lub
usunąć.
Operacja fabryki tworzenia
Jeśli zasób obsługuje tworzenie, może istnieć jedna operacja fabryki tworzenia. Poniższy
fragment pochodzący z dokumentu dostawcy usług zawiera operację fabryki tworzenia, adres
URL kształtu zasobu i URL operacji zasobu tworzenia tworzącej kształt.
<oslc:creationFactory>
<oslc:CreationFactory>
<oslc:resourceType rdf:resource="http://jazz.net/ns/tririga#WorkTask"/>
<oslc:resourceShape rdf:resource="http://yourserver/oslc/shapes/WorkTask"/>
<oslc:creation rdf:resource="http://yourserver/oslc/so/WorkTask"/>
<oslc:label>Create WorkTask</oslc:label>
<dcterms:title>OSLC creation factory for WorkTask</dcterms:title>
</oslc:CreationFactory>
</oslc:creationFactory>
......
Operacja funkcji zapytania
Identyfikator URI zapytania to oslc:queryBase, a w poniższym przykładzie przedstawiono
wyszukiwanie zadania roboczego za pomocą zlecenia: <oslc:queryBase
rdf:resource="http://nazwaserwera/oslc/spq/oslcwodetail"/>:
<oslc:queryCapability>
<oslc:QueryCapability>
<oslc:resourceType rdf:resource="http://jazz.net/ns/tririga#WorkTask"/>
<oslc:queryBase rdf:resource="http://yourserver/oslc/so/WorkTask"/>
<oslc:labelQuery>WorkTask</oslc:label>
<dcterms:taskname>OSLC query capability for WorkTask</dcterms:taskname>
</oslc:QueryCapability>
</oslc:queryCapability>
Po zdefiniowaniu kształtu zasobu OSLC wszystkie zapytania są dostępne poprzez dostawcę
usług. Udostępnianie zapytań odbywa się za pomocą funkcji zapytań OSLC.
Kształt zasobu OSLC można zdefiniować za pomocą raportu opracowywanego w
Menedżerze raportówIBM TRIRIGA. Kształt zasobów używa raportu jako szablonu w celu
zdefiniowania właściwości dostępnych dla zasobu. Te właściwości są zwracane po
uruchomieniu funkcji zapytania.
Każda funkcja zapytania zawiera właściwość o nazwie podstawa zapytania, która jest
używana do stosowania rozszerzonych kryteriów w zasobie. Za pomocą tych kryteriów
można wstępnie zdefiniować filtry dla tego samego kształtu. Pole Podstawa zasobu w
funkcji zapytania zawiera nazwę zapytania zgodną z zapytaniem, na podstawie którego
zdefiniowano zasób. Jeśli to zapytanie jest zdefiniowane, jest ono używane do filtrowania. W
zapytaniu można użyć parametrów TRIRIGA takich jak $$USERID$$, $$RECORDID$$
lub $$PARENT::SECTIONAME::FIELDNAME$$. Podstawa zapytania to lista, a jej
zawartość zmienia się wraz ze zmianami wprowadzanymi w zasobie. Przykładowo: zapytanie
MyWorkTask zwraca listę zadań roboczych, które są przypisane do użytkownika
odpowiadającego za zlecenie zapytanie.
Kształty zasobów
Kształt zasobu to plik w formacie RDF (Resource Description Framework) zawierający opis
typów danych zasobu, jakie mogą być używane w interakcjach. Kształt zawiera listę
atrybutów zasobu.
Plik RDF zasobu można wyświetlić na karcie Podgląd formularza zasobu.
6
© Copyright IBM Corp. 2014
Kształt zasobu jest podobny do schematu XML w tym sensie, że definiuje strukturę danych
zasobu.
Dokumenty kształtów
Dokument kształtu w rozwiązaniu OSLC stanowi elektroniczny sposób przedstawienia
zasobu wraz ze wszystkimi zależnościami, atrybutami i właściwościami. Przykładowo:
dokument kształtu zadania roboczego zawiera listę szczegółowych informacji dotyczących
zasobu zadania roboczego.
Dokumenty kształtów obejmują wszystkie zasoby, w tym aktywa, firmy, zamówienia i
zadania robocze. W dokumencie kształtu zawarto również wymagane elementy. Dokument
kształtu zasobu może zawierać połączenia z dokumentami kształtu obiektów podrzędnych.
Dokumenty kształtów są zapisywane w formacie RDF/XML.
Kształt zasobu zawiera właściwości, działania, i zasoby połączone zdefiniowane dla zasobu.
W rozwiązaniu IBM TRIRIGA podczas tworzenia nowego zasobu za pomocą formularza
zasobu OSLC należy określić moduł, obiekt biznesowy i zapytanie dot. obiektu biznesowego.
Można również wybrać moduł i zapytanie o wiele zasobów biznesowych. Na początek w
rozwiązaniu IBM TRIRIGA należy utworzyć zapytanie. W przypadku tworzenia kolumn
wyświetlania w zapytaniu użytkownik definiuje właściwości wstępne. Za pomocą czynności
Importuj wszystkie pola dostępnej w formularzu można zaimportować kolumny
wyświetlania z zapytania w postaci właściwości zasobu. Podczas importowania następuje
próba określenia dla pól IBM TRIRIGA wartości odpowiednich dla OSLC na przykład
wartości tylko do odczytu. Po zaimportowaniu można modyfikować pola oraz usuwać
właściwości. Właściwość dcterms:identifier pozwala na utworzenie ID rekordu podczas
importowania. Pole triRecordIdSY jest wymagane, jeśli użytkownik planuje aktualizowanie
zasobu.
W poniższej tabeli przedstawiono sposób przypisywania pól IBM TRIRIGA do typów
wartości właściwości OSLC:
Typ pola IBM TRIRIGA
Typ wartości właściwości OSLC
Logiczne
OslcPropertyValueType.Boolean
Obiekt biznesowy
OslcPropertyValueType.String
Klasyfikacja
OslcPropertyValueType.String
Zestawienie klasyfikacji
OslcPropertyValueType.Decimal
Kolor
OslcPropertyValueType.String
Uwaga: identyfikator URI musi być kodowany
jako URL podczas filtrowania pod względem
kolorów pól. Symbol # należy zastąpić za pomocą
ciągu znaków %23.
Numer kontrolny
OslcPropertyValueType.String
Data
OslcPropertyValueType.String
Data i godzina
OslcPropertyValueType.String
Czas trwania
OslcPropertyValueType.String
Zestawienie finansowe
OslcPropertyValueType.Decimal
Obraz
OslcPropertyValueType.String
Tylko etykieta
OslcPropertyValueType.String
Lista
OslcPropertyValueType.String
Numer
OslcPropertyValueType.Decimal
Rozdział 2. Integracja w roli konsumenta OSLC
7
Typ pola IBM TRIRIGA
Typ wartości właściwości OSLC
Hasło
OslcPropertyValueType.String
Tylko do odczytu - system
OslcPropertyValueType.String
Tekst
OslcPropertyValueType.String
Czas
OslcPropertyValueType.String
UOM
OslcPropertyValueType.String
Url
OslcPropertyValueType.String
Zasób połączony wskazuje zasób przeznaczony do połączenia. Zapewnia on łańcuchy
powiązania opisujące relację. Poniżej przedstawiono przykładowe łańcuchy powiązania:
Zawiera zasób, Zarządza i Przypisany Do Zasób połączony można dodać do właściwości.
Zasób połączony jest dozwolony i opcjonalny w przypadku pól lokalizatora i sekcji
inteligentnych.
Przykład: dokument kształtu zadania roboczego
Dokument kształtu zadania roboczego zawiera listę wszystkich właściwości, atrybutów i
zależności zadania roboczego. Poniższy kod prezentuje fragment dokumentu kształtu zadania
roboczego o nazwie WorkTask. W tym dokumencie kształtu zasobu są zawarte cztery
właściwości, ale dokument może zawierać wiele właściwości.
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:oslc="http://open-services.net/ns/core#"
xmlns:spi="http://jazz.net/ns/tririga/property#"
xmlns:dcterms="http://purl.org/dc/terms/">
<oslc:ResourceShape rdf:about="http://yourserver/oslc/shapes/WorkTask">
<oslc:property>
<oslc:Property>
<oslc:representation rdf:resource="http://open-services.net/ns/core#Either"/>
<oslc:readOnly>false</oslc:readOnly>
<oslc:occurs rdf:resource="http://open-services.net/ns/core#Exactly-one"/>
<oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
<dcterms:title rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral"
>ID</dcterms:title>
<oslc:name>RecordInformation.triIdTX>/oslc:name>
<oslc:propertyDefinition rdf:resource="http://jazz.net/ns/tririga/property#triIdTX"/>
</oslc:Property>
</oslc:property>
<oslc:property>
<oslc:Property>
<oslc:representation rdf:resource="http://open-services.net/ns/core#Either"/>
<oslc.readOnly>false</oslc:readOnly>
<oslc:occurs rdf:resource="http://open-services.net/ns/core#Exactly-one"/>
<oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
<oslc:defaultValue>TIMESTAMP</oslc:defaultValue>
<dcterms:title rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral"
>Planned Start</dcterms:title>
<oslc:name>RecordInformation.triPlannedStartDT</oslc:name>
<oslc:propertyDefinition rdf:resource="http://jazz.net/ns/tririga/property#triPlannedStartDT"/>
</oslc:Property>
</oslc:property>
<oslc:property>
<oslc:Property>
<oslc:representation rdf:resource="http://open-services.net/ns/core#Either"/>
<oslc:readOnly>true</oslc:readOnly>
<oslc:occurs rdf:resource="http//open-services.net/ns/core#Exactly-one"/>
<oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#decimal"/>
<dcterms:title rdf:datatype="http//www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral"
>Actual Total Cost</dcterms:title>
<oslc:name>RecordInformation.triActualTotalCostNU</oslc:name>
<oslc:propertyDefinition rdf:resource="http://jazz.net/ns/tririga/property#triActualTotalCostNU"/>
</oslc:Property>
</oslc:property>
<oslc:property>
<oslc:Property>
<oslc:representation rdf:resource="http://open-services.net/ns/core#Either"/>
<oslc:readOnly>false</oslc:readOnly>
<oslc:occurs rdf:resource="http//open-services.net/ns/core#Exactly-one"/>
<oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
<dcterms:title rdf:datatype="http//www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral"
>Task Name</dcterms:title>
<oslc:name>RecordInformation.triNameTX</oslc:name>
<oslc:propertyDefinition rdf:resource="http://jazz.net/ns/tririga/property#trNameTX"/>
8
© Copyright IBM Corp. 2014
</oslc:Property>
</oslc:property>
<dcterms:title>WorkTask</dcterms:title>
</oslc:ResourceShape>
</rdf:RDF>
Pola numerów:
Atrybut dla skali jest podawany dla pól numerów w OSLC. Skala to liczba cyfr po prawej
stronie miejsca dziesiętnego liczby.
Jeśli numer posiada niestandardową maskę wyświetlania, wartość skali, która jest zwracana
opiera się na niestandardowej masce wyświetlania. Jeśli brakuje maski wyświetlania i nie
istnieje zestaw jednostek miary (JM), domyślnie jest zwracana wartość obydwu. Jeśli istnieje
jeden zestaw JM dla pola numerów i nie ustawiono maski wyświetlania dla pola, zwracana
jest skala maski wyświetlania JM. Znaki 0 i # w masce wyświetlania są uwzględniane
podczas określania skali.
Przykład: skala w polach numerów
Następujący przykład przedstawia zwracane wyniki z wartością skali wynoszącą 3:
<oslc:property>
<oslc:Property>
<spi:scale> 3 </spi:scale>
<oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#decimal"/>
<oslc:readOnly>false</oslc:readOnly>
<oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one" />
<dcterms:title rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral">
Cost </dcterms:title>
<oslc:name> triCostNU </oslc:name>
<oslc:propertyDefinition rdf:resource="http://jazz.net/ns/spi#triCostNU" />
</oslc:Property>
</oslc:property>
Właściwości listy i JM:
Można wyświetlić wartości, które są dozwolone w przypadku właściwości listy jednostki
miary.
Właściwość JM lub listy zawiera element oslc:allowedValues, który obejmuje
identyfikator URI zasobu. Identyfikator URI zwraca listę dostępnych wartości, które można
użyć w przypadku właściwości tej listy lub JM.
Przykład
W poniższym przykładzie przedstawiono właściwość z elementem oslc:allowedValues
oraz listę dozwolonych wartości wynikających z identyfikatora URI w elemencie:
<oslc:property>
<oslc:Property>
<oslc:defaultValue>Japan Yen</oslc:defaultValue>
<oslc:readOnly>false</oslc:readOnly>
<oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#string" />
<oslc:usage rdf:resource="http://jazz.net/ns/ism/datatypes/
smarter_physical_infrastructure#uom" />
<oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one" />
<oslc:name>exampleUOM</oslc:name>
<dcterms:title rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral">
exampleUOM</dcterms:title>
<oslc:allowedValues rdf:resource="http://yourserver/oslc/system/list/
Rozdział 2. Integracja w roli konsumenta OSLC
9
resourceName/spi:exampleUOM" />
<oslc:propertyDefinition rdf:resource="http://jazz.net/ns/spi#exampleUOM" />
</oslc:Property>
</oslc:property>
<rdf:RDF>
<oslc:allowedValues rdf:about="http://yourserver/oslc/system/list/
resourceName/spi:exampleUOM">
<oslc:allowedValues>
<oslc:allowedValues>
<oslc:allowedValue>US Dollars</oslc:allowedValue>
<oslc:allowedValue>Swedish Krona/Kronor</oslc:allowedValue>
<oslc:allowedValue>Brazilian Real</oslc:allowedValue>
<oslc:allowedValue>Russian Ruble</oslc:allowedValue>
<oslc:allowedValue>Norwegian Krone</oslc:allowedValue>
<oslc:allowedValue>New Zealand Dollars</oslc:allowedValue>
<oslc:allowedValue>United Kingdom Pounds</oslc:allowedValue>
<oslc:allowedValue>Thai Baht</oslc:allowedValue>
<oslc:allowedValue>Canadian Dollars</oslc:allowedValue>
<oslc:allowedValue>Egyptian Pound</oslc:allowedValue>
<oslc:allowedValue>Euro</oslc:allowedValue>
<oslc:allowedValue>Polish Zloty</oslc:allowedValue>
<oslc:allowedValue>Korea Won</oslc:allowedValue>
<oslc:allowedValue>Hungarian Forint</oslc:allowedValue>
<oslc:allowedValue>South Africa Rand</oslc:allowedValue>
<oslc:allowedValue>Switzerland Francs</oslc:allowedValue>
<oslc:allowedValue>Japan Yen</oslc:allowedValue>
<oslc:allowedValue>Australia Dollars</oslc:allowedValue>
<oslc:allowedValue>Israeli New Shekel</oslc:allowedValue>
<oslc:allowedValue>Danish Krone</oslc:allowedValue>
<oslc:allowedValue>Indian Rupees</oslc:allowedValue>
<oslc:allowedValue>clIndiaRupee</oslc:allowedValue>
</oslc:allowedValues>
</oslc:allowedValues>
</oslc:allowedValues>
</rdf:RDF>
Znaczniki ETags
Znacznik ETag (znacznik obiektu) to nagłówek HTTP używany do sprawdzania, czy klient
(np. urządzenie mobilne) dysponuje najnowszą wersją rekordu. W przypadku wykonania
zlecenia GET znacznik ETag jest zwracany jako nagłówek odpowiedzi. Znacznik ETag
pozwala również klientowi na wykonanie zleceń warunkowych.
Poza obsługą podstawowych metod aktualizacji HTTP PUT i HTTP PATCH rozwiązanie
OSLC również obsługuje aktualizacje warunkowe. Aktualizacje warunkowe używają
znaczników obiektów HTTP i nagłówków If-Match w celu sprawdzania, czy klienty
dysponują najnowszymi obiektami dla zasobów. Ten proces ten używany do wykrywania
nieprawidłowych aktualizacji warunków śledzenia. Przykładowo: jeśli dwa klienty wczytują
ten sam zasób, rozwiązanie OSLC przesyła nagłówek ETag z odpowiedzią.
Wartością znacznika ETag jest data i godzina ostatniej aktualizacji zasobu. Klient
przechowuje wartość nagłówka ETag i wysyła jako część nagłówka HTTP If-Match dla
kolejnego zlecenia aktualizacji. Serwer ocenia nagłówek If-Match i określa, czy klient
dysponuje starą wersją czy najnowszą wersją zasobu. Jeśli serwer określi, że wersja klienta
jest stara, odsyła odpowiedź HTTP 412 precondition failed. Klient otrzymuje ponownie
zasób i przesyła zlecenie oparte na zaktualizowanym znaczniku ETag. Jeśli jednak serwer
określi, że klient wersja jest najnowszą wersją, aktualizacja jest wdrażana, o ile nie znaleziono
sprawdzenia poprawności biznesowej lub ograniczeń bazy danych.
Klient może również przesłać zlecenie bez nagłówka If-Match lub z wartością nagłówka
If-Match określoną jako * (gwiazdka). Przesłanie takiego zlecenia jest semantycznie
równoznaczne z brakiem nagłówka If-Match w zleceniu aktualizacji. W obu przypadkach
10
© Copyright IBM Corp. 2014
aktualizacja jest bezwarunkowa. Jeśli zasób, który jest określony przez identyfikator URI
istnieje i nie znaleziono sprawdzeń biznesowych ani ograniczeń bazy danych, aktualizacja jest
wdrażana.
Identyfikatory URI IBM TRIRIGA dla OSLC
Identyfikatory URI używane w celu nawiązania połączenia IBM TRIRIGA za pomocą OSLC
są niepowtarzalne.
Połączenie z IBM TRIRIGA można uzyskać za pomocą poniższych identyfikatorów URI:
OSLC component
Opis
Strona zasobów systemowych
http://yourserver/oslc
Logowanie
http://yourserver/oslc/login
Wylogowanie
http://yourserver/oslc/logout
Fabryka tworzenia
http://yourserver/oslc/so
Funkcja zapytania
http://yourserver/oslc/spq
Szczegóły zapytania
http://yourserver/oslc/so
Kształt zasobu
http://yourserver/oslc/shapes
Aby uzyskać dostęp do strony kształtu zasobu,
należy wprowadzić adres: http://yourserver/oslc/
shapes/ResourceShapeName
Dostawca usług
http://yourserver/oslc/sp
Rozdział 2. Integracja w roli konsumenta OSLC
11
12
© Copyright IBM Corp. 2014
Rozdział 3. Praca z zasobami OSLC
Za pomocą metod HTTP można definiować sposoby tworzenia, usuwania aktualizowania
zasobów OSLC przez użytkowników oraz tworzenia zapytań dot. zasobów.
Zabezpieczenia IBM TRIRIGA są stosowane we wszystkich czynnościach dotyczących
danych. Użytkownik nie można utworzyć, zaktualizować, usunąć rekordu ani utworzyć
zapytania dot. rekordu bez odpowiedniego poziomu obsługi zabezpieczeń.
Zapytania dot. zasobów OSLC
Można tworzyć zapytania dot. zasobów OSLC, korzystając z metody HTTP GET lub HTTP
POST. Zmieniając parametry zapytania, można sterować sposobem wyszukiwania zasobów
przez użytkowników. OSLC definiuje prostą składnię zapytania pozwalającą tworzyć
zapytania dot. zasobów opartą na standardzie SPARQL.
Zapytanie z użyciem metod GET lub POST
Podczas opracowywania zapytań dot. zasobów OSLC można użyć metod HTTP GET lub
HTTP POST.
Podczas opracowywania zapytań dot. zasobów OSLC za pomocą metody HTTP GET w
identyfikatorze URI należy określić parametry. Jeśli identyfikator URI jest dłuższy niż 2000
znaków, należy opracować zapytanie za pomocą metody HTTP POST, a nie HTTP GET.
Metody HTTP POST można również użyć, jeśli identyfikator URI jest krótszy niż 2000, ale
nadal długi, lub jeśli użytkownik chce ukryć parametry zapytania, aby nie były wyświetlane w
URI.
W przypadku zapytań z użyciem metody HTTP POST należy określić dla nagłówka HTTP
Content-Type ustawienie application/x-www-form-urlencoded, przesłać identyfikatory URI
bez parametrów i określić parametry zapytania w treści zlecenia HTTP.
Przykład: zapytanie za pomocą metody HTTP GET
Poniżej przedstawiono przykład zapytania za pomocą metody HTTP GET. Wszystkie
parametry zapytania są wyświetlane w identyfikatorze URI.
http://yourserver/oslc/spq/WorkTaskQuery?oslc.select=
spi:triNameTX,spi:RCA{spi:triRCARemedyCL}&oslc.where=
spi:RCA{spi:triRCARemedyCL="Clean"}&oslc.orderBy=%2Bspi:triNameTX
Przykład: zapytanie za pomocą metody HTTP POST
Poniżej przedstawiono przykład tego samego zapytania wykonanego za pomocą metody
HTTP POST. Identyfikator URI zostanie skrócony.
http://yourserver1/oslc/spq/WorkTaskQuery
Treść HTTP
Treść zlecenia HTTP zawiera wszystkie parametry zapytania.
oslc.select=spi:triNameTX,spi:RCA{spi:triRCARemedyCL}&oslc.where=
spi:RCA{spi:triRCARemedyCL="Clean"}&oslc.orderBy=%2Bspi:triNameTX
© Copyright IBM Corp. 2014, 2014
13
Parametry zapytania OSLC
Parametry zapytania OSLC zapewniają opcje określające sposoby opracowywania zapytań
dot. zasobów OSLC. Przykładowo: parametr oslc.orderBy definiuje kolejności wyników
zapytania. Obsługiwane parametry zapytania HTTP OSLC to: oslc.properties,
oslc.where, oslc.orderBy, oslc.select, oslc.pageSize i pageno.
Jeśli właściwość nie znajduje się w sekcji Ogólne formularza, należy określić nazwę sekcji
właściwości w formacie nazwasekcji#nazwapola. Na przykład triDetails#triTaskTypeCL.
Parametr oslc.properties
Parametr zapytania oslc.properties określa listę właściwości zasobu OSLC. Właściwości
mogą pochodzić z zasobu lub zasobów połączonych. Jest on używany w celu uzyskania
częściowej reprezentacji zasobu. Parametru oslc.properties nie można stosować w
zbiorach zasobów. Kolekcja zasobów to zasób OSLC zawierający inne zasoby OSLC jako
elementy składowe.
Przykład: zlecenia atrybutów
W poniższym przykładowym zleceniu określono, że wartości atrybutów shortTitle i isTask
są zwracane w wynikach:
http://yourserver/oslc/so/WorkTask/
337?oslc.properties=oslc:shortTitle,spi:isTask
Przykład: zlecenia atrybutów z zasobów połączonych
W poniższym zleceniu określono, że wartość nazwy organizacji klienta jest zwracana w
wynikach:
http://yourserver/oslc/so/WorkTask/
13353622?oslc.properties=*,spi:triCustomerOrgTX{spi:triNameTX}
To zlecenie zapewnia utworzenie następujących wyników:
{
spi:triNameTX: "WorkTask"
spi:triStatusCL: "Draft"
spi:triIdTX: "1027019"
-spi:triCustomerOrgTX: {
spi:triNameTX: "Company 01"
rdf:about: "http://yourserver/oslc/so/OrganizationRS/12877121"
}
rdf:about: "http://yourserver/oslc/so/triWorkTaskRS/13353622"
-trira:action: [10]
0: "triDelete"
1: "triInvalidUploadHidden"
2: "triIssue"
3: "triBaseline"
4: "triApplyTemplate"
5: "triCopy"
6: "triPlanHidden"
7: "triSave"
8: "triSaveAndClose"
9: "triTemporaryTemplate"
-prefixes: {
oslc: "http://open-services.net/ns/core#"
rdf: "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
trira: "http://jazz.net/ns/tririga#"
dcterms: "http://purl.org/dc/terms/"
}
}
14
© Copyright IBM Corp. 2014
parametr oslc.where
Parametr oslc.where określa klauzulę WHERE filtrowania zestawu wyników zapytania.
Przykładowo: użytkownik chce wyświetlić listę zasobów zadań roboczych OSLC
utworzonych w danym zakresie czasowym i zatwierdzonych przez zarząd. Filtrowanie można
wykonać według zasobów połączonych z zastosowaniem parametru oslc.where.
Przykładowo: użytkownik może chcieć filtrować osoby według nazwiska przełożonego.
Klauzula WHERE OSLC obsługuje następujące, podstawowe operatory porównawcze:
Symbol
Opis
=
Equality
v "wartość" = równe
v "%wartość" = kończy się na
v "wartość%" = rozpoczyna się od
v "%wartość%" = zawiera
Należy zwrócić uwagę, że ręczne wpisanie
identyfikatora URI z symbolem % jako
fragmentem wyszukiwanym wymaga
zakodowania symbolu w następujący sposób:
"%25wartość"
!=
Inequality
<
Less than
>
Greater than
<=
Less than or equal to
>=
Greater than or equal to
Jeśli wymagane jest filtrowanie pod kątem elementów pustych lub innych niż puste, należy
wprowadzić słowo null po symbolu.
Wymogi parametru oslc.where
Daty są wyrażane w formacie ISO 8601. W przypadku typów pól Data i Godzina w
milisekundach przedstawiono, czy wartość pola jest niezerowa.
Specyfikacja OSLC obsługuje operator and jako operator logiczny między wyrażeniami
logicznymi. Operator logiczny or nie jest obsługiwany. W poniższym przykładzie wartość
literału w przypadku statusu jest ujęta w cudzysłów ponieważ właściwość statusu zawiera typ
danych łańcuch. Wartość ilości nie jest ujęta w cudzysłów, ponieważ jest to dziesiętna wartość
danych. Liczby całkowite i wartości logiczne również nie wymagają ujęcia w cudzysłów.
Przykładowo: spi:status="Zamknięty" and spi:quantity>10.5 and spi:active=true gdzie
spi:active zawiera typ danych logicznych.
Specyfikacja OSLC obsługuje operator or niejawnie w ramach pojedynczej właściwości,
używając operatora in. Przykładowo: aby wyświetlić wszystkie zadania robocze o statusie
Wydane lub Aktywne, należy użyć zapytania spi:status in ["Wydane","Aktywne"]
Przykładowo: wyszukiwanie zadań roboczych utworzonych w
danym zakresie czasowym i zatwierdzonych
Użycie poniższej klauzuli powoduje wyświetlenie listy zasobów zadań roboczych
utworzonych w określonym zakresie czasowym:
Rozdział 3. Praca z zasobami OSLC
15
spi:status="Zatwierdzone" and dcterms:created>"2003-07-07T09:50:00-04:00" and
dcterms:created<="2004-07-07T09:50:00-04:00".
Używanie parametru oslc.orderBy w celu określania kolejności
sortowania
Parametr oslc.orderBy umożliwia zdefiniowanie kolejności wyświetlania wyników
zapytania. Przykładowo: listę zadań roboczych można uszeregować wg daty lub ID.
Aby uszeregować zadania robocze rosnąco wg daty utworzenia i szacowanego czasu trwania,
należy użyć następującego parametru oslc.orderBy: +dcterms:created,spi:estimatedDuration. Znak + określa sortowanie rosnące, a znak - sortowanie malejące.
Wartości są rozdzielane przecinkami. Następujący parametr oslc.orderBy jest
nieprawidłowy, ponieważ nie istnieje domyślne sortowanie w składni zapytania OSLC:
dcterms:created,-spi:estimatedDuration. Musi istnieć jawny znak + or - przy nazwie
właściwości. Parametr oslc.orderBy również obsługuje właściwości zagnieżdżone, np.
dcterms:creator{+foaf:name}. W rzeczywistych adresach URL znaki + i - nie działają.
Zamiast nich, w adresie URL należy użyć ciągów %2B i %2D.
Przykład: sortowanie oparte na zasobach połączonych
Pól zasobów połączonych można użyć jako kryteriów kolejności w celu sortowania rekordów
nadrzędnych i zasobów połączonych w rekordach nadrzędnych.
Przykładowo: mogą istnieć dwa główne obiekty, które są nazwane M1 i M2. M1 zawiera dwa
zasoby połączone o nazwach L1 i L3, a M2 zasoby połączone L2 i L4. Jeśli obiekty główne
zostaną posortowane rosnąco bez uwzględniania zasobów połączonych, wynikami będą M1,
M2. Jeśli obiekty główne zostaną posortowane malejąco, wynikami będą M2, M1. Jednak
ponieważ istnieje wiele zasobów połączonych w przypadku obiektów, podczas sortowania
malejącego lub rosnącego zasoby połączone również są sortowane. L1 i L3 są sortowane w
M1, L2, a L4 w M2.
Parametr oslc.select
Parametr oslc.select umożliwia określenie zlecenia dotyczącego częściowej reprezentacji
zbioru zasobów składowych. Parametr oslc.select jest zawsze stosowany do zasobów w
zbiorze. Należy określić listę właściwości uwzględnionych w zleceniu. Wybrane właściwości
mogą pochodzić z zasobu lub zasobów połączonych.
Przykład: zlecenia dot. zasobu częściowego
Parametr oslc.select zapewnia listę kwalifikowanych nazw właściwości rozdzielonych
przecinkami. Parametr oslc.prefix nie jest obsługiwany.
Poniższe zlecenie jest przykładem zlecenia dot. zasobu częściowego:
oslc.select=oslc:shortTitle,dcterms:creator
Przykład: właściwości z zasobów dowiązanych
Dzięki parametrowi oslc.select można wybrać właściwości z zasobów dowiązanych. Aby
pobrać informacje, takie jak nazwa twórcy, należy określić instrukcję SELECT jako
oslc.select= oslc:shortTitle,dcterms:creator{foaf:name}.
16
© Copyright IBM Corp. 2014
Zasób foaf:Person jest nazwą osoby określonej w wartości właściwości twórca. Aby uzyskać
wszystkie właściwości z zasobu, można użyć ciągu oslc.select=*. Tej samej składni można
użyć w przypadku parametru oslc.properties podczas wyszukiwania zasobu OSLC.
Przykład: właściwości z zasobów połączonych
Dzięki parametrowi oslc.select można wybrać właściwości z zasobów połączonych. Aby
pobrać informacje, takie jak wartość nazwy organizacji klienta, należy określić instrukcję
SELECT jako
http://yourserver/oslc/spq/WorkTaskQC
?oslc.select=*,spi:triCustomerOrgTX{spi:triNameTX}
&oslc.where=spi:triCustomerOrgTX!="null"
Użycie instrukcji SELECT zapewnia następującą odpowiedź:
{
-rdf:members: [1]
-0: {
spi:triNameTX: "WorkTask"
spi:triStatusCL: "Draft"
spi:triIdTX: "1027019"
-spi:triCustomerOrgTX: {
spi:triNameTX: "Company 01"
rdf:about: "http://yourserver/oslc/so/Organization/12877121"
}
rdf:about: "http://yourserver/oslc/so/WorkTask/13353622"
-trira:action: [10]
0: "triDelete"
1: "triInvalidUploadHidden"
2: "triIssue"
3: "triBaseline"
4: "triApplyTemplate"
5: "triCopy"
6: "triPlanHidden"
7: "triSave"
8: "triSaveAndClose"
9: "triTemporaryTemplate"
}
rdf:about: "http://yourserver/oslc/spq/WorkTask"
-prefixes: {
oslc: "http://open-services.net/ns/core#"
rdf: "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
spi: "http://jazz.net/ns/tririga#"
dcterms: "http://purl.org/dc/terms/"
}
}
Parametr oslc.pageSize
Parametr oslc.pageSize określa liczbę wyników na stronę zwracanych przez serwer.
Przykładowo: oslc.pageSize=20 zapewnia, że zapytanie zwraca 20 wyników na stronę.
Parametr pageno
Parametr pageno określa stronę, którą zwraca serwer. Przykładowo: pageno=3 zapewnia,
że zapytanie zwraca tylko dane z trzeciej strony.
Tworzenie zasobów OSLC
Utworzenie wystąpienia zasobu OSLC wymaga użycia metody HTTP POST. Następnie
można udostępnić zasób innym aplikacjom i zaktualizować go za pomocą metod PUT,
PATCH lub MERGE.
Rozdział 3. Praca z zasobami OSLC
17
O tym zadaniu
Klient OSLC przesyła dokument JSON zgodny z kształtem zasobu opublikowanym w
dokumencie kształtu. Dane są przesyłane do rozwiązaniaOSLC w treści zlecenia HTTP w
formacie JSON, a nagłówek HTTP Content-Type jest określany jako MIME type
application/json. Jeśli zlecenie zostanie przetworzone pomyślnie, klient OSLC otrzymuje
nagłówek lokalizacji HTTP z identyfikatorem URI nowo utworzonego zasobu. Aby
wyświetlić właściwości nowo utworzonego zasobu, można uwzględnić nagłówek właściwości
w zleceniu i określić właściwości, które zostaną wyświetlone. Właściwość nagłówka o nazwie
Właściwości jest zwracana i zawiera określone właściwości.
Podczas tworzenia zlecenia można uwzględnić identyfikator transakcji w nagłówku zlecenia
HTTP. Identyfikator transakcji musi być unikalny w obrębie wszystkich aplikacji klienta.
OSLC zapisuje status identyfikatora transakcji w bazie danych po zakończeniu zlecenia. Jeśli
użytkownik prześle zlecenie z identyfikatorem transakcji, OSLC sprawdza, czy w bazie
danych istnieje transakcja. Jeśli transakcja istnieje, zlecenie w OSLC nie zostaje
uruchomione. Zwracany jest błąd, który wskazuje, że zlecenie nie zostało zakończone z
powodu istnienia identyfikatora transakcji. Poniżej przedstawiono przykładowy nagłówek z
określonym identyfikatorem transakcji:
Accept: application/rdf-xml
transactionid: 6001
Content-Type: application/json;charset=utf-8
Jeśli zlecenie zostanie przetworzone pomyślnie, to klient OSLC otrzyma następującą
odpowiedź:
201 Created
Location: http://yourserver/oslc/so/WorkTask/10269
ETag: 1376596202470
W przypadku przesłania działania musi ono być prawidłowe w kontekście bieżącego stanu
rekordu. Przykładowo: jeśli bieżącym stanem rekordu jest Projekt, działanie zapisu jest często
prawidłowe. Działanie jest wywoływane po utworzeniu rekordu.
Na stronie wyników zapytania (oslc/spq) jeśli parametr oslc.select zawiera symbol
wieloznaczny(*), lub na stronie szczegółów zapytania (oslc/os), jeśli żaden parametr
oslc.properties nie jest dostarczony, wyniki obejmują wszystkie działania, które można
wykonać w przypadku każdego pobranego rekordu. Działanie jest przedstawione w postaci
"tririga:action":["action1","action2",...].
Zlecenia OSLC mogą zakończyć się niepowodzeniem w wielu powodów, np. z powodu
naruszeń biznesowych, uwierzytelnienia lub autoryzacji. Przykładowo: klient OSLC może
otrzymać błąd 400 Bad Request wraz z treścią HTTP zawierającą szczegóły dot. tego błędu.
Tworzenie rekordów zależnych od rekordów głównych
Istnieje możliwość tworzenia zasobów zależnych powiązanych z rekordami głównymi.
O tym zadaniu
Można dodać powiązane rekordy zależne do rekordu głównego. Rodzaj powiązania zależy od
zasobu głównego (nadrzędnego).
Przykład: Tworzenie zamówienia z dwoma wierszami.
Następująca metoda tworzy zasób reprezentujący zamówienie z dwoma zasobami
reprezentujący wiersze. Zasób nadrzędny nosi nazwę HasPOLineItem.
18
© Copyright IBM Corp. 2014
{
"spi:action":"Create Draft (triCreateDraft)",
"spi:triNameTX":"oslcPO",
"trirldr:HasPOLineItem":
[
{
"spi:action":"Create (triCreate)",
"spi:triNameTX":"POLineItem1"
},
{
"spi:action":"Create (triCreate)",
"spi:triNameTX":"POLineItem2"
}
]
}
Jeśli zlecenie zostanie przetworzone pomyślnie, to klient OSLC otrzyma następującą
odpowiedź:
201 Created
Location: http://yourserver/oslc/so/PO/10269
ETag: 1376596202470
Aktualizacja zasobów OSLC
Za pomocą metody HTTP PUT można zastąpić zasób OSLC, a metoda HTTP POST z
zastąpieniem PATCH pozwala na częściowe zaktualizowanie zasobu OSLC.
Metoda HTTP PUT w pełni zastępuje dane w zasobie za pomocą właściwości w zleceniu.
Metoda HTTP POST z parametrem x-method-override PATCH w żądaniu treści zastępuje
lokalną właściwość zasobu.
Metoda HTTP POST z parametrem x-method-override PATCH i PATCHTYPE określonym
jako MERGE wyszukuje i dopasowuje elementy zasobu lokalnego ze zlecenia elementami na
serwerze. W zależności, czy dopasowanie zostało znalezione, elementy zasobu lokalnego są
aktualizowane lub wstawiane. Element lokalny nigdy nie jest usuwany z właściwości zasobu
lokalnego.
Przy wysyłaniu żądania aktualizacji w nagłówku żądania HTTP można zawrzeć identyfikator
transakcji. Identyfikator transakcji musi być unikalny w obrębie wszystkich aplikacji klienta.
OSLC zapisuje status identyfikatora transakcji w bazie danych po zakończeniu zlecenia. Jeśli
użytkownik prześle zlecenie z identyfikatorem transakcji, OSLC sprawdza, czy w bazie
danych istnieje transakcja. Jeśli transakcja istnieje, zlecenie w OSLC nie zostaje
uruchomione. Zwracany jest błąd, który wskazuje, że zlecenie nie zostało zakończone z
powodu istnienia identyfikatora transakcji. Poniżej przedstawiono przykładowy nagłówek z
określonym identyfikatorem transakcji:
Accept: application/rdf-xml
transactionid: 6001
Content-Type: application/json;charset=utf-8
Metoda HTTP PUT
Operacja HTTP PUT służy do pełnego zastępowania zasobu OSLC. Metody PUT powoduje
zaktualizowanie właściwości literałów i zasobów lokalnych oraz usuwa wszelkie właściwości
zasobów lokalnych, które nie są uwzględnione w zleceniu.
Podczas korzystania z metody PUT w celu zastępowania zasobów OSLCobowiązują
następujące reguły:
v Wszystkie właściwości literałów określone w dokumencie zlecenia podlegają aktualizacji.
Wszystkie właściwości literałów nieokreślone jako części zlecenia nie są uwzględniane
Rozdział 3. Praca z zasobami OSLC
19
bezpośrednio w tej operacji. Jednak mogą one zostać uwzględnione niejawnie przez logikę
biznesową dołączoną do zasobu. Ta reguła działa analogicznie do użycia metody PATCH
w celu wykonania aktualizacji zasobu.
v All local resource properties are replaced by corresponding property values from the
request. Jeśli właściwość zasobu nie jest uwzględniona w zleceniu, odpowiedni zasób jest
usuwany. Jeżeli właściwość zasobu jest uwzględniona, jego wartość zastępuje wartość na
serwerze.
v Zasobów referencyjnych nie można zaktualizować jawnie. Można jednak zaktualizować
właściwości odnoszące się do zasobów i będą one zgodne z modelem aktualizacji
właściwości literałów. Ta reguła działa analogicznie do użycia metody PATCH w celu
wykonania aktualizacji zasobu.
W poniższych przykładach zasób zadania roboczego zawiera jedną właściwość literału
taskname oraz jedną właściwość zasobu parts. Właściwość parts wskazuje części zasobu
lokalnego i jest powiązana z dwoma rekordami części. Jeśli zlecenie PUT zawiera właściwość
taskname bez właściwości parts, nazwa zadania jest aktualizowana, a dane części są
usuwane.
Przykład: aktualizacja właściwości literału
Poniższa metoda zapewnia aktualizowanie właściwości literału taskname:
PUT http://yourserver/oslc/so/WorkTask/123
{
"dcterms:taskname": "Check-out Leaking – Modified for Test"
}
Jeśli zlecenie zostanie przetworzone pomyślnie, to klient OSLC otrzyma następującą
odpowiedź:
204 No Content
ETag: 1376596202470
Nazwa zadania zostanie zmieniona na Zwróć przecieki – modyfikacje dla testów. Dane
parts nie zostały uwzględnione w metodzie, więc rekordy części są usuwane.
Przykład: aktualizacja właściwości zasobu lokalnego
Poniższa metoda zapewnia aktualizowanie właściwości zasobu lokalnego parts:
PUT http://yourserver/oslc/so/WorkTask/123
{
“spi:parts”: [
{
“spi:partsid": "0000000067",
"spi:quantity": 5
}
]
}
Jeśli zlecenie zostanie przetworzone pomyślnie, to klient OSLC otrzyma następującą
odpowiedź:
204 No Content
ETag: 1376596202470
Wykonywane jest wyszukiwanie rekordów części o ID 0000000067. Jeśli taki rekord części
istnieje, zostanie on zaktualizowany. Jeśli nie, nowy rekord części zostanie utworzony.
Wszystkie pozostałe dane części dla tego zasobu zadania roboczego są usuwane. Właściwość
20
© Copyright IBM Corp. 2014
taskname nie została uwzględniona w metodzie, więc nazwa zadania nie jest częścią
zlecenia, a wartość nie ulega zmianie.
Metoda HTTP PATCH
Metoda PATCH służy do częściowego aktualizowania zasobu OSLC. Metoda PATCH nie
usuwa żadnych właściwości zasobów lokalnych nieuwzględnionych w zleceniu. Zlecenie
PATCH jest przesyłane przez metodę POST z nagłówkiem x-method-override, dla którego
określono opcję PATCH.
Podczas korzystania z metody PATCH w celu zastępowania zasobów OSLCobowiązują
następujące reguły:
v Wszystkie właściwości literałów określone w dokumencie zlecenia podlegają aktualizacji.
Wszystkie właściwości literałów nieokreślone jako części zlecenia nie są uwzględniane
bezpośrednio w tej operacji. Jednak mogą one zostać uwzględnione niejawnie przez logikę
biznesową dołączoną do zasobu. Ta reguła działa analogicznie do użycia metody PUT w
celu zastąpienia zasobu.
v Wszystkie właściwości zasobów lokalnych są aktualizowane lub zastępowane przez
odpowiednie wartości właściwości ze zlecenia. Jeśli właściwość zasobu nie jest
uwzględniona w zleceniu, odpowiedni zasób lokalny nie podlega jawnym zmianom. Jeżeli
właściwość zasobu jest uwzględniona, jego wartość zastępuje lub aktualizuje wartość na
serwerze. Inne właściwości zasobów są usuwane przez metodę PATCH, a nie przez
MERGE.
v Zasobów referencyjnych nie można zaktualizować jawnie. Można jednak zaktualizować
właściwości odnoszące się do zasobów i będą one zgodne z modelem aktualizacji
właściwości literałów. Ta reguła działa analogicznie do użycia metody PUT w celu
zastąpienia zasobu.
Przykład: aktualizacja właściwości literału
Poniższa metoda zapewnia aktualizowanie właściwości nazwy zadania w przypadku zadania
roboczego:
POST http://yourserver/oslc/so/WorkTask/123
x-method-override: PATCH
{
"dcterms:taskname": "Check-out Leaking – Modified for Test"
}
W przeciwieństwie do metody PUT ta metoda PATCH nie aktualizuje innych właściwości
zadania roboczego.
Przykład: aktualizacja właściwości zasobu lokalnego
Poniższa metoda zapewnia aktualizowanie określonych rekordów części i usuwanie innych
danych:
POST http://yourserver/oslc/so/WorkTask/123
x-method-override: PATCH
{
"dcterms:taskname": "Check-out Leaking – Modified for Test",
“spi:parts”: [
{
“spi:partsid": "0000000067",
"spi:quantity": 5
}
]
}
Rozdział 3. Praca z zasobami OSLC
21
Ta metoda działa podobnie do metody PUT. W systemie wykonywane jest wyszukiwanie
rekordu części o ID 0000000067. Jeśli taki rekord części istnieje, zostanie on
zaktualizowany. Jeśli nie, nowy rekord części zostanie utworzony. Wszystkie pozostałe
rekordy części dla tego zasobu zadania roboczego są usuwane.
Przykład: aktualizacja i scalanie właściwości zasobu lokalnego
Poniższa metoda zapewnia aktualizowanie zasobu, w przypadku którego dla nagłówka
PATCHTYPE wybrano opcję MERGE:
POST http://yourserver/oslc/so/WorkTask/123
x-method-override: PATCH
PATCHTYPE: MERGE
{
"dcterms:taskname": "Check-out Leaking – Modified for Test",
“spi:parts”: [
{
“spi:partsid": "0000000067",
"spi:quantity": 5
}
]
}
Wykonywane jest wyszukiwanie rekordów części o ID 0000000067. Jeśli taki rekord części
istnieje, zostanie on zaktualizowany. Jeśli nie, nowy rekord części zostanie utworzony. Dla
nagłówka PATCHTYPE określono opcję MERGE, więc inne rekordy części dla tego zasobu
zadania roboczego nie ulegają zmianie.
Przykład: wykonywanie aktualizacji warunkowej
Poniższa metoda zapewnia aktualizowanie zasobu, jeśli wartością znacznika ETag jest
1376596202470:
POST http://yourserver/oslc/so/WorkTask/123
x-method-override: PATCH
if-match: 1376596202470
Jeśli wartością znacznika ETag jest 1376596202470, zasób zadania roboczego jest
aktualizowany i przesyłany jest komunikat HTTP 204.
Jeśli wartością znacznika ETag nie jest 1376596202470, odpowiedzią serwera jest HTTP
412 Precondition failed. Ten komunikat oznacza, że zasób został zaktualizowany przez inny
proces i klient zlecający dysponuje starą kopią zasobów. Klient musi wykonać metodę GET w
zasobie 123 w celu uzyskania nowej kopii zasobu.
W poniższej tabeli przedstawiono zestawienie wyników metod aktualizacji w przypadku
różnych typów zasobów.
22
Metoda
Właściwości literałów
Zasoby lokalne
Zasoby referencyjne
PUT
W przypadku
pominięcia właściwości
dana właściwość nie
ulega zmianie.
W przypadku
pominięcia właściwości
dana właściwość jest
usuwana.
W przypadku
pominięcia właściwości
dana właściwość nie
ulega zmianie.
PATCH
W przypadku
pominięcia właściwości
dana właściwość nie
ulega zmianie.
W przypadku
pominięcia właściwości
dana właściwość nie
ulega zmianie.
W przypadku
pominięcia właściwości
dana właściwość nie
ulega zmianie.
© Copyright IBM Corp. 2014
W poniższej tabeli przedstawiono zestawienie wyników metod aktualizacji w przypadku
różnych typów zasobów.
Metoda
Właściwości literałów
Zasoby lokalne
Zasoby referencyjne
MERGE
W przypadku
pominięcia właściwości
dana właściwość nie
ulega zmianie.
W przypadku
pominięcia właściwości
dana właściwość nie
ulega zmianie.
W przypadku
pominięcia właściwości
dana właściwość nie
ulega zmianie.
Aktualizowanie dowiązanych zasobów
Usuwanie zasobów OSLC
Usunięcie zasobu OSLC wymaga użycia metody HTTP DELETE.
Wprowadź ciąg HTTP DELETE w identyfikatorze URI zasobu. Jeśli obiekt biznesowy
zasobu zawiera zmianę stanu z bieżącego stanu zasobu na stan pusty, to stan obiektu zostaje
zmieniony na pusty.
Jeśli obiekt biznesowy zasobu nie zawiera zmiany stanu z bieżącego stanu zasobu na stan
pusty, to stan obiektu nie ulegnie zmianie. Można zmodyfikować obiekt biznesowy, aby
uwzględniał on zmianę stanu z bieżącego na pusty. Można również zaktualizować rekord za
pomocą metody HTTP PUT lub HTTP PATCH, zamiast HTTP DELETE i przekazać nazwę
czynności w celu uruchomienia operacji usuwania.
Jeśli zasób zawiera rekordy podrzędne, są one usuwane podczas usuwania zasobu. Jeśli zasób
zawiera rekordy powiązane, powiązanie jest usuwane podczas usuwania zasobu, ale
powiązane rekordy nie ulegają zmianie
Praca z załącznikami i danymi binarnymi
Klienty OSLC mogą pobierać, tworzyć i modyfikować załączniki i dane binarne za
pośrednictwem interfejsu API OSLC.
Przetwarzanie załączników OSLC
Przetwarzanie załączników w programie OSLC obejmuje przetwarzanie właściwego
załącznika, będącego dokumentem nieustrukturyzowanym, oraz przetwarzanie metadanych
powiązanych z tym dokumentem.
Metadane opisane są w pliku RDF zasobu AttachmentDescriptor. Zasób
AttachmentDescriptor są zawsze powiązane z załącznikami w relacji 1:1.
Tworzenie załączników OSLC
Załączniki tworzy się, korzystając z metody HTTP POST z treścią binarną. Nie należy
używać wieloczęściowych żądań HTTP POST.
Następujący przykład przedstawia żądanie HTTP tworzące załącznik służący do wyświetlania
obrazu niesprawnej części:
POST http://twoj_serwer/oslc/os/oslcwodetail/_abcd123/attachments
Slug: brokenpart.jpeg
Content-Type: image/jpeg
Content-Length: 18124
Rozdział 3. Praca z zasobami OSLC
23
x-document-description: A broken part
x-document-meta: Attachment
[binary content]
Następujący przykład przedstawia odpowiedź na żądanie:
HTTP/1.1 201 CREATED
Location: http://yourserver/oslc/os/oslcwodetail/_abcd123/attachments/1
Link: <http://yourserver/oslc/os/oslcwodetail/_abcd123/attachments/meta/1>;
rel="describes"
Content-Length: 0
Nagłówek Slug zawiera nazwę pliku. Można użyć nagłówka x-document-description w
charakterze opisu załącznika. Opis ten jest odwzorowywany na właściwość
dcterms:description deskryptora nagłówka. Można użyć nagłówka x-document-meta do
wskazania nazwy folderu, w którym załącznik ma być przechowywany.
Modyfikowanie załączników OSLC
Załączniki OSLC można modyfikować, używając metody HTTP PUT z treścią binarną. Nie
należy używać wieloczęściowych żądań HTTP PUT.
Następujący przykład przedstawia żądanie HTTP modyfikujące załącznik:
PUT http://twoj_serwer/oslc/os/oslcwodetail/_abcd123/attachments/1
Slug: brokenpart2.jpeg
Content-Type: image/jpeg
Content-Length: 18124
x-document-description: A broken part
x-document-meta: Attachment
[binary content]
Następujący przykład przedstawia odpowiedź na żądanie:
HTTP/1.1 204
Content-Length: 0
Aby zmodyfikować wyłącznie opis załącznika, można użyć żądania PATCH względem
identyfikator URI meta, tak jak przedstawiono to w następującym przykładzie:
PATCH http://yourserver/oslc/os/oslcwodetail/_abcd123/attachments/meta/1
Content-Type: application/json
{
“dcterms:description”: “Broken pipe”
}
Wybieranie załączników OSLC
Załączniki zwykle są zasobami powiązanymi z zasobami ustrukturyzowanymi, takimi jak
zlecenia pracy lub zasoby fizyczne. Załączniki mogą być także powiązane z zasobami
podrzędnymi. Podczas pobierania zasobu ustrukturyzowanego domyślnie udostępniany jest
tylko odsyłacz do powiązanej kolekcji załączników. Jeśli konsument oczekuje, że dane
załączników będą włączone bezpośrednio do nadrzędnego zasobu ustrukturyzowanego,
należy użyć następującego formatu zapytania:
/oslc/os/oslcwodetail?oslc.select=res1,res2,spi:attachments{*}
24
© Copyright IBM Corp. 2014
Usuwanie załączników OSLC
Do usuwania załączników OSLC służy żądanie:
DELETE <uri załącznika>
Przetwarzanie danych binarnych OSLC
Klienty OSLC mogą pytać o dane binarne i modyfikować dane binarne, korzystając z
interfejsu API OSLC.
OSLC obsługuje następujące typy danych binarnych:
v Dane binarne oprogramowania TRIRIGA przechowywane są w tabeli dm_content. Każdy
element danych ma unikalny identyfikator treści, nazwę pliku i typ MIME określający
sposób wyświetlania danych. Pole binary zawiera identyfikator treści.
v Dane graficzne zapisane są jako pliki obrazów. Pole image zawiera część ścieżki do pliku
obrazu.
Zapytania o dane binarne
Gdy dane binarne są odbierane za pośrednictwem zapytania OSLC lub strony szczegółów
rekordu, wartości prezentowane są w formie identyfikatorów URI. Poniżej przedstawiono
przykładowy identyfikator URI z informacją o danych binarnych:
http://twoj_serwer/oslc/so/supApp/168867/tririga:supBinary
Klient może wykorzystać identyfikator URI do pobrania właściwych danych. W odpowiedzi
HTTP na identyfikator URI treść zawiera zawartość odczytaną z pola content tabeli
dm_content. Nagłówek Content-Type zawiera typ MIME danych binarnych.
Podobnie, gdy dane graficzne są odbierane za pośrednictwem zapytania OSLC lub strony
szczegółów rekordu, wartości prezentowane są w formie identyfikatorów URI. Poniżej
przedstawiono przykładowy identyfikator URI z informacją o danych graficznych
http://twoj_serwer/oslc/so/supApp/168867/tririga:supImage
Klient może wykorzystać identyfikator URI do pobrania właściwego obrazu. W odpowiedzi
HTTP na identyfikator URI treść zawiera obraz odczytany z pliku obrazu. Nagłówek
Content-Type zawiera informację o typie MIME złożoną z łańcucha image/ i rozszerzenia
nazwy pliku obrazu.
Modyfikowanie danych binarnych
Do modyfikowania każdej właściwości binarnej lub graficznej używa się osobnego żądania
HTTP. W Następujący przykład przedstawia format żądania aktualizacji danych binarnych
lub graficznych:
http://localhost:8001/oslc/so/soID/property
W tym przykładzie soID jest identyfikatorem inteligentnego obiektu, do którego należy
właściwość binarna lub graficzna. Właściwość identyfikuje właściwość binarną lub graficzną,
której przypisywana jest wartość. Ma zwykły format właściwości przedrostek:nazwaSekcjinazwaWłaściwości, przy czym nazwaSekcji jest opcjonalna.
Stosowana jest metoda HTTP PUT, a pole content-type nagłówka HTTP zawiera typ MIME
danych, zgodnie z następującym schematem:
v W przypadku właściwości binarnych typ MIME przekazany w nagłówku content-type jest
przyjmowany jako typ MIME danych. Można przekazać nazwę pliku za pośrednictwem
opcjonalnego nagłówka Slug.
Rozdział 3. Praca z zasobami OSLC
25
v W przypadku właściwości graficznych pole content-type musi zawierać typ image. Typ
(type) jest formatem obrazu, takim jak PNG lub JPG. Nazwa pliku jest generowana, a typ
obrazu używany jest jako rozszerzenie nazwy pliku.
26
© Copyright IBM Corp. 2014
Rozdział 4. Zarządzanie zasobami OSLC
Uwierzytelnianie i obsługa uwierzytelniania dla usług OSLC są zapewniane za pomocą
zabezpieczeń IBM TRIRIGA. Za pomocą rejestrowania OSLC można debugować i szacować
wydajność.
Zabezpieczenia OSLC
Uwierzytelnianie i obsługa uwierzytelniania dla usług OSLC są zapewniane za pomocą
zabezpieczeń IBM TRIRIGA.
Uwierzytelnianie rodzime
Zlecenie konsumenta może zapewnić wartości user:password kodowane metodą base64 i
znajdujące się we właściwości nagłówka OSLC HTTP.
Jawne logowanie i wylogowywanie
Jeśli aplikacja konsumencka wymaga uruchamiania poleceń jawnego logowania, należy użyć
następującego zlecenia:
GET http://yourserver/oslc/login?USERNAME=username&PASSWORD=password
Jeśli aplikacja konsumencka wymaga uruchamiania poleceń jawnego wylogowywania, należy
użyć następującego zlecenia:
GET http://yourserver/oslc/logout
Uwierzytelnianie
Sterowanie uwierzytelnianiem odbywa się na poziomie obiektu biznesowego zasobu.
Przetwarzanie zabezpieczeń danych zasobu jest wtedy oparte na konfiguracji zabezpieczeń
aplikacji i grupie użytkownika, który wykonał zlecenie. Podczas przetwarzania zasobów
OSLC wszystkie atrybuty obiektów skonfigurowane jako ukryte za pośrednictwem
zabezpieczeń nie są uwzględniane w odpowiedzi na zlecenie OSLC.
Zmiany haseł
Aby użytkownik-klient mógł zmienić hasło, należy utworzyć zasób MyProfile OSLC oparty
na obiekcie biznesowym IBM TRIRIGA Mój profil.
Wykonanie zmiany hasła wymaga utworzenia zasobu MyProfile ze zdefiniowaną co najmniej
właściwością Password. Można również zdefiniować inne właściwości pozwalające na
obsługę innych zmian w profilu.
Zasób MyProfile w OSLC jest dostępny z poziomu identyfikatora URI:
http://yourserver/oslc/so/MyProfile/userId
Ten identyfikator URI zawsze zwraca profil bieżącego użytkownika bez względu na
wprowadzony ID użytkownika, ponieważ użytkownik nie ma możliwości wyświetlenia profili
innych użytkowników. Można określić funkcje zapytania dot. zasobu MyProfile, ale wyniki
zapytania nie zwracają więcej informacji niż jest dostępne w profilu bieżącego użytkownika.
Nie można zdefiniować fabryk tworzenia dla zasobu MyProfile.
© Copyright IBM Corp. 2014, 2014
27
Nie można tworzyć ani usuwać obiektów MyProfile za pomocą OSLC z poziomu zasobu
MyProfile.
Zmiany w profilu można wprowadzać za pomocą metody PATCH oraz identyfikatora URI.
Zmiana hasła wymaga uwzględnienia poniższego łańcucha JSON w zleceniu:
{..."spi:Password":"password",...}
Hasło jest zapisywane tekstowo - bez szyfrowania; szyfrowanie jest wykonywane
wewnętrznie.
Metody HTTP POST wraz z poniższymi nagłówkami można użyć w zleceniu zmiany hasła:
- x-method-override: PATCH
- PATCHTYPE: CHPWD
ID zasobu reprezentującego Mój profil określono w pliku tririgaweb.properties w
następujący sposób:
OSLC_MYPROFILE_RESOURCE=MyProfile
Nieaktualne hasła
Jeśli okres aktualności hasła ulegnie zakończeniu, w aplikacji konsumenckiej nie można
uzyskać dostępu do żadnych zasobów OSLC poza identyfikatorem URI umożliwiającym
zmianę hasła lub wylogowanie.
Zwracany jest komunikat o błędzie HTTP 403 Forbidden. Jeśli właściwość systemowa
OSLC_MYPROFILE_RESOURCE jest zdefiniowana, zwracany komunikat o błędzie JSON
zawiera identyfikator URI kierujący aplikację konsumencką do URI zawierającego zlecenie
zmiany hasła.
Reguły dezaktualizacji hasła są określone w rozwiązaniu TRIRIGA w opcjach
NarzędziaSystem KonfiguracjaSystemKonfiguracja hasła.
Przykład: nieaktualne hasło - reakcja
{
oslc:Error:
{
spi:user:
{
rdf:resource: "http://yourserver/oslc/so/MyProfile/13417792"
}
oslc:message: "Password Expired"
oslc:statusCode: 403
oslc:extendedError: "OSLC0054"
}
}
Rejestrowanie OSLC
W dziennikach można rejestrować informacje, które mogą być przydatne podczas
debugowania lub szacowania wydajności.
Zarządzanie rejestrowaniem odbywa się za pomocą Konsoli administratora IBM TRIRIGA.
Po zalogowaniu należy wybrać pozycję Rejestrowanie platformy > OSLC. Aby wyłączyć
rejestrowanie, należy odznaczyć pole wyboru OSLC. Więcej informacji zawiera
dokumentacja IBM TRIRIGA Application Platform 3 Administrator Console User Guide.
28
© Copyright IBM Corp. 2014
Rozdział 5. Rozwiązywanie problemów z OSLC
Poniższe wskazówki mogą być pomocne podczas rozwiązywania problemów w charakterze
konsumenta OSLC IBM TRIRIGA.
Tabela 1. Wskazówki - rozwiązywanie problemów dot. OSLC.
Zastrzeżenie
Środek naprawczy
Kształt zasobu nie działa po zmianie nazwy
raportu IBM TRIRIGA
W przypadku zmiany nazwy raportu IBM
TRIRIGA zdefiniowanego w kształcie zasobu
kształt zasobu ulega uszkodzeniu, ponieważ
zdefiniowany raport już nie istnieje. Komunikat o
błędzie zostanie wyświetlony podczas
wyświetlania podglądu funkcji zapytania lub
użycia fabryki tworzenia. Zazwyczaj zaleca się
zaktualizowanie kształtu zasobu w przypadku
zmiany nazwy raportu. Ponadto jeśli zmianie
ulega moduł lub obiekt biznesowy w raporcie
IBM TRIRIGA, daną wartość również należy
zaktualizować w kształcie zasobu. Karta Miejsce
stosowania w raporcie umożliwia określenie, który
kształt zasobu korzysta z raportu.
Wymagane są dzienniki w celu debugowania
wdrożenia OSLC
Zarządzanie rejestrowaniem odbywa się za
pomocą Konsoli administratora IBM TRIRIGA.
Po zalogowaniu należy wybrać pozycję
Rejestrowanie platformy > OSLC. Aby
wyłączyć rejestrowanie, należy odznaczyć pole
wyboru OSLC.
Więcej informacji zawiera dokumentacja IBM
TRIRIGA Application Platform 3 Administrator
Console User Guide.
Stos wywołań występuje w przypadku olsc.where
Jeśli w parametrze oslc.where zostaną
zastosowane pojedyncze cudzysłowy, utworzony
zostanie nieprawidłowy adres URL. Wyjątek jest
generowany przez filtr Apache; występuje on,
zanim parametr oslc.where osiągnie servlet OSLC.
Nie podlega to sterowaniu z zastosowaniem IBM
TRIRIGA.
Objaśnienia kodów HTTP specyfikacji OSLC
W rozwiązaniu OSLC stosowane są standardowe kody odpowiedzi HTTP jako komunikaty o
błędach. Przykładowo: odpowiedź HTTP 404 jest standardowo zwracana, gdy strona WWW
nie zostanie znaleziona, a w rozwiązaniu OSLC kod odpowiedzi 404 jest zwracany, gdy
znalezienie zasobu nie jest możliwe.
Niektóre istniejące kody błędów są domyślnie odwzorowywane na kody HTTP domyślnie,
ale można również odwzorować dodatkowe kody.
Poniższe kody odpowiedzi HTTP są wdrożone w rozwiązaniu OSLC:
Kod HTTP
Opis OSLC
200
Powodzenie
© Copyright IBM Corp. 2014, 2014
29
Kod HTTP
Opis OSLC
201
Powodzenie. Odpowiedź zawiera łącze.
204
Pomyślnie zaktualizowano zasób. Brak obiektu odpowiedzi.
400
Błąd podczas obsługi zlecenia. Przyczyną tego błędu może być zawartość
zlecenia lub URI. Przykładowo: po stronie serwera mógł wystąpić błąd kontroli
poprawności logiki biznesowej.
401
Błąd uwierzytelnienia.
403
Zabroniony. Hasło użytkownika wygasło.
404
Nie można znaleźć zasobu lub wprowadzono nieprawidłowy typ zasobu.
405
Metody HTTP nie można użyć do zasobu.
406
Wymagana reprezentacja nie jest obsługiwana.
410
Stabilna strona zasobów jest nieaktualna.
412
Zasób po stronie klienta jest przestarzały i należy go odświeżyć z poziomu
serwera. Warunkowa aktualizacja nie powiodła się, ponieważ zasób został
zaktualizowany przez innego użytkownika lub proces.
500
Wszystkie pozostałe błędy serwera.
W komunikatach są obsługiwane języki obsługiwane przez IBM TRIRIGA.
30
© Copyright IBM Corp. 2014
Uwagi
Niniejsza publikacja została przygotowana z myślą o produktach i usługach oferowanych w
Stanach Zjednoczonych.
IBM może nie oferować w innych krajach produktów, usług lub opcji, omawianych w tej
publikacji. Informacje o produktach i usługach dostępnych w danym kraju można uzyskać od
lokalnego przedstawiciela IBM. Odwołanie do produktu, programu lub usługi IBM nie
oznacza, że można użyć wyłącznie tego produktu, programu lub usługi. Zamiast nich można
zastosować ich odpowiednik funkcjonalny pod warunkiem, że nie narusza to praw własności
intelektualnej IBM. Jednakże cała odpowiedzialność za ocenę przydatności i sprawdzenie
działania produktu, programu lub usługi pochodzących od producenta innego niż IBM
spoczywa na użytkowniku.
IBM może posiadać patenty lub złożone wnioski patentowe na towary i usługi, o których
mowa w niniejszej publikacji. Używanie tego dokumentu nie daje żadnych praw do tych
patentów. Wnioski o przyznanie licencji można zgłaszać na piśmie pod adresem:
IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
U.S.A.
Zapytania dotyczące zestawów znaków dwubajtowych (DBCS) należy kierować do lokalnych
działów własności intelektualnej IBM (IBM Intellectual Property Department) lub wysłać je
na piśmie na adres:
Intellectual Property Licensing
Legal and Intellectual Property Law
IBM Japan Ltd.
19-21, Nihonbashi-Hakozakicho, Chuo-ku
Tokyo 103-8510, Japonia
Poniższy akapit nie obowiązuje w Wielkiej Brytanii, a także w innych krajach, w których jego
treść pozostaje w sprzeczności z przepisami prawa miejscowego: FIRMA
INTERNATIONAL BUSINESS MACHINES CORPORATION DOSTARCZA TĘ
PUBLIKACJĘ W TAKIM STANIE, W JAKIM SIĘ ZNAJDUJE, "AS IS", BEZ
UDZIELANIA JAKICHKOLWIEK GWARANCJI (W TYM TAKŻE RĘKOJMI),
WYRAŹNYCH LUB DOMNIEMANYCH, A W SZCZEGÓLNOŚCI DOMNIEMANYCH
GWARANCJI PRZYDATNOŚCI HANDLOWEJ ORAZ PRZYDATNOŚCI DO
OKREŚLONEGO CELU LUB GWARANCJI, ŻE PUBLIKACJA NIE NARUSZA PRAW
OSÓB TRZECICH. Ustawodawstwa niektórych krajów nie dopuszczają zastrzeżeń
dotyczących gwarancji wyraźnych lub domniemanych w odniesieniu do pewnych transakcji;
w takiej sytuacji powyższe zdanie nie ma zastosowania.
Informacje zawarte w niniejszej publikacji mogą zawierać nieścisłości techniczne lub błędy
drukarskie. Informacje te są okresowo aktualizowane, a zmiany te zostaną ujęte w kolejnych
wydaniach tej publikacji. IBM zastrzega sobie prawo do wprowadzania ulepszeń i/lub zmian
w produktach i/lub programach opisanych w tej publikacji w dowolnym czasie, bez
wcześniejszego powiadomienia.
© Copyright IBM Corp. 2014, 2014
31
Wszelkie wzmianki w tej publikacji na temat stron internetowych innych przedsiębiorstw
zostały wprowadzone wyłącznie dla wygody użytkowników i w żadnym wypadku nie
stanowią zachęty do ich odwiedzania. Materiały dostępne na tych stronach nie są częścią
materiałów opracowanych dla tego produktu IBM, a użytkownik korzysta z nich na własną
odpowiedzialność.
IBM ma prawo do używania i rozpowszechniania informacji przysłanych przez użytkownika
w dowolny sposób, jaki uzna za właściwy, bez żadnych zobowiązań wobec ich autora.
Licencjobiorcy tego programu, którzy chcieliby uzyskać informacje na temat programu w
celu: (i) wdrożenia wymiany informacji między niezależnie utworzonymi programami i
innymi programami (łącznie z tym opisywanym) oraz (ii) wspólnego wykorzystywania
wymienianych informacji, powinni skontaktować się z:
IBM Corporation
2Z4A/101
11400 Burnet Road
Austin, TX 78758 U.S.A.
Informacje takie mogą być udostępnione, o ile spełnione zostaną odpowiednie warunki, w
tym, w niektórych przypadkach, zostanie uiszczona odpowiednia opłata.
Licencjonowany program opisany w niniejszej publikacji oraz wszystkie inne licencjonowane
materiały dostępne dla tego programu są dostarczane przez IBM na warunkach określonych w
Umowie IBM z Klientem, Międzynarodowej Umowie Licencyjnej IBM na Program lub w
innych podobnych umowach zawartych między IBM a użytkownikami.
Informacje dotyczące produktów innych przedsiębiorstw zostały uzyskane od dostawców tych
produktów, z opublikowanych przez nich zapowiedzi lub innych powszechnie dostępnych
źródeł. IBM nie testował tych produktów i nie może potwierdzić dokładności pomiarów
wydajności, kompatybilności ani żadnych innych danych związanych z produktami innymi
niż produkty IBM. Pytania dotyczące możliwości produktów innych przedsiębiorstw należy
kierować do dostawców tych produktów.
Publikacja ta zawiera przykładowe dane i raporty używane w codziennej działalności
biznesowej. W celu kompleksowego ich zilustrowania, podane przykłady zawierają nazwiska
osób prywatnych, nazwy przedsiębiorstw oraz nazwy produktów. Wszystkie te
nazwy/nazwiska są fikcyjne i jakiekolwiek podobieństwo do istniejących nazw/nazwisk i
adresów jest całkowicie przypadkowe.
LICENCJA NA PRAWA AUTORSKIE:
Niniejsza publikacja zawiera przykładowe aplikacje w kodzie źródłowym, ilustrujące techniki
programowania w różnych systemach operacyjnych. Użytkownik może kopiować,
modyfikować i rozpowszechniać te programy przykładowe w dowolnej formie bez uiszczania
opłat na rzecz IBM, w celu rozbudowy, użytkowania, handlowym lub w celu
rozpowszechniania aplikacji zgodnych z aplikacyjnym interfejsem programowym dla tego
systemu operacyjnego, dla którego napisane były programy przykładowe. Programy
przykładowe nie zostały gruntownie przetestowane. IBM nie może zatem gwarantować lub
sugerować niezawodności, użyteczności i funkcjonalności tych programów. Programy
przykładowe są dostarczane w stanie, w jakim się znajdują ("AS IS"), bez jakichkolwiek
gwarancji, w tym także rękojmi. IBM nie ponosi odpowiedzialności za jakiekolwiek szkody
wynikające z używania programów przykładowych.
32
© Copyright IBM Corp. 2014
Strategia ochrony prywatności
Produkty programowe IBM, w tym oprogramowanie udostępniane w postaci usług
(„Oprogramowanie”) może używać plików cookie lub innych rozwiązań technicznych do
zbierania informacji o sposobie korzystania z produktu w celu doskonalenia interakcji z
użytkownikiem, dopasowania interakcji do preferencji konkretnego użytkownika lub w
innych celach. W wielu przypadkach Oprogramowanie nie zbiera żadnych informacji
umożliwiających identyfikację tożsamości osób. W niektórym Oprogramowaniu dostępna jest
opcja umożliwiająca użytkownikowi zbieranie takich informacji. Jeśli Oprogramowanie
używa plików cookie do zbierania informacji umożliwiających identyfikację tożsamości, to
konkretne informacje o sposobie wykorzystania plików cookie przez to Oprogramowanie są
podane poniżej.
Niniejsze Oprogramowanie nie używa plików cookie ani innych rozwiązań technicznych do
zbierania informacji umożliwiających identyfikację tożsamości osób.
Jeśli konfiguracje, w jakich to Oprogramowanie zostało wdrożone, umożliwiają klientowi
zbieranie informacji umożliwiających identyfikację tożsamości użytkowników końcowych za
pośrednictwem plików cookie i innych rozwiązań technicznych, to klient powinien zwrócić
się we własnym zakresie o poradę prawną dotyczącą obowiązujących go przepisów
dotyczących zbierania takich danych, w szczególności obowiązków informacyjnych i
konieczności uzyskania zgody użytkowników.
Więcej informacji o stosowaniu różnych rozwiązań technicznych, w tym plików cookie, do
wspomnianych wyżej celów zawiera strategia IBM w zakresie ochrony prywatności dostępna
pod adresem http://www.ibm.com/privacy oraz oświadczenie IBM dotyczące ochrony
prywatności w Internecie, dostępne pod adresem http://www.ibm.com/privacy/details, a w
szczególności jego sekcja zatytułowana „Pliki cookie, sygnalizatory WWW i inne
rozwiązania techniczne”, jak również oświadczenie IBM dotyczące prywatności w
oprogramowaniu, w tym oprogramowaniu udostępnianym w postaci usług, dostępne pod
adresem http://www.ibm.com/software/info/product-privacy/.
Znaki towarowe
IBM, logo IBM i ibm.com są znakami towarowymi lub zastrzeżonymi znakami towarowymi
International Business Machines Corp., zarejestrowanymi w wielu systemach prawnych na
całym świecie. Nazwy innych produktów i usług mogą być znakami towarowymi IBM lub
innych firm. Aktualna lista znaków towarowych IBM jest dostępna w serwisie WWW, w
sekcji “Copyright and trademark information” (Informacje o prawach autorskich i znakach
towarowych), pod adresem www.ibm.com/legal/copytrade.shtml.
Java™ oraz wszystkie znaki towarowe i logo dotyczące języka Java są znakami towarowymi
lub zastrzeżonymi znakami towarowymi Oracle i/lub przedsiębiorstw afiliowanych.
Linux jest znakiem towarowym Linusa Torvaldsa w Stanach Zjednoczonych i/lub innych
krajach.
Microsoft, Windows, Windows NT i logo Windows są znakami towarowymi firmy Microsoft
Corporation w Stanach Zjednoczonych i/lub innych krajach.
UNIX jest zastrzeżonym znakiem towarowym The Open Group w Stanach Zjednoczonych i
innych krajach.
Nazwy innych produktów i usług mogą być znakami towarowymi IBM lub innych firm.
Uwagi
33
34
© Copyright IBM Corp. 2014
Drukowane w USA

Podobne dokumenty