1. Opis ogólny
2. Usługi internetowe (en: WebServices)
3. Zastosowania usług internetowych
4. Przykład
4.1 Uruchomienie serwera SOA (HTTP) - Ręcznie
4.2 Uruchomienie serwera SOA (HTTP) - Autorun
4.3 Sprawdzenie funkcjonowania serwera
4.4 Przykładowe pytanie do serwera i odpowiedź
4.5 Opis komunikacji
5. Limit sesji SOA
6. Pytania. Problemy i ich rozwiązywanie
7. Tematy powiązane
1. Opis ogólny
Serwer SOA, to moduł programu Trawers, ktory wykonuje zdalne usługi
internetowe (en: WebServices). Umożliwia komunikację z programem
Trawers ERP użytkownikom zdalnym, za pośrednictwem protokołu SOAP.
SOAP (ang. Simple Object Access Protocol) protokół komunikacyjny
zastosowany w Trawers ERP wykorzystuje XML jako format reprezentowania danych.
Komunikacja może odbywać się za pomocą protokołu HTTP oraz poprzez
standardowy protokół TCP/IP.
Serwer SOA można uruchomić:
1. W menu: AD > Trawers > Usługi SOA > SOA Serwer internetowy [AD_PSOA2]
2. W trybie Autorun, IdProces: [AD_PSOA1]
Patrz szczegóły
Procesy Autorun
2. Usługi internetowe (en: WebServices)
Usługa internetowa (ang. Web Service), to komponent systemu informatycznego
udostępniający w sieci określoną funkcjonalność.
Program Trawers ERP może pracować jako usługa internetowa. Daje to możliwość
bezpośredniej wymiany danych przez Internet z innymi aplikacjami,
np. sklepem internetowym, systemem sprzedaży mobilnej, systemem zamówień
internetowych.
W uproszczeniu usługi internetowe można porównać do serwisów internetowych.
Po wybraniu adresu w oknie przeglądarki, wysyłane jest żądanie do serwera.
W odpowiedzi, serwer zwraca zawartość wybranej strony.
Konsumentem usług internetowych dostarczanych przez program Trawers może być
każda aplikacja, która 'rozumie' ten sposób komunikacji. Poprzez dedykowany
interfejs użytkownika pobiera dane i przygotowuje żądania, które przesyła do Trawersa.
W wyniku otrzymuje wymagany zestaw danych.
3. Zastosowania usług internetowych
Jednym z zastosowań usług internetowych programu Trawers, może być współpraca
ze sklepem internetowym. Trawers wówczas, z jednej strony dostarcza
informacji o towarach, stanach magazynowych, zamówieniach, danych
klientów, itd. Z drugiej zaś przyjmuje żądania rejestracji nowych
zamówień.
Podobny obszar zastosowania to sprzedaż mobilna. W tym rozwiązaniu
aplikacje pracujące na urządzeniach mobilnych łączą się przez Internet
z Trawersem i pobierają informacje o towarach, stanach i płatnościach
oraz rejestrują zamówienia
Patrz też:
SOA Przykłady rozwiązańSOA Programy w Python i PHP
Prosty przykład wyjaśniający sposób wykorzystania Trawersa jako serwera
usług internetowych można znaleźć na ftp.tres.pl/integracja/soa
4. Przykład wykorzystania usług internetowych programu Trawers
4.1 Uruchomienie serwera usług (HTTP) - w menu
W AD > Trawers > Usługi SOA > SOA Serwer internetowy
o-- Serwer SOA HTTP --------------------------[X]o
| |
| Adres IP: .............. (pusty - wszystkie) |
| Port: 7000 |
| |
o------------------------------------------------o
Proszę wybrać port 7000, gdyż port 80 może być zajęty przez serwer www
działający na komputerze.
Adres IP to adres, na którym serwer będzie nasłuchiwać.
Ma znaczenie, gdy komputer posiada kilka interfejsów sieciowych
a usługa ma być dostępna tylko na jednym z nich.
Np. adres 127.0.0.1 pozwala bezpiecznie testować serwer lokalnie,
bez udostępniania danych w sieci.
Pole niewypełnione: udostępnia usługi na wszystkich interfejsach sieciowych.
4.2 Uruchomienie serwera usług (HTTP) - Autorun
Serwer usług SOA można uruchamić w trybie Autorun, automatycznie
bez interfejsu użytkownika.
Patrz szczegóły:
Procesy Autorun
Kroki:
1. Dopisać proces serwera SOA do tabeli Autorun:
- oznaczyć parametr operatora: 0639
- zalogować się jako ten operator
- uruchomić funkcję:
AD > Trawers > Usługi SOA > SOA Serwer internetowy
- podać Adres IP i port
- Na pytanie: Czy zapisać do tabeli Autorun ? odpowiedzieć [Tak]
- W oknie: Opcje podać:
- Nazwa procesu, np: Serwer SOA
- Wykonaj jako operator: Podać symbol operatora
- Tryb: [Cyklicznie]
- oznaczyć: wszystkie dni tygodnia i miesiąca
- proces AD_PSOA2 zostanie dopisany do tabeli:
AD > Trawers > Procesy Autorun
- po zapisaniu danych automatycznie uruchomi się serwer SOA
- sprawdzić działanie serwera (patrz opis dalej)
- przerwać działanie serwera klawiszem: F10
2) Przygotować skrypt: tr-serwer-soa.sh (dla systemu Linux)
#!/bin/sh
# Poczatek
# Nalezy podac wlasciwa sciezke do katalogu instalacyjnego
TRAWERS=/trawers/adtres
cd $TRAWERS
./tr5x.exe //gtnul --operator=AA --firma=FP --oddzial=00 --proces=AD_PSOA2
# Nalezy podac wlasciwe symbole operatora i firmy
# Koniec
- nadać skryptowi prawa wykonywania
- uruchomić skrypt ręcznie, aby przetestować (patrz p.4.3)
- można przerwać Ctrl+C lub poleceniem kill
- skrypt można dopisać do systemowej tabeli cron
NOTE:
W przypadku potrzeby uruchomienia kilku procesów serwera HTTP
należy pominąc pkt 1) z dopisywaniem serwera HTTP do tabeli Autorun.
Zamiast tego należy w pkt 2) zdefiniować zmienną środowiskową
TR_HTTP_PORT, która będzie zawierała numer portu, na którym
chcemy uruchomic serwer HTTP np.:
export TR_HTTP_PORT=7001
4.3 Sprawdzenie funkcjonowania serwera
Uruchomić przeglądarkę internetową i wpisać adres komputera, na którym
uruchomiony jest Trawers.
W wersji -W (Windows) najczęściej jest to komputer, przy którym pracuje
użytkownik.
Można więc posłużyć się adresem: localhost (127.0.0.1)
http://127.0.0.1:7000
Poprawnym wynikiem jest wyświetlenie strony powitalnej serwera usług
internetowych.
4.4 Przykładowe pytanie do serwera i odpowiedź
W katalogu ftp.tres.pl/integracja/soa jest przykładowy skrypt dla Windows,
który wysyła pytanie do serwera i prezentuje odpowiedź jako stronę w przeglądarce.
Skrypt: tr-web.bat
Katalog z zapytaniami: \zapytania
Katalog z wynikami: \wyniki
Skrypt potrzebuje programów:
* curl : http://curl.haxx.se/download.html
* xsltproc: http://www.zlatkovic.com/libxml.en.html
http://xmlsoft.org/XSLT/xsltproc2.html
Programy te powinny być widoczne dla skryptu: tr-web.bat
Należy umieścić je na ścieżce PATH lub wgrać do katalogu z tr-web.bat
Jako jedyny parametr wywołania tr-web.bat należy podać adres i port serwera
usług Trawers, np. tr-web.bat 127.0.0.1:7000
4.5 Opis komunikacji
Do serwera usług Trawers, protokołem http wysyłane jest polecenie POST.
POST powinien mieć w nagłówku: "Content-Type: application/soap+xml"
lub wpis: "SOAPAction: TrawersSOA"
Serwer zwraca odpowiedź w formie komunikatu SOAP
W przykładzie, do wysłania polecenia POST, użyto programu curl
W przypadku wysłania polecenia POST nie spełniającego warunku, nie zostanie ono
rozpoznane jako pytanie do serwera i zwrócona zostanie standardowa strona powitalna.
5. Limit sesji SOA
Liczba sesji określona jest w kluczu licencyjnym i jest kontrolowana.
Nie można uruchomić programu wiecej razy niż podano w licencji.
Także funkcje AutoRun i funkcje SOA (wykonywane w AutoRun i via Server SOA)
pobierają sesje z puli podanej w licencji.
Patrz szczegóły:
Zarządzanie sesjami
6. Pytania. Problemy i ich rozwiązywanie
P. Czy można ustalić jaka jest przyczyna wyłączenia serwera SOA ?
O. Wyłączenie zainicjowane przez Trawers można odczytać w logu.
Jeżeli nie ma śladu po wylogowaniu to prawdopodobnie zewnętrzny proces
'zabija' sesję Trawersa.
P. Kiedy trzeba wyłączyć serwers SOA ?
O. Wyłączenie jest konieczne tylko podczas aktualizacji exe.
Wymiana programu wymaga zatrzymania i ponownego uruchomienia.
Trawers nie robi tego samoczynnie więc trzeba zadbać aby po aktualizacji
procesy Autorun zostały uruchomione ponownie.
P. Jak zapewnić, że proces serwera SOA nie wyłączy się z powodu
'bezczynności' operatora (proces wywołany z menu).
O. Serwer SOA trzeba uruchomić w trybie Autorun.
Uruchomiony w Autorun nie wyłączy się podczas 'bezczynności' operatora.