1. Koncepcja i zastosowanie
1.1 Koncepcja
1.2 Opis funkcji w języku WSDL
1.3 Zastosowanie funkcji SOA
2. Poznawanie usług SOA
3. Uruchamianie usługi SOA
3.1 Serwer SOA
3.2 Linia poleceń
4. Przykłady, opisy użycia, skrypty
5. Sprawdzanie poprawności usług SOA
Przykłady i ćwiczenia
Skrypty testujące
Zapisy do logu
6. Dopisywanie rekordów do bazy danych
7. Kierunki rozwoju funkcji SOA
8. Przykład użycia SOA
9. Tematy powiązane
10. Kurs szkoleniowy
11. SOA w Trawers ERP (AsystentAI)
1. Koncepcja i zastosowanie
1.1 Koncepcja
SOA (en: Service Oriented Architecture), to architektura zorientowana
na usługi. SOA pozwala na wymianę informacji i integracje z innymi
systemami informatycznymi.
o> <o
| o---------------------------o |
Prezentacja | | Interfejs użytkownika | |
Dialog | | np. HTML, CSS, JavaScript | |
| o-------------o-------------o | Klient SOA
| | |
o> | | Program używający
o> | | funkcji SOA Trawers
| o-------------o-------------o | np. sklep internetowy
Komunikacja | | np. PHP (SoapClient) | |
| | Serwer HTTP | |
| o-------------o-------------o |
| | |
| | <o
| | <o
| o-------------o-------------o |
| | Trawers Serwer SOA | | Dostawca SOA
| o---------------------------o |
o> <o
Program Trawers posiada rozwiązania pozwalające na świadczenie wybranych usług.
Konsument (obcy system) wysyła do Dostawcy (Trawers) komunikat z parametrami,
z żądaniem usługi.
Trawers wykonuje usługę i odsyła wynik.
Trawers traktowany jest przez systemy zewnętrzne jako czarna skrzynka (en: Black Box)
Wymianę danych można zapoczątkować:
* Z linii poleceń systemu operacyjnego (en: Command-Line)
Program zewnętrzny może tworzyć i odbierać pliki XML bezpośrednio
w katalogach wymiany. Gdy oczekiwany jest inny format, to plik trzeba
przekształcić przy pomocy xslt.
AutoRun Procesy automatyczne
* Jako usługa internetowa (en: WebServices)
SOA Serwer internetowy
Komunikacja odbywa się przez TCP/IP, wymiana zapytań i odpowiedzi
następuje przy użyciu strumieniowych danych XML
1.2 Opis funkcji w języku WSDL
Web Services Description Language (WSDL), to jest język oparty na XML
do definiowania usług sieciowych. Opisu funkcji i danych.
Usługi SOA dostępne w programie Trawers opisane są w języku WSDL.
Plik z opisem jest pod adresem: localhost:7000/TrawersSOA.wsdl
Plik opisuje dostępne funkcje i ich parametry. Przy użyciu popularnych
edytorów można plik zapisać i przeglądać w postaci czytelnej tabelki.
Plik zapisany jest w stylu 'Document/literal wprapped'.
Używa przestrzeni nazw (en: Namespace) do rozróżniania elementów.
http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/
Dane wymieniane przez usługi opisane są w pliku XSD (XML Schema Definition).
Są tam definicje struktur pytań i odpowiedzi w standardzie XML Schema.
Plik XSD jest pod adresem: localhost:7000/TrawersSOA.xsd
Pliki są dostępne po uruchomieniu funkcji:
AD > Trawers > Usługi SOA > SOA Serwer internetowy [AD_PSOA2]
Plik WSDL tylko informacyjny
NOTE: Opublikowany plik WSDL ma charakter informacyjny. Nie może służyć
do automatyzacji wykorzystania usług SOA programu Trawers.
Ograniczamy się do publikowania pliku WSDL, lecz nie weryfikujemy jego
poprawności, w szczególności użycia definicji WSDL w różnych kontekstach
programistycznych (języki, algorytmy).
W miarę możliwości reagujemy na zgłoszenia problemów, lecz nie zapewniamy
skutecznych rozwiązań, gdyż wiele czynnikow wpływających na poprawność
leży poza nami, np. dialekty WSDL, specyfika programów interpretujących.
Funkcje (usługi) SOA pozwalają na współpracę (wymianę danych) programu
Trawers ERP z innymi programami.
* Mobilne systemy sprzedaży
Integracja z internetem
* Systemy zbierania zamówień bezpośrednio u klientów
RA Zdalny dostęp kontrahentów
* Sklepy internetowe
Integracja z internetem. B2B. B2C
* Integracja z internetem. Google
Integracja z internetem. Google
* Inne programy, które pobierają dane i wpisują je do programu Trawers
Wymiana danych z innymi programami
Przy zastosowaniu funkcji SOA, integratorzy i twórcy interfejsów wymiany
danych, nie muszą znać wewnętrznych rozwiązań w programie Trawers,
np. struktury bazy danych, relacji pól (kolumn), algorytmów obliczeniowych.
Dla nich Trawers jest czarną skrzynką, z którą kontaktują się poprzez
funkcje SOA. Wysyłają zapytania i otrzymują odpowiedzi. Oba komunikaty,
wejściowy i wyjściowy, są precyzyjnie zdefiniowane.
Architektura SOA zapewnia, że użytkownik nie musi obawiać się,
że współpracujące programy zewnętrzne przestaną pracować po zainstalowaniu
nowego wydania programu Trawers, w którym, np. zmieniono strukturę bazy danych.
Niezależnie od zakresu zmian wewnątrz programu, funkcje SOA będą mogły dalej pracować.
Istotną zaletą użycia SOA jest to, że funkcje i aplikacje zewnętrzne
komunikują się bezpośrednio (on-line) z bazą danych Trawersa.
Nie ma potrzeby wielokrotnego wprowadzania danych.
Np. wprowadzone on-line zamówienia sprzedaży mogą być natychmiast
przetwarzane w programie Trawers. Można natychmiast przygotować wysyłkę,
wystawić fakturę, zarejestrować płatność.
2. Poznawanie usług SOA
Przykłady zapytań i odpowiedzi (pliki XML) znajdują się w programie, w funkcji:
AD > Trawers > Usługi SOA > SOA Przykłady usług (ćwiczenia)
(dane branżowe: MT Meble tapicerowane)
SOA Przykłady i ćwiczenia
Integracja usług wymaga określonej wiedzy programistycznej i dla osoby
bez doświadczenia w tej dziedzinie może okazać się zbyt pracochłonna.
W razie problemów można skorzystać z konsultacji naszych Partnerów
specjalizujących się w usługach SOA:
Partnerzy. Integratorzy
3. Uruchamianie usługi SOA
Usługi można uruchomić na dwa sposoby:
1. Serwer SOA. Wymiana strumieni zapytań i odpowiedzi.
2. Linia poleceń. Wywołanie zapytania ręcznie lub w AutoRun.
3.1 Serwer SOA
W oddzielnej funkcji: AD > Trawers > Usługi SOA > SOA Serwer internetowy [AD_PSOA2]
odbywa się komunikacja przez TCP/IP i wymiana zapytań i odpowiedzi przy użyciu
strumieniowych danych XML.
Zalety:
- Jest automatyczna wymiana danych między aplikacją zewnętrzną a programem Trawers
- Nie trzeba tworzyć ręcznie plików wejściowych i wyjściowych XML
- Analizę problemów może przejąć oprogramowanie
- Wymiana danych może odbywać sią bez przerwy (24/7)
- Można jednocześnie przetwarzać wiele zapytań
- Serwer SOA zdejmuje tylko jedną sesję z puli sesji. Zajmuje jedną sesję na stałe.
Sesje można zwolnić wyłączając serwer SOA (kill) po przetworzeniu zapytania.
Następnie włączyć.
Wady:
- trzeba zapewnić łącze internetowe i uruchomić serwer SOA
- trzeba pielęgnować (rozwijać i aktualizować) oprogramowanie sterujące wymianą danych
Rada:
- Rekomenduje się serwer SOA. Serwer SOA może zastąpić linię poleceń
Linia poleceń nie zastąpi serwera SOA.
Patrz szczegóły:
SOA Serwer internetowy
3.2 Linia poleceń
Z linii poleceń systemu operacyjnego wywołuje się proces: AD_PSOA1 z parametrami.
* Proces wykonuje (wywołuje) usługę SOA
* Można go uaktywnić ręcznie lub w trybie AutoRun. Nie ma pozycji w menu
AutoRun Procesy automatyczne
* Proces pobiera jedną sesję z puli sesji programu
Zarządzanie sesjami
NOTE: wywołanie z linii poleceń można zastąpić np. programem curl
Np. pobranie danych z linii poleceń z serwera SOA linux i windows:
curl localhost:7000 -H 'SOAPAction: TrawersSOA' -d input.xml > output.xml
Zalety:
- Nie trzeba zapewniać łącza internetowego i uruchamiać serwera SOA
- Pliki wejściowe i wyjściowe XML można tworzyć ręcznie w edytorze tekstowym
Wady:
- Nie ma automatycznej wymiany danych między aplikacją zewnętrzną a programem Trawers
- Ew. problemy trzeba analizować ręcznie wg zapisów w pliku XML
- Wymiana danych odbywa się w godzinach pracy operatorów
- Każde zapytanie zdejmuje jedna sesję z puli sesji. Trzeba zapewnić (zarezerwować)
tyle sesji ile może być jednocześnie zapytań. Po przekroczeniu liczby sesji
kolejne zapytanie nie będzie przetworzone
- Trudno jest za pomocą skryptów zarządzać pracą poszczególnych procesów.
Pliki in/out muszą mieć unikalne nazwy.
Rada:
- Rekomenduje się serwer SOA.
Przykład wywołania z linii poleceń
----------------------------------
Potrzeba: Uzyskać (export, OutBound) dane kartoteki odbiorców z programu Trawers
Realizacja:
Wysłać zapytanie do programu Trawers o zestawienie zawierające dane wszystkich
odbiorców znajdujących sie w kartotece odbiorców.
Kolejne kroki:
1. W katalogu: /trtres/trinout umieścić plik zawierający zapytanie:
Plik input.xml - zapytanie bez parametrów
--------------
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
xmlns:fn="http://www.w3.org/2005/02/xpath-functions">
<soap:Header/>
<soap:Body>
<CUSTOMERS/>
</soap:Body>
</soap:Envelope>
Plik input.xml - zapytanie z parametrem: changeSince
--------------
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
xmlns:fn="http://www.w3.org/2005/02/xpath-functions">
<soap:Header/>
<soap:Body>
<customers>
<changeSince>2016-07-01T12:00</changeSince>
</customers>
</soap:Body>
</soap:Envelope>
W pliku xml znajduje się nazwa funkcji SOA: CUSTOMERS
Jej zadaniem jest odesłać komunikat z danymi z kartoteki odbiorców.
2. Wywołać proces AD_PSOA1,
tzn. wywołać program, tu: tr5x.exe, z parametrami.
$TR_DIR/bin/tr5x.exe --operator=AA --firma=FP --oddzial=00 \
--proces=AD_PSOA1 --input=input.xml --output=output.xml
Parametry:
--operator=AA symbol operatora
--firma=FP symbol firmy
--oddzial=00 \ nr oddziału
--proces=AD_PSOA1 proces, tu: wykonanie funkcji SOA
--input=input.xml nazwa pliku wejsciowego (patrz wyżej)
--output=output.xml nazwa pliku wyjsciowego
3. W katalogu /trtres/trinout odebrać plik output.xml zawierający
odpowiedź, tu: dane odbiorców
Plik output.xml (przykładowa odpowiedź)
---------------
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header/>
<soap:Body>
<customers>
<customer>
<fax/>
<key>000001</key>
<nip>141-121-15-11</nip>
<tel/>
<vat>true</vat>
<zip>81-370</zip>
<city>Gdynia</city>
<code>000001</code>
<mail/>
<name>Odbiorca 1</name>
<note/>
<type>RECIPIENT</type>
<person/>
<street>Kwiatowa</street>
<enabled>false</enabled>
</customer>
<customer>
<fax/>
<key>000002</key>
<nip>222-222-22-22</nip>
<tel/>
<vat>true</vat>
<zip>81-371</zip>
<city>Gdynia</city>
<code>000002</code>
<mail/>
<name>Odbiorca 2</name>
<note/>
<type>RECIPIENT</type>
<person/>
<street>Morska 2</street>
<enabled>false</enabled>
</customer>
</customers>
</soap:Body>
</soap:Envelope>
Odebrany plik output.xml trzeba usunąć przed kolejnym wywołaniem polecenia SOA.
Program nie nadpisze istniejącego pliku output.xml
4. Przykłady, opisy użycia, skrypty
Skrypty i opisy użycia
----------------------
W katalogu https://ftp.tres.pl/integracja/soa/
są skrypty i opisy użycia: opis-soa.txt i webservice.txt (patrz też niżej)
Skrypty wysyłają przykładowe pytania do Trawersa i odbierają odpowiedzi
Jest tam też przykład pobierania zamówienia i zapłaty przez Trawers
5. Sprawdzanie poprawności usług SOA
Przykłady i ćwiczenia
Sprawdzanie poprawności zapytań i odpowiedzi (pliki XML) warto zacząć
na danych przykładowych demo firmy: MT Meble Tapicerowane
Przyklady zapytań i odpowiedzi są w programie, w funkcji:
AD > Trawers > Usługi SOA > SOA Przykłady usług (ćwiczenia) [AD_PSOA3]
SOA Przykłady i ćwiczenia
Można zmieniać treść zapytań w plikach XML i analizować odpowiedzi SOA
Skrypty testujące
Skrypty testujące znajdują się:
* w https://ftp.tres.pl/integracja/soa
* w katalogu programu, np. /opt/trawers5/soa
(zapisywane są podczas instalowania programu)
Prace przygotowawcze w środowisku Linux:
1. Skrypt: /opt/trawers5/soa/testsoa.sh
Sprawdzić, czy zmienne środowiskowe w skrypcie wskazują na właściwe
podkatalogi
export TR_DIR=/opt/trawers5/dane - katalog z danymi
export TR_DIRSOA=/opt/trawers5/soa - katalog ze skryptami soa
export TR_OPERATOR=AA - operator
export TR_FIRMA=HA - firma
export TR_BROWSER=firefox - przeglądarka www
2. Wywołać skrypt testujący: testsoa.sh
Wyniki przetwarzania, tj. odpowiedź Trawersa powinna pokazać się
we wskazanej przeglądarce www, w formacie HTML
3. Dodatkowo, można wywołać przykładowe pobierania i zapisywania danych,
które znajdują się w katalogu: /opt/trawers5/soa/zapytania
Podczas zapisywania danych trzeba przestrzegać zasad:
np. gdy w poleceniu dopisywania zamówienia jest zapis:
<productKey>10100001</productKey>
to symbol: 10100001 musi znajdować się w kartotece KIM
Zapisy do logu
Log, to jest historia (kronika) zdarzeń w programie, wykrytych błędów i problemów
Kronika operacji (log)
Informacje o operacjach SOA program zapisuje w logu:
(trzeba oznaczyć parametry sterujące - poziomy logu)
* 0813 [1] Komunikaty Autorun i SOA (poziom logu 13)
Zapisywać komunikaty i raporty procesów AutoRun i SOA
* 0822 [2] Operacje na załącznikach (poziom logu 22)
Zapisywać: usuwanie, zmiany grupy, załączanie do e-maili i wydruków,
pobieranie przez SOA, zapisywanie w \trinout oraz wyświetlanie załączników
Dodatkowo, sytuacje dotyczące błędów związanych m.in. z SOA program zapisuje z poziomem
logu: 99. Nie trzeba oznaczać, program zawsze zapisuje do logu informacje o błędach.
Parametry ogólne 01xx 02xx 03xx 08xx
Informacji o problemach należy szukać w logu oraz w pliku wynikowym zwracanym
przez funkcje SOA.
6. Dopisywanie rekordów do bazy danych
Przy pomocy funkcji SOA można dopisywać rekordy dokumentów (transakcje).
Np. funkcja dopisania (en: InBound) dokumentu magazynowego [RO] Rozchód
[InventoryIssue].
SOA Funkcje (usługi)
Funkcja dopisuje pozycje dokumentu pojedynczo. Numery pozycji można
podać w parametrach funkcji lub program nada kolejne. Numer dokumentu można
podać w parametrach funkcji lub zlecić numerowanie automatyczne. Z wykorzystaniem
tabeli serii dokumentów.
Numerowanie dokumentów
Dopisywanie pozycji dokumentu via SOA można porównać do dopisywania pozycji
dokumentu podczas rejestracji ręcznej (jeden ekran, to jedna pozycja dokumentu)
i rejestracji z pliku CSV (jeden wiersz pliku CSV, to jedna pozycja dokumentu).
Funkcje SOA dają natychmiastową odpowiedź. Programy przetwarzające dane mogą
od razy wykonać usługę i odesłać wynik. To umożliwia przetwarzanie danych
na bieżąco (en: Real-Time).
Mechanizmy wewnętrzne programu zapewniają poprawność zapisu pozycji dokumentu
we wszystkich zbiorach i kartotekach powiązanych. Zastosowano mechanizm
transakcyjności (Roll-forward recovery REDO) i procedury restartu w celu
zapewnienia integralności bazy danych.
Zarządzanie bazą danych
Mechanizm transakcyjności zapewnia poprawność zapisu jednej pozycji dokumentu
dopisywanej do bazy danych funkcją SOA przez aplikację zewnętrzną.
Dokumenty zewnętrzne dopisywane do bazy danych, np. dokumenty rozchodu magazynowego
są często wielo-pozycyjne.
P. Czy mechanizm SOA nadzoruje i zapewnia poprawność zapisu wszystkich pozycji dokumentu ?
Np. Czy można zrealizować oczekiwanie: zapisz dokument, gdy wszystkie pozycje można zapisać
poprawnie albo wogóle nie zapisuj dokumentu (żadnej pozycji).
O. Nie. Mechanizm SOA nie nadzoruje zapisu wielu pozycji jednego dokumentu.
Nadzoruje i zapewnia poprawność zapisu tylko jednej pozycji dokumentu wielo-pozycyjnego.
W procesach i algorytmach aplikacji zewnętrznej powinno się uwzględnić,
że SOA nadzoruje i zapewnia poprawność jeden pozycji dokumentu.
Np. przed wywołaniem funkcji zapisu pozycji powiązanej z pozycja poprzedzającą,
sprawdzić czy poprzedzająca została poprawnie zapisana.
7. Kierunki rozwoju funkcji SOA
* Raporty przekrojowe
* Statusy zamówionych wyrobów
* Konfigurator produktów
Patrz: [NA_DXML1] z konfiguracją produktu
* Płatności zdalne
* Aplikacje rekrutacyjne
* Serwisowanie maszyn i urządzeń
* Zarządzanie zapasami przez dostawców
* Pobieranie zamówień z różnych źródeł, np. serwisów aukcyjnych
* Rejestrowanie zgłoszeń serwisowych
* Rejestrowanie reklamacji
* Kolejne komunikaty EDI
8. Przykład użycia SOA
W przykładzie używa się SOA (w systemie Linux) aby wyświetlić
w przeglądarce internetowej dane pobrane z Trawersa.
Elementy przykładu znajdują się w katalogu:
https://ftp.tres.pl/integracja/soa
Aby uruchomić przykład SOA, należy przegrać zawartość /integracja/soa
na dysk lokalny a następnie ustawić parametry wywołania w skrypcie:
testsoa.sh
export TR_DIR=/trawers/dane/tr5x - katalog z danymi
export TR_DIRSOA=/integracja/soa - katalog z przykładem SOA
export TR_OPERATOR=AA - operator
export TR_FIRMA=FP - firma
export TR_BROWSER=firefox - przeglądarka internetowa
i wywołać ten skrypt.
Katalog /soa zawiera:
/zapytania - pliki xml zawierające zapytania w formacie
obsługiwanym przez Trawers
/xslt - arkusze transformacji z xml do html
/wyniki - tutaj skrypty zapisują wyniki
/php - przykłady wywołania funkcji SOA w języku PHP
testsoa.sh - skrypt testujący
tr-pytanie.sh - skrypty pomocnicze
tr-pytanieSH.sh
tr-soa.sh
tr-wczytajdane.sh
Wykłady i ćwiczenia dotyczące wymiany danych z innymi programami przy użyciu
funkcji usług sieciowych SOA.
* SOA Opis ogólny
* Budowa i przykłady komunikatów
* Polecenia pobrania z programu Trawers (en: OutBound)
Stany zapasów, karty odbiorców i dostawców, dokumenty transakcyjne
* Polecenia dopisywania do bazy danych (en: InBound)
Zamówienia sprzedaży, karty indeksów, karty odbiorców i dostawców
* Przykłady i ćwiczenia (pre-definiowane komunikaty do ćwiczeń)
* SOA Serwer internetowy. Przykłady użycia
11. SOA w Trawers ERP (AsystentAI)
Tytuł: SOA - Architektura wymiany danych w Trawers ERPPoziom: Zaawansowany
Tagi: integracja, webservice, XML, SOA, AutoRun, API, curl, TrawersSOA
Grupa tematyczna: Integracja z systemami zewnętrznymi
Powiązane wpisy: SOA Funkcje, Serwer SOA, AutoRun, RaportyXML, Logi
11.1 Czym jest SOA ?
Service Oriented Architecture (SOA) umożliwia integrację systemu Trawers ERP
z innymi aplikacjami poprzez zdefiniowane usługi udostępniane jako WebServices.
Koncepcja
* SOA to architektura zorientowana na usługi.
* Pozwala przesyłać dane w formacie XML przez HTTP lub TCP/IP.
* Trawers pełni rolę dostawcy usług (serwera SOA).
* Umożliwia synchronizację np. z:
* sklepami internetowymi,
* terminalami produkcyjnymi,
* systemami EDI,
* raportami i procesami AutoRun.
Opis usług w WSDL
* Trawers udostępnia plik `TrawersSOA.wsdl` i powiązany `TrawersSOA.xsd`.
* Są one dostępne pod adresem: `localhost:7000/`
* Opisują dostępne funkcje i strukturę komunikatów XML.
* Zalecane: korzystanie z ręcznych XML, nie z generatorów WSDL.
Zastosowanie
* Integracja sprzedaży mobilnej.
* Sklepy B2B/B2C.
* Automatyczne pobieranie i przetwarzanie zamówień.
* Współpraca z systemami zewnętrznymi bez znajomości struktury bazy Trawersa.
11.2 Poznawanie usług SOA
* Przykłady dostępne są w funkcji: `AD > Trawers > Usługi SOA > Przykłady usług`
* Dostępne również w katalogu: `ftp://ftp.tres.pl/integracja/soa/`
11.3 Jak uruchamiać usługi SOA ?
Serwer SOA (TCP/IP)
* Stała komunikacja przez `AD_PSOA2`.
* Wymaga jednej aktywnej sesji.
* Polecane do środowisk produkcyjnych z dużą liczbą zapytań.
Linia poleceń (AutoRun / ręcznie)
* `AD_PSOA1` pozwala wywołać usługę z plikiem XML.
* Przykład z użyciem `curl`:
```bash
curl localhost:7000 -H 'SOAPAction: TrawersSOA' -d input.xml > output.xml
```
11.4 Przykłady i skrypty
* Katalog `/integracja/soa/` zawiera gotowe zapytania XML oraz testowe skrypty w bash i PHP.
* Umożliwiają symulację pobierania danych z kartoteki kontrahentów, zapisywania zamówień itd.
11.5 Testowanie i logowanie
Przykładowe środowisko testowe:
* Dane demo: MT Meble Tapicerowane
* Skrypt: `testsoa.sh`
Logowanie:
* Poziomy logu:
* `0813` - SOA i AutoRun
* `0822` - operacje na załącznikach
* `0099` - błędy krytyczne (domyślne)
11.6 Dopisywanie danych do bazy
* SOA umożliwia dodawanie rekordów np. zamówień, dokumentów magazynowych.
* Każda pozycja traktowana jest jako niezależna transakcja (brak transakcyjności dla całych dokumentów).
11.7 Rozwój SOA - planowane kierunki
* Płatności zdalne
* Zgłoszenia reklamacyjne i serwisowe
* Komunikaty EDI
* Konfiguratory produktów i rekrutacje
* [SOA Funkcje i API](#)
* [AutoRun - przetwarzanie wsadowe](#)
* [Serwer SOA - konfiguracja](#)
* [Logi i parametry systemowe](#)
* [RaportyXML i transformacje XSLT](#)
11.10 Kurs / szkolenie
Dostępny jest kurs wdrożeniowy z zakresu SOA:
* tworzenie zapytań,
* obsługa błędów,
* testowanie integracji,
* uruchamianie usług w różnych trybach (curl, bash, serwer SOA).