Baza wiedzy Trawers ERP

SOA Przykłady i ćwiczenia

1. Opis ogólny 2. Polecenia pobrania i wpisania 2.1 Pobranie z bazy danych (OutBound) 2.2 Wpisanie do bazy danych (OutBound) 3. Programy zewnętrzne Przeglądarka Firefox z dodatkiem SOA Client Programy w Python i PHP 4. Jak testować programy zewnętrzne via SOA ? 5. Tematy powiązane

1. Opis ogólny

Wbudowane przykłady wywołań funkcji SOA: [AD_PSOA3]
Uwaga dot. InBound (zapisu danych przez SOA): Mechanizm SOA obejmuje usługi OutBound (odczyt danych) oraz InBound (zapis danych). W standardowej instalacji Trawers ERP dostarczany jest zestaw przykładowych (ćwiczebnych) funkcji InBound, przeznaczonych do testów i nauki integracji. Ze względów bezpieczeństwa i ograniczenia ryzyka niepożądanych zapisów w bazie, te przykładowe funkcje InBound są aktywne wyłącznie w środowisku Demo. W systemie produkcyjnym (użytkowym) przykładowe funkcje InBound mogą być widoczne, ale są nieaktywne/zablokowane. Jeśli potrzebny jest zapis przez SOA do danych rzeczywistych (użytkowych), to trzeba zaprojektować, wdrożyć i uruchomić dedykowane (produkcyjnych) funkcje integracyjne SOA.
Dane branżowe: [MT] Meble Tapicerowane (edukacyjne)
Funkcje SOA najłatwiej można poznać na przykładach. Przykłady zapytań i odpowiedzi (pliki XML) znajdują się w programie: AD > Trawers > Usługi SOA > SOA Przykłady usług (ćwiczenia) [AD_PSOA3] Przykłady wywołań przygotowano dla danych branżowych: [MT] Meble Tapicerowane Sugerujemy utworzyć firmę przykładową, wgrać dane branżowe [MT] i wykonywać funkcje SOA wbudowane do programu. Dane branżowe Profile firm Wywołania funkcji można zmieniać, dostosowywać do własnych potrzeb.
Przykład zapytania
Ekran zawiera treść zapytania (polecenia), tj. plik xml: o-- Polecenie SOA ----------------------------------------------------------[X]o |<?xml version="1.0" encoding="UTF-8"?> | |<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" xmlns:fn="| | <soap:Header/> | | <soap:Body> | | <productGroups/> | | </soap:Body> | |</soap:Envelope> | o------------------------------------------------------------------------------o | F8-wykonaj | o------------------------ ----o----- ------------------------------------------o |
Polecenie: Wykonaj
Zapytanie (polecenie) wysyła się klawiszem F8-wykonaj | W odpowiedzi otrzymuje sie plik xml | | v
Odpowiedź SOA
o-- Odpowiedź SOA ----------------------------------------------------------[X]o | <?xml version="1.0" encoding="UTF-8"?> | | <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> | | <soap:Header/> | | <soap:Body> | | <productGroups> | | <productGroup> | | <key>01</key> | | <name>Części do montażu</name> | | <type>REGULAR</type> | | <parent/> | | .... | o------------------------------------------------------------------------------o Przed wykonaniem: F8-wykonaj, program sprawdza poprawność składni tekstu XML Błąd sygnalizuje komunikatem, np. o--------------------------------------------------------[X]o | Błąd składni XML: [E11] Niedomknięty węzeł | | <soap:Body> | | | o-----------------------------------------------------------o
OutBound (Out) InBound (In)
Wśród przykładów są funkcje: * OutBound: pobieranie danych z programu Trawers * InBound: Wpisywanie danych do programu Trawers (tylko w demo) Funkcje wpisujące (InBound) można wywoływać tylko w wersji Demo programu Trawers. Dlaczego to zastrzeżenie, że InBound tylko w wersji demo ? Dlatego tylko w wersji demo, aby program nie zapisał, przykładowych, ćwiczeniowych danych do bazy danych użytkowych (produkcyjnych). Patrz też uwaga wyżej nt. funkcji InBound
Funkcje przykładowe (ćwiczebne)
o---------------------------------------------------o | 1 Polecenia pobrania z bazy danych Out > | | 2 Polecenia zapisania do bazy danych (1) In > | | 2 Polecenia zapisania do bazy danych (2) In > | o------------------------------------------F10-info-o o----------------------------------------------o | 1 Grupy indeksów Out | | 2 Logowanie klienta (uwierzytelnienie) Out | | 3 Zamówienia sprzedaży Out | | 4 Zamówienie sprzedaży wg numeru Out | | 5 Odbiorca wg symbolu Out | | 6 Indeks wg symbolu Out | | 7 Szukanie indeksu KIM Out | | 9 ... Out | | d Odczyt z bazy danych Out | o----------------------------------------------o Program wykonujący polecenia emuluje (udaje) pracę serwera SOA. Ułatwia zapoznanie się z mechanizmem usług SOA. Przykłady poleceń przygotowane zostały dla danych branżowych: [MT] Meble Tapicerowane Np. program pyta o kartę odbiorcy o symbolu [000001] i materiały GRANULAT, KARTON01 i SRUBY-X01
TableGet
Prosimy zwrócić uwagę na funkcję: Odczyt z bazy danych (TableGet), która pobiera wskazane, dowolne informacje z bazy danych Trawersa wg definicji opisanych w słowniku danych. Patrz też: Baza danych. Słownik

2. Polecenia pobrania i wpisania

2.1 Pobranie z bazy danych (OutBound)

Grupy indeksów Zamówienie sprzedaży wg numeru Odbiorca wg symbolu Indeks wg symbolu Stany indeksu w magazynach Przykłady wywołań funkcji SOA: * Pobranie (export) danych z kartoteki odbiorców programu Trawers [Customers] Wymiana danych SOA * Generowanie plików raportów wymaganych przez system Asseco EBI [EBI_MAG] [EBI_KLT] [...] Raportowanie do Asseco EBI

2.2 Wpisanie do bazy danych (InBound)

Wykonanie operacji produkcyjnej Rozchód z magazynu Zamówienie sprzedaży Zamówienie zakupu Faktura sprzedaży Zamówienie sprzedaży EDI Nowy indeks KIM Nowy KID Faktura zakupu EDI
Wpisanie faktury zakupu w formacie EDI
[Document-Invoice] Potrzeba: Program zewnętrzny (skrypt) wywołuje proces AD_PSOA1 w Autorun i zapisuje kolejne faktury do zbioru dokumentów ZO Kroki: 1. Wywołać Trawers SOA w trybie Autorun (Command-Line): tr5w.exe --firma=HA --operator=AA --proces=AD_PSOA1 --input=plik_faktury_NNNNNN.xml --output=wynik_NNNNNN.xml 2. Jeżeli nie ma pliku: wynik_NNNNN.xml lub plik nie zawiera: <result>OK</result> i <erpKey>numer faktury Trawers</erpKey> to przerwać / przejść do następnego dokumentu 3. Przenieść plik do katalogu np. zozal mv plik_faktury_NNNNNN.xml ścieżka do trawers\...\zotres\zozal\faktury Jeżeli dostępna jest także faktura w formacie PDF, to także przenieść: mv plik_faktury_NNNNNN.pdf ścieżka do trawers\...\zotres\zozal\faktury Obraz faktury w PDF można przeglądać w powiązaniu z fakturą zakupu w ZO (przeglądanie pliku powiązanego z dokumentem - ale bez użycia tabeli załączników) Plik: wynik_NNNNNN.xml można usunąć lub zostawić. Jeżeli zostanie, to program nie pozwoli powtórnie zapisać tej faktury.
Jak przeglądać fakturę PDF bez użycia tabeli załączników ?
Wyświetlić odpowiednio przygotowany wzorzec faktury zakupu (znak: t85) przy pomocy urządzenie wydruku: Polecenie Opis jest tu: Wzorce Przykłady

3. Programy zewnętrzne

Funkcje SOA programu Trawers można testować w programach zewnętrznych, np. dodatkach do przeglądarek internetowych.
Przeglądarka Firefox z dodatkiem SOA Client
* Uruchomić serwer Trawers SOA SOA Serwer internetowy * W przeglądarce Firefox zainstalować dodatek: SOA Client SOA Client, to jest program (client) do testowania usług sieciowych (Web Services). Pozwala zapoznać się z podstawowymi procesami usług sieciowych * Z menu podręcznego przeglądarki wybrać: SOA Client > Advanced Access i podać następuje wartości: URL: http://127.0.0.1:7000 <-- podać właściwy adres IP HTTP Request Method: POST HTTP Request Header: Content-Type: application/soap+xml Communication: async Raw Request Body: <?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> <about/> </soap:Body> </soap:Envelope> * Wykonać polecenie przyciskiem: Submit * Program wykona funkcje SOA: About informacje o programie
Programy w Python i PHP
Opisane są proste aplikacje (programy) internetowe wykorzystujące funkcje SOA SOA Programy w Python i PHP

4. Jak testować programy zewnętrzne via SOA ?

1. Zainstalować program Trawers (Wersja Demo) Instalowanie programu Trawers 2. (opcja) Wgrać spersonalizowany plik: licencja.txt na miejsce pliku licencja.txt z wersją demonstracyjną Spersonalizowany plik: licencja.txt można otrzymać z firmy Tres 3. Podczas pierwszego uruchmienia wybrać dane przykładowe firmy: [MT] Meble Tapicerowane (dane demo) Hasło dla operatora AA: aa Dane branżowe. Profile firm 4. Sprawdzić (poznać) możliwości funkcjonalne SOA Wykonać funkcję: Trawers > Usługi SOA > SOA Przykłady usług (ćwiczenia) SOA Przykłady i ćwiczenia 5. Uruchomić Trawers jako serwer SOA HTTP Wykonać funkcję: Trawers > Usługi SOA > SOA Serwer internetowy (podać pusty adres IP i port 7000) W przeglądarce internetowej pod adresem 127.0.0.1:7000 zgłosi się strona powitalna SOA Serwer internetowy Więcej informacji: SOA Opis ogólny

5. Tematy powiązane

SOA Architektura wymiany danych SOA Funkcje OutBound i InBound SOA SOA Serwer internetowy SOA Przykłady rozwiązań SOA Przykłady i ćwiczenia SOA Programy w Python i PHP Baza danych. Słownik Dane branżowe. Profile firm Słowa kluczowe #Admin-WymianaDanych #TrawersERP-Komponenty #TrawersERP-Środowisko #TrawersERP-Chmura #TrawersERP-SOA/API