IBM TRIRIGA Application Platform, wersja 3.5.1

Przykład: Eksportowanie danych w integracjach geokodowania Esri

Aby wyeksportować dane z bazy danych IBM® TRIRIGA na serwer Esri, można wybrać schemat HTTP POST dla danych i żądań wychodzących. Następnie można odwzorować parametry odpowiedzi z żądania HTTP do rekordów lokalizacji w celu zaktualizowania ich pozycji geograficznych.

Informacje podstawowe

Ichiro jest specjalistą ds. integracji w firmie ABC. Opracowuje integracje produktu IBM TRIRIGA dla klientów firmy ABC.

Ichiro opracowuje integrację wychodzącą HTTP POST za pomocą zewnętrznej usługi geokodowania Esri. Aby z użyciem usługi geokodowania Esri określić, które adresy będą geokodowane, żądanie HTTP musi zawierać określone parametry w łańcuchu zapytania. Odpowiedź jest zapewniana w formacie JSON. Następujący adres URL HTTP zapewnia usługi geokodowania Esri za pomocą interfejsu API REST:
http://geocode.arcgis.com/arcgis/rest/services
  /World/GeocodeServer/findAddressCandidates
Ichiro pamięta, że skoro długość i szerokość geograficzna w przypadku rekordów budynków jest przechowywana w bazie danych IBM TRIRIGA, adres URL HTTP musi również zawierać określone parametry w celu obsługi uwierzytelniania Esri. Aby odświeżyć swoją pamięć, odwiedza witrynę Uwierzytelnianie żądania do usługi World Geocoding Service (https://developers.arcgis.com/rest/geocode/api-reference/geocoding-authenticate-a-request.htm). Używa swojego ID klienta i hasła w celu wygenerowania unikatowego tokenu uwierzytelnienia Esri zawartego w łańcuchu zapytania żądania HTTP. Następujący adres URL HTTP zawiera wymagane parametry forStorage i token oraz wartości parametrów:
http://geocode.arcgis.com/arcgis/rest/services
  /World/GeocodeServer/findAddressCandidates?forStorage=true
  &token=Z43nqkyXY48Kx1iiPgCCZsh7Kf7ZxsKSH4xEO2Q8x34wiHU8wysAljsRzzYI51eg-
  zAr114CR0vgQ6fUt5a4eatD9FGejE4w8hTBY-f5vy5v1asxh_rXvLZsw6upiRPU

Krok 1: Zdefiniowanie schematu danych integracji

Ichiro definiuje rekord obiektu integracji, wprowadzając w polach następujące szczegółowe informacje:
Nazwa
Adres wg kodu geog.
Schemat
Http Post
Kierunek
W toku
Typ przesyłania
Łańcuch zapytania
Typ odpowiedzi
JSON
URL HTTP
http://geocode.arcgis.com/arcgis/rest/services
  /World/GeocodeServer/findAddressCandidates?forStorage=true
  &token=Z43nqkyXY48Kx1iiPgCCZsh7Kf7ZxsKSH4xEO2Q8x34wiHU8wysAljsRzzYI51eg-
  zAr114CR0vgQ6fUt5a4eatD9FGejE4w8hTBY-f5vy5v1asxh_rXvLZsw6upiRPU
Sekcja zapytania dot. zapytań wychodzących: Jest dynamiczne?
Tak

Krok 2: Definiowanie mapy danych

Ponieważ Ichiro wybrał zapytanie dynamiczne, definiuje mapę danych poprzez określenie modułu Location, obiekt biznesowy triBuilding, formularz triBuilding i pola. Wartości atrybutu pola External reprezentują nazwy parametrów, jakie są dodawane do łańcucha zapytania. Ponieważ atrybut pola Default nie jest używany, dane z pola są dynamicznie pobierane z rekordów lokalizacji produktu IBM TRIRIGA. Definiuje następujące pola, wprowadzając następujące wartości atrybutu External:
triAddressTX
Adres
triZipPostalTX
Kod pocztowy
triCityTX
Miejscowość
triStateProvTX
Stan

Dla dodatkowych dwóch pól Ichiro definiuje dwie dodatkowe wartości External, aby określić odpowiednie wartości pola Default, jakie są wymagane przez usługę geokodowania Esri. Zdefiniowane wartości External to outSR dla identyfikatora WKID oraz f dla formatu. Odpowiadające im wartości pola Default to 102100 dla identyfikatora WKID oraz json dla formatu. Aby sprawdzić wartość 102100, Ichiro sprawdza wartości WKID dla układu współrzędnych geograficznych (resources.arcgis.com/en/help/rest/apiref/gcs.html) oraz dla układu współrzędnych prostokątnych (resources.arcgis.com/en/help/rest/apiref/pcs.html). Definiuje następujące pola, wprowadzając swoje wartości atrybutów External i Default:

triIdTX
outSR i 102100
triDescriptionTX
f i json

Ichiro zapisuje mapę danych.

Krok 3: Definiowanie mapy odpowiedzi

Następnie Ichiro definiuje mapę odpowiedzi, aby odtworzyć odpowiedź z usługi geokodowania Esri i odwzorować odtworzone wartości długości i szerokości geograficznej w rekordzie lokalizacji programu IBM TRIRIGA. Definiuje mapę odpowiedzi poprzez określenie modułu Location, obiektu biznesowego triBuilding, formularza triBuilding i pól. Ponieważ odpowiedź jest zapisana w formacie JSON, wartości atrybutu External mają postać składni JSONPath. Definiuje następujące pola, wprowadzając następujące wartości atrybutu External:
triGisLongitudeNU
candidates[0].location.x
triGisLatitudeNU
candidates[0].location.y

Ichiro zapisuje mapę odpowiedzi i rekord obiektu integracji.

Krok 4: Wykonanie definicji integracji

Po wybraniu przez Ichiro czynności formularza Wykonaj w celu uruchomienia definicji integracji mają miejsce następujące procesy:
  • Wartości mapy danych są używane do utworzenia zapytania dynamicznego. Następuje wywołanie zapytania.
  • Ponieważ typ POST jest łańcuchem zapytania, każdy wynik z zapytania jest przekształcany na następującą strukturę URL:
    http://geocode.arcgis.com/arcgis/rest/services 
      /World/GeocodeServer/findAddressCandidates?forStorage=true
      &token=Z43nqkyXY48Kx1iiPgCCZsh7Kf7ZxsKSH4xEO2Q8x34wiHU8wysAljsRzzYI51eg-
      zAr114CR0vgQ6fUt5a4eatD9FGejE4w8hTBY-f5vy5v1asxh_rXvLZsw6upiRPU
      &Address=6720+Via+Austi+Pkwy&ZIP=89119&City=Las+Vegas
      &State=Nevada&outSR=102100&f=json
    Parametry rzeczywiste zależą od danych rzeczywistych w produkcie IBM TRIRIGA.
  • Odpowiedź jest wyświetlana w następującym JSON obiekcie:
    {
    	"spatialReference": {
    		"wkid":102100,"latestWkid":3857 
    	},
    	"candidates": [{
    		"address":"6720 Via Austi Pky, Las Vegas, NV, 89119",
    		"location": {
    			"x":-12819684.945332458,
    			"y":4309927.0270621451
    		},
    		"score":100,
    		"attributes": {
    
    		}
    	},
    	{
    		"address":"6720 Via Austi Pky, Las Vegas, NV, 89119",
    		"location": {
    			"x":-12819744.862808136,
    			"y":4309924.3334144857
    		},
    		"score":100,
    		"attributes": {
    
    		}
    	},
    	{
    		"address":"6721 Via Austi Pky, Las Vegas, NV, 89119",
    		"location": {
    			"x":-12819808.664131654,
    			"y":4309995.0691041043
    		},
    		"score":79,
    		"attributes": {
    
    		}
    	},
    	{
    		"address":"Via Austi Pky, Las Vegas, NV, 89119",
    		"location": {
    			"x":-12819804.948472099,
    			"y":4309871.0261052754
    		},
    		"score":100,
    		"attributes": {
    	
    		}
    	}]
    }
  • Wartości z mapy odpowiedzi służą do wyodrębnienia wartości candidates[0].location.x i candidates[0].location.y z obiektu JSON i odwzorowania ich w polach triGisLongitudeNU i triGisLatitudeNU w rekordzie lokalizacji produktu IBM TRIRIGA. Rekord lokalizacji zostaje zaktualizowany przez nowe dane.
  • Ponieważ w sekcji zapytania dot. informacji wychodzących nie określono żadnej czynności dla wyeksportowanych danych, dla danych lokalizacji nie jest wyzwalana żadna czynność.
  • Pobierana jest wartość końcowa dla procesu integracji, a następnie tworzony jest rekord historii wykonania, zawierający szczegóły na temat przebiegu integracji i wszystkich błędów, jakie wystąpiły.


Opinia