Komunikacja z aplikacjami zewnętrznymi za pośrednictwem interfejsu API REST
W produkcie Maximo® Asset Managementmożna użyć zdalnego wywołania metody (Remote Method Invocation-RMI) w celu interakcji z produktem z niestandardowych rozszerzeń lub aplikacji zewnętrznych. Jednak RMI nie jest obsługiwany poza procesem serwera Maximo w w pełni zkonteneryzowanym środowisku produktu Maximo Manage. Zamiast mechanizmu RMI do interakcji z produktem inicjowanych z niestandardowych rozszerzeń lub aplikacji zewnętrznych używa się interfejsu API REST.
Aby ułatwić korzystanie z interfejsu API REST, produkt udostępnia przykładowego klienta HTTP, który jest klasą com.ibm.tivoli.maximo.oslc.provider.RestClient. Ten przykładowy klient HTTP jest biblioteką wielu przydatnych metod i innych bibliotek.
Korzyści z zastosowania interfejsu API REST do integracji z produktem
- Klient interfejsu API usług REST może być napisany w wybranym języku, natomiast w przypadku RMI można pisać tylko w języku Java™ .
- Interfejs API REST ułatwia adaptację i integrację aplikacji klienckich przy użyciu struktur obiektów.
- Interfejs API REST może korzystać z kluczy API na potrzeby uwierzytelniania i autoryzacji. Cała komunikacja z produktem może być realizowana za pomocą dowolnego podstawowego klienta HTTP, takiego jak przykładowy klient RestClient, który jest dołączony do produktu.
- Dobrze zaprojektowane wywołania API REST zapewniają wysoką skalowalność przy mniejszym ruchu sieciowym. Kilka sposobów projektowania i programowania wywołań interfejsu API REST zostało opisane w następujących sekcjach.
Opcje programowania interfejsu API REST
Programowanie interfejsu API REST odbywa się na dość wysokim poziomie, ale produkt oferuje opcje umożliwiające większą granulację kodu, jeśli jest wymagana. Możliwe jest zapisanie wywołań API jako wielu wywołań REST, masowych wywołań REST lub wywołań REST, które korzystają ze skryptów automatyzacji.
Natężenie wygenerowanego ruchu w sieci może się różnić w zależności od sposobu zaprogramowania interakcji interfejsu API REST z klientem. Nieprawidłowo zaprojektowane interakcje z interfejsem API REST mogą mieć niekorzystny wpływ na wydajność produktu i klienta.
Wiele pojedynczych wywołań REST
Jeśli we wcześniejszych wersjach używany był mechanizm RMI, można przekształcić wywołania RMI w wywołania REST na zasadzie „jeden do jednego”. Jednak interfejs RMI zezwala na stosowanie funkcji API w pakiecie Java SDK dostarczonym z produktem Maximo Manage, podczas gdy interfejsy API usług REST są wyższe. Dodatkowo możliwe jest, że nie każde wywołanie RMI ma równoważny wywołanie interfejsu REST API, ponieważ interfejsy API usług REST nie są dostępne dla wszystkich pakietów Java SDK produktu.
Stosowanie w kodzie wielu pojedynczych wywołań REST może generować duży ruch sieciowy.
Masowe wywołania REST
W przypadku masowych wywołań REST należy napisać kod jednego wywołania, które operuje na zestawie rekordów spełniających zadane kryteria. Masowe wywołania REST zapewniają większą wydajność działania w sieci niż wiele pojedynczych wywołań REST. Mogą jednak pojawić się problemy z brakiem równoważności między wywołaniami API REST a wywołaniami RMI o większej granulacji.
Wywołania REST, które korzystają ze skryptów automatyzacji
Wywołania REST, które korzystają ze skryptów automatyzacji, oferują największą granulację i wydajność działania w sieci. Dzięki temu podejściu można uzyskać dostęp do pełnego pakietu Java SDK, co nie jest możliwe z innymi podejściami.
Skrypt automatyzacji należy napisać w aplikacji Skrypty automatyzacji i wywołać, korzystając z klienta REST. Środowisko skryptowe przesyła parametry zapytania API do skryptu. Skrypt automatyzacji można napisać w różnych językach.
Programowanie interfejsów API REST za pomocą skryptów automatyzacji umożliwia również tworzenie od podstaw interfejsów API REST, które odpowiadają środowisku użytkownika i które mogą być używane w innych miejscach.