| Termin | Definicja |
|---|---|
| JSON-RPC | JSON-RPC to protokół zdalnego wywoływania procedur wykorzystujący format JSON do przesyłania żądań i odpowiedzi. Model komunikacji w JSON-RPCJSON-RPC jest protokołem zdalnego wywoływania procedur, w którym komunikaty mają postać obiektów zapisanych w formacie JSON. Klient wysyła żądanie zawierające nazwę metody oraz opcjonalne parametry, a system po stronie serwera wykonuje powiązaną procedurę i zwraca wynik albo informację o błędzie. Protokół nie definiuje konkretnego języka programowania ani sposobu implementacji procedury. Ta sama metoda może więc być obsługiwana przez aplikację napisaną w innym języku niż program kliencki. JSON-RPC nie jest samodzielnym protokołem transportowym. Komunikaty można przesyłać na przykład przez HTTP, WebSocket albo inne mechanizmy komunikacyjne, o ile aplikacja zapewnia sposób dostarczenia danych do właściwego odbiorcy. JSON odpowiada za strukturę komunikatu, natomiast transport odpowiada za jego przesłanie. Dzięki temu problemy z połączeniem, kodem HTTP lub zamknięciem sesji należy analizować osobno od błędów zapisanych w treści komunikatu JSON-RPC. Elementy żądania i odpowiedzi w wersji 2.0W JSON-RPC 2.0 żądanie zawiera pole Odpowiedź zawiera pole Możliwe jest również wysłanie powiadomienia, czyli żądania bez pola Rozróżnianie błędów protokołu, aplikacji i transportuPodczas diagnozowania komunikacji JSON-RPC trzeba ustalić, na którym poziomie występuje problem. Błąd połączenia, przekroczenie czasu oczekiwania albo odpowiedź HTTP z kodem wskazującym na niedostępność usługi dotyczy transportu lub serwera HTTP. Jeżeli treść odpowiedzi zawiera poprawny obiekt JSON-RPC z polem Ważne jest sprawdzenie zgodności wersji protokołu. Komunikat JSON-RPC 2.0 powinien zawierać Przy analizie logów przydatne jest zestawienie identyfikatora żądania z czasem wysłania, nazwą metody, rozmiarem komunikatu i otrzymaną odpowiedzią. Brak odpowiedzi przy żądaniu z identyfikatorem może wskazywać na przerwę transportową, zakończenie procesu, błąd po stronie implementacji albo nieprawidłowe traktowanie powiadomienia. Sam fakt, że dane wyglądają jak JSON, nie potwierdza jeszcze poprawności JSON-RPC. Konieczne jest sprawdzenie wymaganych pól, typów wartości oraz zasady występowania pola JSON-RPC w diagnostyce aplikacji na komputerzeNa laptopie lub komputerze JSON-RPC może być używany przez aplikację kliencką komunikującą się z lokalnym albo zdalnym komponentem programu. Objawem problemu może być brak reakcji interfejsu, komunikat o nieudanej operacji, powtarzające się żądania w logach albo rozbieżność między identyfikatorem wysłanego żądania i odpowiedzi. Diagnostyka powinna obejmować logi aplikacji, konfigurację adresu połączenia, poprawność generowanego JSON, dostępność wybranego transportu oraz zgodność kontraktu metody po obu stronach komunikacji. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów i komputerów PC, w tym analizą problemów z oprogramowaniem oraz komunikacją aplikacji, gdy objawy występują na używanym sprzęcie. W praktyce przydatne może być odtworzenie błędu, zapisanie pełnej odpowiedzi JSON-RPC wraz z kodem błędu, sprawdzenie wersji programu i porównanie parametrów z wymaganiami dokumentacji konkretnej aplikacji. Takie dane pozwalają oddzielić usterkę komputera od błędnej konfiguracji, niezgodności wersji lub problemu występującego po stronie samej usługi. |