Artykuł zawiera opis struktury i działanie System Output Manager (SOM). Przedstawiono w nim także różne możliwości konfiguracji i zarządzania, a także przykładowe sposoby rozwiązywania problemów.
Instalacja System Output Manager została opisana w dokumencie Instalacja System Output Manager (SOM).
Grupa docelowa
- Administratorzy
Wprowadzenie
System Output Management używa jednego lub więcej System Output Managera do wysyłania dokumentów i raportów. System Output Manager (SOM) to serwer specjalizujący się w wydrukach dokumentów. Podobnie jak serwer drukarki, udostępnia on swoje usługi wyjściowe innym komputerom (klientom). W tym przypadku klientami są Semiramis Application Server (SAS), które wysyłają swoje zadania wyjściowe do przetworzenia do System Output Manager.
SOM może akceptować dane wyjściowe dla jednego lub więcej serwerów aplikacji, przy czym serwery aplikacji mogą nawet należeć do różnych systemów Comarch EPR Enterprise. Do systemu można przypisać jeden lub więcej SOM-ów. SOM i SAS (lub systemy) są w relacji N:M.
Podczas przetwarzania zamówienia SOM zmienia rolę i staje się klientem, jeśli na przykład żąda aktualnego szablonu raportu (*rpt) z SAS, wysyła zapytania o dane z „serwera ODBC” za pośrednictwem ODBC, wysyła wiadomości e-mail za pośrednictwem serwera pocztowego lub przechowuje kopie archiwalne w Knowledge Store.

Komunikacja pomiędzy SAS i SOM opiera się, podobnie jak komunikacja pomiędzy przeglądarkami i SAS, na protokole HTTPS i umożliwia bezpieczną komunikację nawet przez Internet. W związku z tym istnieje możliwość umieszczenia SOM poza (serwerową) siecią LAN.
Urządzenia wyjściowe i nośniki
SOM obsługuje następujące typy urządzeń wyjściowych i nośników:
Termin „urządzenie wyjściowe” jest używany jako uogólnienie drukarki. SOM zwykle zapewnia wiele takich urządzeń wyjściowych. Każda drukarka i faks są uważane za oddzielne urządzenia wyjściowe. Każde urządzenie wyjściowe ma określone właściwości i możliwości. Jedna z tych właściwości/ możliwości ma ogólne zastosowanie do typu urządzenia wyjściowego, inne są specyficzne dla danego urządzenia.
SOM zasadniczo udostępnia wszystkie drukarki i faksy zainstalowane na danym komputerze. Aby móc korzystać z tych urządzeń w systemie Comarch ERP Enterprise, należy je najpierw przypisać do urządzenia wyjściowego. To pośrednie przypisanie ma następujące zalety:
- Ukierunkowany wybór faktycznie wymaganej drukarki.
- Poszczególne drukarki (lub SOM) mogą być zmieniane lub wymieniane bez zmiany nazwy urządzenia wyjściowego w Comarch ERP Enterprise. Pomaga to uniknąć konieczności dostosowywania priorytetów, szablonów dokumentów końcowych lub ustawień użytkownika.
- Wykorzystanie urządzenia wyjściowego może być autoryzowane poprzez rolę uprawnień.
Drukarka
SOM używa drukarki zainstalowanej na poziomie systemu operacyjnego do drukowania. Wszystkie drukarki obsługiwane przez system operacyjny są obsługiwane lub dostępne dla odpowiedniego sterownika drukarki. Zasadniczo mogą to być drukarki lokalne lub „sieciowe”. Zaleca się jednak bezpośrednią (lokalną) instalację drukarki, tak jak w przypadku serwera drukarki.
Faks
Do wysyłania dokumentów i raportów jako faksów, SOM używa rozwiązania faksowego firmy Microsoft (Windows Fax). Aby z niego korzystać, wymagany jest modem faksu lub karta ISDN obsługiwana przez to oprogramowanie.
Zamówienia faksowe są monitorowane przez SOM, a komunikaty mogą być generowane, gdy wysyłka została zrealizowana lub nie powiodła się.
Istnieje również możliwość podłączenia faksów za pomocą zewnętrznych generatorów (rozdział Podłączanie rozwiązań faksowych). Ponieważ SOM może monitorować tylko zintegrowane rozwiązanie faksu, to od rozwiązania faksu zależy, czy i w jaki sposób rejestruje status zleceń i wysyła wiadomości.
Dokumenty i raporty mogą być również wysyłane przez SOM jako e-mail, gdzie wygenerowane dokumenty wyjściowe mogą być załączone do wiadomości e-mail. Można wybrać format dokumentu dla załącznika.
SOM deleguje wysyłkę wiadomości e-mail do serwera SMTP; taki serwer musi być dostępny i wprowadzony do SOM.
Systemowe repozytorium wiedzy Kstore
Dokumenty i raporty mogą być również wysyłane jako plik i przechowywane w Comarch ERP Enterprise Knowledge Store. Obsługiwane są następujące formaty plików:
- Portable Document Format (PDF)
- HTML (*.html)
- Tekst (*.txt)
- Tekst (wartości oddzielone przecinkami) (*.csv)
- Tekst (wartości oddzielone tabulatorami) (*.tsv)
- Format tekstu sformatowanego (*.rtf)
- Microsoft Word (*.doc)
- Microsoft Excel (*.xls)
- Crystal Reports (*.rpt)
- XML (*.xml)
- Strumień danych drukarki (np. PCL, postscript)
Crystal Reports
Podstawą wszystkich dokumentów i raportów w Comarch EPR Enterprise są odpowiednie dokumenty raportów. Tworzenie i projektowanie takich szablonów raportów odbywa się za pomocą (zewnętrznej) aplikacji Crystal Reports.
Pliki (*.rpt) utworzone za pomocą Crystal Reports są zapisywane w bazie danych repozytorium Comarch EPR Enterprise.
Tak zwany Crystal Report Print Engine jest zintegrowany z SOM, co pozwala na automatyzację wydruków raportów.
SOM ładuje szablony raportów (*.rpt) przez SAS, który wygenerował odpowiednie zadanie wyjściowe. Załadowane szablony raportów są buforowane w SOM, dzięki czemu dostęp do nich można zapisać w SAS za pomocą zleceń z tym samym szablonem raportu.
Dostęp do danych
Dostęp do baz danych systemów Comarch EPR Enterprise odbywa się za pośrednictwem specjalnego sterownika ODBC, który udostępnia bazy danych jako tak zwane źródła danych ODBC dla Crystal Reports. Istnieją dwie wersje tego sterownika Semiramis ODBC. Wersja dla zwykłego (interaktywnego) klienta-komputera i specjalna wersja dla SOM. Wersja kliencka jest wymagana na przykład do tworzenia szablonów raportów i musi być zainstalowana wraz z Crystal Reports na komputerach, na których można tworzyć szablony raportów. Wersja sterownika ODBC dla SOM jest częścią SOM i jest instalowana wraz z nim na odpowiednich komputerach serwerów.
Źródła danych ODBC używane w szablonach raportów muszą być normalnie dostępne i/lub skonfigurowane w SOM. Nie jest to konieczne w przypadku baz danych OLTP, OLAP, repozytorium i konfiguracji. Szablony raportów dla tych baz danych muszą zamiast tego używać następujących nazw symbolicznych:
- OLTP
- OLAP
- Repository
- Configuration
Te nazwy symboliczne umożliwiają tworzenie szablonów raportów, które mogą być używane dla różnych baz danych (i systemów) bez zmian (!).
SOM może automatycznie zastąpić te nazwy w czasie wykonywania nazwami tymczasowych źródeł danych i skonfigurować je tak, aby odpowiadały bazom danych danego użytkownika.
Struktura i proces
SOM składa się z następujących komponentów:
- Web server
- Kolejki dla zadań wyjściowych
- Harmonogram
- Procesor(y) raportów
- Pamięć podręczna raportów
- Sterowniki ODBC Semiramis
- Interfejs dla drukarki Windows
- Klient faksu Windows
- Klient serwera poczty elektronicznej (SMTP)
- Klient dla WebDAV (Comarch ERP Enterprise Knowledge Store)
- Klient do ładowania szablonów raportów (*.rpt)
- Usługa powiadomień
Web server
SOM ma zintegrowany serwer HTTPS, za pośrednictwem którego świadczy swoje usługi odpowiednim klientom HTTPS. Klienci ci obejmują przede wszystkim serwery aplikacji Semiramis (SAS), które wysyłają swoje zadania wyjściowe i zapytania o status do SOM. Niektóre strony statusu (HTML) SOM mogą być również odpytywane za pomocą zwykłej przeglądarki.
Przychodzące zapytania (zadania wyjściowe, zapytania o stan itp.) nie są przetwarzane przez web server, ale są przekazywane do odpowiednich podkomponentów SOM.
Kolejka
Wszystkie przychodzące zlecenia są najpierw buforowane w centralnej kolejce. (Pierwsza) kolejka działa niezależnie od urządzenia wyjściowego i spełnia następujące zadania:
- Asynchroniczne przetwarzanie zamówień, tj. użytkownicy mogą przetwarzać dalej i nie muszą czekać, aż ich zamówienia zostaną przetworzone.
- Kontrola zużycia zasobów (pamięć RAM, obciążenie procesora, dostęp do ODBC), tj. jednocześnie przetwarzanych jest tylko tyle zleceń, na ile pozwalają zasoby SOM i używanego serwera (zwłaszcza serwera ODBC).
- Przetwarzanie sterowane priorytetem zleceń, tzn. zlecenia o wyższym priorytecie są przetwarzane przed zleceniami o niższym priorytecie, nawet jeśli zostały otrzymane wcześniej.
- Przetwarzanie zleceń sterowane zasobami, tj. zlecenia, dla których nie są dostępne wszystkie niezbędne zasoby, są „zatrzymywane” do czasu ich udostępnienia. Te „zasoby” obejmują fizyczne urządzenia wyjściowe (drukarki) i szablony raportów (*.rpt), które muszą być najpierw załadowane przez SAS.
Kolejka jest jednocześnie dostępna jako historia zleceń, tzn. zapisuje również status zamkniętych i anulowanych zleceń.
Harmonogram
Przetwarzanie centralnej kolejki i monitorowanie statusów zamówień odbywa się za pośrednictwem centralnego harmonogramu. Ważne są następujące aspekty:
- Tworzenie licznych raportów lub dokumentów za pomocą Crystal Reports może zająć dużo czasu. Czysto sekwencyjne przetwarzanie prowadziłoby do opóźnień w generowaniu wszystkich kolejnych raportów i dokumentów. Aby tego uniknąć, zamówienia muszą być przetwarzane równolegle.
- Nie można utworzyć dowolnej liczby raportów i dokumentów jednocześnie, ponieważ wymagane do tego zasoby są ograniczone. Dotyczy to zasobów w module SOM (procesor, pamięć RAM, dysk twardy) oraz zasobów na wymaganym serwerze (serwer ODBC, baza danych).
- Zwykle ważne jest, aby po wyjściach drukarki (w zależności od drukarki) wydruki były wyprowadzane w kolejności, w jakiej zostały odebrane jako zamówienie. Nie można tego jednak zagwarantować w przypadku przetwarzania równoległego, ponieważ czasy przetwarzania poszczególnych zleceń mogą się znacznie różnić.
Tworzenie raportów i dokumentów odbywa się zatem za pośrednictwem tak zwanych „procesorów raportów”, których liczbę można dostosować za pomocą pliku konfiguracyjnego SOM. Ponieważ liczba tych procesorów jest zwykle niska (wstępnie ustawiona wartość to 3), szczególnie ważne jest, aby była ona wykorzystywana tak efektywnie, jak to tylko możliwe. Tak więc procesy te wykonują tylko te etapy zamówienia, dla których Crystal Reports Report Engine jest naprawdę potrzebny. Wszystkie inne etapy przetwarzania, takie jak zakup szablonu raportu, wysyłka pocztą lub zapisanie w Knowledge Store, nie muszą czekać na zasoby zewnętrzne; w tym czasie mogą być przetwarzane inne zamówienia. Hrmonogram zapewnia w zleceniach drukowania, że wiele procesorów nie pracuje jednocześnie dla jednej drukarki.
Podsystemy
Kroki przetwarzania wymagane dla zadania wyjściowego (takie jak sprawdzanie lub ładowanie szablonu raportu, tworzenie raportu, wysyłanie raportu jako wiadomości e-mail, zapisywanie kopii w Knowledge Store i informowanie SAS) są wykonywane przez wewnętrzne podsystemy. Niektóre z tych kroków przetwarzania mogą być wykonywane tylko wtedy, gdy poprzedni krok jest zamknięty (raport musi zostać ukończony przed wysłaniem go jako e-mail), podczas gdy inne mogą być wykonywane równolegle (na przykład wysyłka jako e-mail i zapisanie w Knowledge Store).
Podsystemy te obejmują:
- Podsystem ładowania szablonów raportów (*.rpt)
- Podsystem tworzenia raportów (procesory raportów)
- Podsystem zapisywania dokumentów w Knowledge Store
- Podsystem wysyłania dokumentów jako e-mail
- Podsystem wysyłania dokumentów jako faks
- Podsystem wysyłania wiadomości do SAS
Każdy z tych podsystemów ma kolejkę i ograniczoną liczbę wątków, które wewnętrznie „przetwarzają” tę kolejkę. Liczba wątków zależy od podsystemu. W przypadku podsystemu tworzenia raportów liczbę wątków (procesorów) można określić w pliku konfiguracyjnym, podsystemy poczty e-mail i faksu używają tylko jednego wątku, a podsystemy dostępu do SAS używają oddzielnego wątku dla każdego SAS.
Zadaniem harmonogramu jest głównie przypisywanie zleceń na podstawie typu i statusu do wymaganych podsystemów we właściwym czasie. Po zakończeniu pracy informują one harmonogram, który z kolei inicjuje ten sam lub następny krok przetwarzania, w zależności od przypadku.
Poniższy przykład może wyjaśnić ten proces. Dokument musi zostać wysłany jako e-mail, a jego kopia musi zostać zapisana w repozytorium Kstore.
- SAS wysyła odpowiednie zamówienie do SOM.
- SOM umieszcza zlecenie w kolejce centralnej, informuje o tym harmonogram i odsyła (pozytywne) potwierdzenie odbioru do SAS.
- Harmonogram określa, że istnieje nowe zamówienie i wymaga szablonu raportu. Przekazuje zlecenie do podsystemu szablonów raportów.
- Podsystem szablonów raportów ma pamięć podręczną z załadowanymi szablonami raportów. Jeśli wymagany szablon raportu jest dostępny i zaktualizowany, harmonogram jest o tym natychmiast informowany. Jeśli szablon raportu nie jest dostępny lub zaktualizowany, odpowiednie żądanie ładowania jest umieszczane w kolejce podsystemu. Ładowanie i sprawdzanie szablonu raportu odbywa się asynchronicznie. Harmonogram jest informowany o zakończeniu ładowania/sprawdzania.
- Harmonogram sprawdza, czy istnieje zlecenie, które może zostać przekazane do procesora raportów. Przekazuje zlecenie do podsystemu tworzenia raportów.
- Podsystem tworzenia raportów umieszcza zlecenie w kolejce procesorów raportów zgodnie z jego priorytetem. Procesory raportów stale aktualizują tę kolejkę. Jeśli raport został utworzony, program harmonogramowania jest o tym ponownie informowany.
- Harmonogram określa teraz, czy generowanie raportu dla zamówienia zostało zakończone, ale wygenerowany (tymczasowy) plik musi zostać wysłany pocztą e-mail i zapisany w Knowledge Store. Informuje (jednocześnie) odpowiednie podsystemy.
- Podsystem wysyłania wiadomości e-mail umieszcza zamówienie w swojej kolejce. Kolejka jest stale aktualizowana przez wątek. Harmonogram jest informowany po udanej wysyłce.
- Podobnie podsystem zapisywania dokumentów w Knowledge Store umieszcza zamówienie w swojej kolejce. Dla każdego SAS istnieje osobna kolejka, która jest przetwarzana przez osobny wątek. Harmonogram jest informowany po pomyślnym zapisaniu.
- Gdy harmonogram otrzyma wiadomości z dwóch podsystemów, ustawia status zamówienia na Zamknięte i informuje podsystem o wiadomościach.
- Podsystem wysyłania wiadomości ponownie umieszcza zamówienie w swojej kolejce. Istnieje również oddzielna kolejka dla każdego SAS, która jest przetwarzana przez oddzielny wątek. Ponieważ zamówienie jest już zamknięte dla harmonogramu, nie ma tutaj końcowego raportowania.
- W ten sposób przetwarzanie jest zakończone w SOM.
Określona procedura pomaga w wykorzystaniu zasobów niezbędnych do realizacji zamówienia (w tym również niezbędnych serwerów) tak efektywnie, jak to możliwe, bez ich przeciążania.
Priorytety zleceń
Podsystem tworzenia raportów obsługuje zadania wyjściowe podczas przetwarzania priorytetów. Wszystkie procesory raportów działają zgodnie z tą samą regułą w standardowej konfiguracji: Jeśli następne zlecenie ma zostać wybrane dla wolnego procesora raportów, z kolejki wybierane jest zlecenie o najwyższym priorytecie. Jeśli istnieje kilka zleceń o tym samym priorytecie, wybierane jest pierwsze (najstarsze) zamówienie.
Raz rozpoczęte zlecenie nie zostanie anulowane przez procesor raportów w przypadku otrzymania innego zlecenia o wyższym priorytecie. W najtrudniejszych sytuacjach, standardowa konfiguracja może spowodować, że wszystkie procesory raportów będą zaangażowane w długotrwałe raporty, a zlecenia o wyższych priorytetach będą musiały czekać. Aby uniknąć takiej sytuacji, można oddzielnie określić dla każdego procesora raportów, że może on przetwarzać zlecenie o określonym priorytecie (minimalnym/maksymalnym). W ten sposób, na przykład, procesor raportów może być zarezerwowany dla zleceń o wysokim priorytecie, które nie mogą być blokowane przez długo działające zlecenia (pod warunkiem, że mają niższy priorytet). Możliwa jest również sytuacja odwrotna; minimalne i maksymalne priorytety procesorów raportów można skonfigurować w taki sposób, aby zlecenia o niższym priorytecie mogły być przetwarzane tylko przez procesor raportów.
Konfiguracja
System Output Manager
Folder konfiguracji
Podczas instalacji SOM w folderze instalacyjnym tworzony jest podfolder config. Po instalacji katalog ten zawiera następujące pliki:
- server.properties – plik konfiguracyjny
- localhost.jks – certyfikat dla „localhost” w formacie „*.jks”
- localhost.pfx – certyfikat dla „localhost” w formacie „*.pfx”
Plik server.properties jest używany jako szablon i musi zostać odpowiednio dostosowany (więcej w Plik konfiguracyjny). Certyfikaty „localhost” nie są wymagane w normalnej pracy, służą wyłącznie do celów demonstracyjnych/testowych. Zamiast tego, certyfikat musi być przechowywany w tym katalogu (format „*.jks”), który jest nazwany zgodnie z rzeczywistą nazwą hosta SOM.
Plik konfiguracyjny
Plik konfiguracyjny dostarczony jako szablon (server.properties) zawiera wszystkie standardowe ustawienia dla SOM. Poszczególne wpisy muszą zostać dostosowane; dotyczy to w szczególności nazw hostów SOM i serwera SMTP, który ma być używany.
Poniższe rozdziały opisują istniejące parametry konfiguracyjne i ich znaczenie.
Ustawienia dla zintegrowanego web servera
Poniższe parametry służą do konfiguracji zintegrowanego web servera:
- com.cisag.sys.www.daemon.baseURI
Za pomocą tego parametru określany jest adres bazowy (-URL) SOM, na przykładhttps://som.yourcompany.com:8443. Wszystkie zapytania (HTTPS) wysyłane do SOM muszą używać tego adresu bazowego. Adres bazowy określa log, nazwę serwera (nazwę hosta) i numer portu. Nazwa serwera musi być również zgodna z nazwą pliku certyfikatu serwera (na przykład: som.yourcompany.com.jks), a certyfikat musi być utworzony dla tej nazwy.
- com.cisag.sys.www.daemon.bindURI
Za pomocą tego parametru można wybrać specjalny interfejs sieciowy. Zazwyczaj wybór interfejsu sieciowego odbywa się poprzez nazwy serwerów (com.cisag.sys.www.daemon.baseURI). Można także określić alternatywną nazwę za pomocą „bindURI”, a tym samym żądany interfejs sieciowy.
- com.cisag.sys.www.daemon.needClientAuth
Za pomocą tego parametru można określić, czy certyfikat (klienta) jest wymagany do uwierzytelnienia. Ustawienie wstępne (true) dla tych parametrów nie może zostać zmienione.
Ustawienia dostępu ODBC
Poniższe parametry służą do konfiguracji sterownika ODBC używanego przez SOM.
- somodbc.certname
Ten parametr określa nazwę, pod którą certyfikat użytkownika dla dostępu ODBC został zapisany w magazynie certyfikatów osobistych (przy użyciu kreatora importu certyfikatów). Nazwa ta jest zwykle identyczna z nazwą zwyczajową (CN) z certyfikatu. W wybranym przykładzie jest to som.yourcompany.com, czyli nazwa serwera SOM.
- somodbc.timeout
Ten parametr pozwala określić czas (w sekundach), po którym komunikacja między SOM (sterownik ODBC) a SAS (serwer ODBC) musi zostać przerwana z błędem „Timeout”. Wstępnie ustawiona wartość to 15 minut (900 sekund). Jeśli podczas długich raportów (lub przy dużym obciążeniu serwera) wystąpią odpowiednie komunikaty o błędach ODBC (np. wyświetlanie zdarzeń w systemie Windows), wartość tego parametru należy zwiększyć, jeśli to możliwe.
Ustawienia drukarki faksu
Drukarki mogą być oznaczone jako „drukarki faksowe” za pomocą tego parametru. Są one traktowane w Comarch ERP Enterpsie jako faks, jeśli mają takie oznaczenie. Zazwyczaj takie „drukarki faksowe” są przygotowywane przez odpowiednich producentów zewnętrznych.
fax.printerNames
Należy wprowadzić nazwy odpowiednich drukarek jako wartość, oddzielając je znakiem „|”, jeśli jest to wymagane.
fax.printerNames=MyFaxPrinter
lub
fax.printerNames=FaxPrinter1|FaxPrinter2
Ustawienia dla serwera poczty
Poniższe parametry służą do konfiguracji serwera SMTP używanego przez SOM.
- mail.smtp.host
W tym miejscu wprowadza się (pełną) nazwę hosta serwera poczty, który ma być używany przez SOM do wysyłania wiadomości e-mail.
- mail.smtp.user
Jeśli serwer pocztowy jest skonfigurowany w taki sposób, że konieczne jest uwierzytelnienie, nazwa użytkownika może być określona za pomocą tego parametru.
- mail.smtp.pwd
Jeśli serwer pocztowy jest skonfigurowany w taki sposób, że konieczne jest uwierzytelnianie, hasło można określić za pomocą tego parametru.
- mail.smtp.from
Niektóre serwery pocztowe nie pozwalają na wysyłanie wiadomości z losowym adresem nadawcy („Od”). W takim przypadku parametr ten może być użyty do określenia adresu, który może być zaakceptowany przez serwer pocztowy. Zazwyczaj adres ten musi być zgodny z zalogowanym użytkownikiem (mail.smtp.user). Gdy ta opcja jest używana, określony adres nadawcy jest wprowadzany we wszystkich wysyłanych wiadomościach, niezależnie od tego, który adres nadawcy jest używany w powiązanych zadaniach wyjściowych.
- mail.smtp.port
Jeśli serwer pocztowy nie używa standardowego portu (25), za pomocą tego parametru można określić inną wartość.
Ustawienia procesorów raportów
Poniższe parametry służą do konfiguracji „procesorów raportów” używanych przez SOM.
- rptproc.poolsize
Ten parametr może być użyty do ustawienia maksymalnej liczby „równoległych procesorów raportów”. Domyślne ustawienie to 3 procesory (co odpowiada 3 procesom Windows). Zazwyczaj wartość ta jest dobrym kompromisem między przepustowością a wymaganiami dotyczącymi zasobów. Powinna być zwiększona tylko wtedy, gdy pozwala na to wydajność zaangażowanych serwerów (SOM, SAS, serwer ODBC, baza danych).
- rptproc.minprio
- rptproc.maxprio
Z rptproc.minprio.i=Pmin lub rptproc.maxprio.i=Pmax, minimalny / maksymalny priorytet zamówienia jest ustawiony dla procesora raportu i, który może edytować, gdzie wartości Pmin lub Pmax muszą wynosić od 1 do 100 (włącznie w każdym przypadku).
Priorytety od wartości 1 (najwyższy) do 9 (najniższy) są dostępne w aplikacjach Comarch ERP Enterprise (tj. w interfejsie). Jednak wewnętrznie lub w SOM używane są wartości od 1 (najniższa) do 100 (najwyższa). Poniższa tabela umożliwia konwersję tych wartości:
| Comarch ERP Enterprise (interfejs) | SOM (wewnętrzny) |
| 1 (najwyższy priorytet) | 100 |
| 2 (wysoki priorytet) | 88 |
| 3 (wysoki priorytet) | 75 |
| 4 (średni priorytet) | 63 |
| 5 (średni priorytet) | 50 |
| 6 (średni priorytet) | 38 |
| 7 (niski priorytet) | 25 |
| 8 (niski priorytet) | 13 |
| 9 (najniższy priorytet) | 1 |
rptproc.poolsize=4
rptproc.minprio.1=100
#rptproc.maxprio.1=100
„Procesor 1” z łącznej liczby 4 procesorów jest zarezerwowany dla zleceń o priorytecie 100 (najwyższy priorytet). Wartości domyślne mają zastosowanie do procesorów 2, 3 i 4 (rptproc.minprio.x=1 i rptproc.maxprio.x=100). Tak więc zadania o priorytetach 1-99 są dzielone tylko na procesory 2, 3 i 4. Zlecenia o priorytecie 100 mogą być przetwarzane przez wszystkie cztery procesory.
Przykład 2:
rptproc.poolsize=3
rptproc.minprio.1=2
rptproc.minprio.2=2
#rptproc.minprio.3=1
rptproc.maxprio.3=1
„Procesor 3” z całkowitej liczby 3 procesorów jest zarezerwowany dla zleceń z priorytetem 1 (najwyższy priorytet). Procesory 1 i 2 są skonfigurowane w taki sposób, że nie przetwarzają żadnych zleceń z priorytetem 1. Zlecenia te mogą być przetwarzane wyłącznie przez procesor 3.
- rptproc.reportcache
Każdy procesor raportów ma wewnętrzną pamięć podręczną (LRU) dla szablonów raportów (*.rpt). Za pomocą tego parametru można określić, ile szablonów raportów można zapisać w tej pamięci podręcznej. Wstępnie ustawionych jest 10 szablonów raportów. Ogólnie rzecz biorąc, wartość ta oznacza dobry kompromis między czasem dostępu a wykorzystaniem pamięci i należy ją zwiększyć tylko wtedy, gdy pozwala na to dostępna pamięć RAM.
- rptproc.checkTableMask
Za pomocą tego parametru można określić, że szablony raportów muszą zostać przetestowane przed użyciem pod kątem ich poziomu aktualizacji (w odniesieniu do zmian w bazie danych). Jeśli ta opcja zostanie użyta, a szablon raportu nie pasuje do schematu bazy danych, generowanie raportu zostanie anulowane z błędem. Istnieją różne rodzaje zmian. Typy zmian, które mają prowadzić do anulowania, można określić za pomocą maski bitowej. Poniższa tabela przedstawia przypisanie między zmianą a wartością bitu:
| Błąd (zmiana) | Wartość |
| DATABASENOTFOUND | 0x00000001 |
| SERVERNOTFOUND | 0x00000002 |
| SERVERNOTOPENED | 0x00000004 |
| ALIASCHANGED | 0x00000008 |
| INDEXESCHANGED | 0x00000010 |
| DRIVERCHANGED | 0x00000020 |
| DICTIONARYCHANGED | 0x00000040 |
| FILETYPECHANGED | 0x00000080 |
| RECORDSIZECHANGED | 0x00000100 |
| ACCESSCHANGED | 0x00000200 |
| PARAMETERSCHANGED | 0x00000400 |
| LOCATIONCHANGED | 0x00000800 |
| DATABASEOTHER | 0x00001000 |
| NUMFIELDSCHANGED | 0x00010000 |
| FIELDOTHER | 0x00020000 |
| FIELDNAMECHANGED | 0x00040000 |
| FIELDDESCCHANGED | 0x00080000 |
| FIELDTYPECHANGED | 0x00100000 |
| FIELDSIZECHANGED | 0x00200000 |
| NATIVEFIELDTYPECHANGED | 0x00400000 |
| NATIVEFIELDOFFSETCHANGED | 0x00800000 |
| NATIVEFIELDSIZECHANGED | 0x01000000 |
| FIELDDECPLACESCHANGED | 0x02000000 |
Parametry specjalne do rozwiązywania problemów
Poniższe parametry mogą być używane do ograniczania błędów lub rozszerzonego „logowania”. Nie są one przeznaczone do pracy produkcyjnej i mogą znacznie zmniejszyć szybkość przetwarzania, na przykład ze względu na ilość danych wyjściowych.
Ponieważ wymienione tutaj wpisy są już wprowadzone do pliku konfiguracyjnego, ale wyłączone przez „#” na początku linii (nieskomentowane). Można je aktywować po prostu usuwając ten znak.
- com.cisag.sys.www.daemon.connection.traceProcessingTime=true
Za pomocą tej opcji zintegrowany serwer WWW jest instruowany, aby rejestrować każdy dostęp, gdzie URI i wymagany czas są wyprowadzane.
- javax.net.debug=ssl:handshake
Opcja implementacji SSL/TLS jest instruowana, aby wyprowadzać informacje poprzez strukturę połączenia (w tym wymianę certyfikatu).
- mail.debug=true
Za pomocą tej opcji można monitorować komunikację między SOM a serwerem poczty.
Czcionki
Jeśli w raportach lub kuponach używane są specjalne czcionki lub symbole, należy je również zainstalować na komputerze SOM. Dotyczy to również obsługi specjalnej podkategorii Unicode.
Rejestracja Microsoft Windows
Dane konfiguracyjne usługi Windows, sterownika ODBC i mechanizmu drukowania Crystal Reports są zapisywane w bazie danych rejestracji („Rejestrze”) systemu Microsoft Windows. Dane te są automatycznie ustawiane przez program instalacyjny i nie wolno ich zmieniać. Jeśli w wyjątkowych przypadkach jest to konieczne, wybrane wpisy są opisane tutaj.
Usługa SOM
HKLM\SYSTEM\CurrentControlSet\Services\somsvc\Parameters
Linia poleceń jest określana na początku SOM za pomocą parametru CommandLine=…. W razie potrzeby można tu bezpośrednio wprowadzić ścieżkę do zainstalowanego JDK/JRE i/lub przekazać do JVM dodatkowe parametry.
Silnik druku Crystal Reports
HKLM\SOFTWARE\Crystal Decisions\9.0\Crystal Reports\Export\PDF
Za pomocą parametru ForceLargerFonts=1, Crystal Reports jest instruowany, aby używać tej samej czcionki podczas generowania plików PDF, jak w przypadku wydruku na drukarce. Jeśli ten parametr zostanie usunięty lub ustawiony na 0, Crystal Reports zachowuje się jak w poprzednich wersjach i używa zmniejszonego rozmiaru czcionki w plikach PDF.
SAS i system
Aby upewnić się, że SOM może być używany przez SAS systemu Comarch ERP Enterprise, konieczne są następujące kroki konfiguracji:
- System Comarch ERP Enterprise musi zostać poinformowany o SOM poprzez połączenie System Output Manager w aplikacji Panel system.
- Należy utworzyć certyfikat dla SOM (musi on być dostępny w formatach *.pfx i *.jks).
- W systemie musi być dostępny użytkownik dla SOM (z uprawnieniami administratora).
- Należy zapewnić dedykowany serwer dla dostępu ODBCAby zapewnić możliwość korzystania z poszczególnych drukarek, faksów i poczty w Comarch ERP Enterprise, należy je wprowadzić w aplikacji Urządzenia wydruku i przypisać odpowiednie role uprawnień za pomocą aplikacji Role uprawnień.
Szczegółowy opis niezbędnych kroków można znaleźć w dokumentacji instalacyjnej System Output Manager (SOM).
Panel system
Aby serwer aplikacji systemu Comarch ERP Enterprise mógł uzyskać dostęp do SOM, musi zostać wprowadzony do systemu. Do tego celu służy kategoria Połączenie z ERP Comarch ERP Enterprise Output Manager w aplikacji Panel system. SOM musi mieć możliwość ponownego dostępu do SAS (w szczególności do plików .rpt, Knowledge Store i serwera ODBC). Aby to umożliwić, należy zapewnić odpowiedniego użytkownika dla SOM i przypisać go do systemu.
Połączenie System Output Manager
Aby serwer aplikacji systemu Comarch ERP Enterprise mógł uzyskać dostęp do SOM, musi zostać wprowadzony do systemu. Do tego celu służy kategoria Połączenie z ERP Comarch ERP Enterprise Output Manager w aplikacji Panel system. SOM musi mieć możliwość ponownego dostępu do SAS (w szczególności do plików .rpt, Knowledge Store i serwera ODBC). Aby to umożliwić, należy zapewnić odpowiedniego użytkownika dla SOM i przypisać go do systemu.
Dla połączenia System Output Manager istotne są następujące wartości:
-
Server URI
-
Połączenia
-
Serwer docelowy ODBC
Aby serwer aplikacji systemu Comarch ERP Enterprise mógł uzyskać dostęp do SOM, musi zostać wprowadzony do systemu. Do tego celu służy kategoria Połączenie z ERP Comarch ERP Enterprise Output Manager w aplikacji Panel system. SOM musi mieć możliwość ponownego dostępu do SAS (w szczególności do plików .rpt, Knowledge Store i serwera ODBC). Aby to umożliwić, należy zapewnić odpowiedniego użytkownika dla SOM i przypisać go do systemu.
W polu SOM URI należy wprowadzić wartości logu, nazwy hosta i portu. Za ich pośrednictwem SOM będzie dostępny w sieci. Wartości te muszą być zgodne z wpisami w pliku konfiguracyjnym SOM (com.cisag.sys.www.daemon.baseURI).
W polu Połączenie można określić maksymalną liczbę połączeń, które SAS może jednocześnie (równolegle) używać dla tego SOM. Standardową wartością jest 5. Zwykle nie jest konieczne używanie innej wartości, jednak może to być przydatne w następujących przypadkach:
-
Jeśli używany jest więcej niż jeden SOM, największa wartość decyduje o tym, który SOM będzie używany dla parserów plików .rpt.
-
Jeśli wielu użytkowników pracuje z aplikacjami Artykuły lub Raport: Dokumenty raportu.
-
Wykorzystanie SOM można wyłączyć za pomocą wartości 0.
W polu Docelowy serwer ODBC można użyć określonego SAS jako specjalnego serwera ODBC. Bez tego wpisu SOM zawsze wysyła zapytania ODBC do SAS, z którego otrzymał dane zadanie wyjściowe.
Serwer aplikacji
Każdy SAS, który ma obsługiwać zapytania ODBC SOM, musi być skonfigurowany do nieograniczonego dostępu ODBC. Liczba połączeń z bazą danych musi być odpowiednio mierzona. Dla każdego procesora raportów SOM muszą być dostępne 3 połączenia z bazą danych. SOM działa jednocześnie w standardowej konfiguracji z maksymalnie 3 procesorami raportów, więc tylko w tym przypadku wymagane jest 9 połączeń z bazą danych (na SOM). Muszą istnieć 3 inne połączenia z bazą danych jako rezerwa bezpieczeństwa. Jeśli SAS jest wymagany do wykonywania innych zadań i/lub obsługi użytkowników interaktywnych (ODBC), to naturalnie musi być więcej połączeń z bazą danych.
W przypadkach, gdy SOM ładuje pliki .rpt, przechowuje pliki w Knowledge Store lub wysyła wiadomości, połączenia z bazą danych są również wymagane w danym SAS. W tym przypadku (każdy) SOM na typ dostępu wymaga tylko jednego połączenia z bazą danych. Dlatego zarezerwowanie 3 połączeń z bazą danych (na SOM) dla bazy danych repozytorium i po jednym połączeniu z bazą danych OLTP powinno wystarczyć.
Użytkownik
Aby zapewnić SOM dostęp do SAS, należy utworzyć użytkownika. Kategorią wartości musi być Serwer. Gwarantuje to, że na tym koncie nie można uruchamiać żadnych aplikacji dialogowych, a jednocześnie zapewnia, że żadna licencja użytkownika nie jest wykorzystywana z tego powodu. Certyfikat, który został ustawiony dla SOM i zapisany w jego folderze konfiguracyjnym, musi zostać zaimportowany do tabeli Identyfikacje.
Wskazówka Jeśli używanych jest kilka modułów SOM, mogą one korzystać z tego samego użytkownika. Wystarczy przypisać temu użytkownikowi certyfikat danego modułu SOM. W tej procedurze traci się inną istniejącą unikalność nazwy użytkownika, co może powodować problemy w niektórych komunikatach lub wyświetlaczach.
Grupa użytkowników
Użytkownik SOM wymaga uprawnień administratora i musi być dołączony do grupy użytkowników ADMINISTRATORZY.
System
Użytkownik SOM musi być przypisany do systemu jako Pracownik (typ licencji) z Pełnym dostępem (tryb dostępu).
Urządzenia wyjściowe
Drukarki i faksy mogą być dodawane do SOM lub usuwane w czasie pracy, o ile nie jest konieczne ponowne uruchomienie SOM lub SAS. Aby używać drukarek lub faksów w systemie Comarch ERP Enterprise, muszą one być przypisane do urządzenia wyjściowego.
Za pomocą aplikacji Urządzenia można tworzyć zadania wyjściowe i przypisywać do nich w systemie Comarch ERP Enterprise drukarkę, urządzenie faksowe lub bramę e-mail SOM (dokładnie po jednym).
Role autoryzacji
Za pomocą Ról uprawnień można skonfigurować uprawnienia dostępu do urządzeń wyjściowych.
Urządzenia wyjściowe
Urządzenia wyjściowe mogą być używane przez użytkowników tylko wtedy, gdy są do tego upoważnieni. Urządzeniom wyjściowym można przypisać rolę autoryzacji na zakładce Dodatkowe obiekty w aplikacji Role uprawnień.
Podłączanie rozwiązań faksowych
Istnieje również możliwość podłączania faksów przez zewnętrzne generatory. Warunkiem wstępnym jest, aby te rozwiązania faksowe zapewniały tak zwaną „drukarkę faksu” odpowiednią do działania serwera. Drukarka faksu musi być w stanie wyodrębnić wszystkie niezbędne parametry (zwłaszcza numer faksu) z dokumentu, który ma zostać wysłany. Nie może używać do tego żadnego okna dialogowego.
Aby móc używać takiej drukarki faksowej w systemie Comarch ERP Enterprise jako faksu, musi ona być odpowiednio oznaczona w pliku konfiguracyjnym SOM (patrz Ustawienia drukarki faksu).
Drugim warunkiem wstępnym jest to, aby wszystkie parametry, które wymagają drukarki faksu, znajdowały się w dokumencie do wydrukowania i były drukowane wraz z nim. Zazwyczaj rozwiązania faksowe umożliwiają obsługę parametrów za pomocą ciągów znaków w celu nadania im unikalnej identyfikacji. Dokumenty i pliki, które mają być wysyłane za pośrednictwem drukarki faksowej, muszą być odpowiednio skonfigurowane.
Aby wesprzeć oprogramowanie faksu w tym celu, SOM zapewnia szereg parametrów (zmiennych systemowych), które mogą być wyprowadzane przez Crystal Reports. Parametry te obejmują wszystkie specyficzne dla faksu ustawienia wyjściowe danych zleceń wyjściowych:
| Zmienna systemowa | Wartość |
| FAX_RECIPIENT_NUMBER | Pole Nr faksu w ustawieniach wyjściowych dla nośnika wyjściowego Faks. |
| FAX_TRANSMITTING_STATION_ID | Pole Identyfikator nadawcy w ustawieniach wyjściowych dla nośnika wyjściowego faks. |
| FAX_SCHEDULE_ACTION | Pole Wysyłanie w ustawieniach wyjściowych dla nośnika wyjściowego faks. Możliwe wartości: Natychmiast, Nie wcześniej niż, W korzystnej taryfie. |
| FAX_SCHEDULE_TIME | Pole Czas wysłania w w ustawieniach wyjścia dla nośnika wyjściowego faks. Ma znaczenie, gdy FAX_SCHEDULE_ACTION ma wartość Nie wcześniej niż. |
| FAX_DELIVERY_REPORT_ADDRESS | Adres e-mail użytkownika do generowania automatycznego potwierdzenia. |
| FAX_CONTROL_SEQUENCE | Pole Sekwencja znaków kontrolnych używane do przesyłania danych do rozwiązania faksu. |
Zarządzanie i monitorowanie
System Output Manager
Zintegrowany serwer internetowy SOM umożliwia dostęp do określonych informacji o stanie SOM. Dostępne są następujące identyfikatory URI:
| URI | Informacje |
| /conf | Wyświetla wszystkie właściwości systemu Java, takie jak ustawienia z pliku konfiguracyjnego SOM. |
| /printers | Wyświetla listę wszystkich zainstalowanych urządzeń wyjściowych i ich aktualny status. Za pomocą hiperłączy można wyświetlić aktualne zadania dla poszczególnych urządzeń wyjściowych. |
| /jobs | Wyświetla listę wszystkich zadań dla wszystkich urządzeń wyjściowych łącznie. Najpierw wyświetlane są zadania aktywne, a następnie zakończone. |
| /logs | Zapewnia dostęp do plików dziennika SOM. |
SAS i system
Zadania wyjściowe
Status wygenerowanych zleceń wyjściowych można wyświetlić za pomocą aplikacji Zlecenia wydruku. Oprócz ogólnego statusu (W trakcie, Zamknięte…) szczegółowe informacje o zleceniu, jego parametrach lub statusie (w tym komunikaty o błędach) można wyświetlić za pomocą przycisku [Właściwości].
Aplikacja umożliwia również kopiowanie pojedynczych zadań wyjściowych i generowanie za jej pomocą nowych.
Urządzenia wyjściowe
Oprócz tworzenia i utrzymywania urządzeń wyjściowych, aplikacja ta umożliwia także zachowywanie poszczególnych zadań wyjściowych. Po zatrzymaniu urządzenia wyjściowego kolejne zadania wyjściowe nie są natychmiast przekazywane do SOM, ale są buforowane do momentu ponownego usunięcia blokady urządzenia wyjściowego.
Zapytanie o status urządzenia wyjściowego
Status urządzeń wyjściowych utworzonych w systemie Comarch ERP Enterprise jest sprawdzany w tej aplikacji (np. zatrzymanie drukarki, niedostępność SOM, brak papieru).
Panel system
Połączenie System Output Manager
Zakładka Zlecenia wyświetla bieżące zlecenia powiązanych modułów SOM. Wyświetlanie odpowiada danym w SOM poprzez URI /jobs.
Instrukcje
Instalacja drukarki
-
Należy zainstalować drukarkę w systemie Windows zgodnie z instrukcjami producenta.
-
Należy sprawdzić, czy drukarka działa poprawnie w systemie Windows (np. wydruk strony testowej).
-
Należy zweryfikować, czy drukarka jest rozpoznawana przez SOM (URI /printers).
-
Należy uruchomić aplikację Urządzenia.
-
Należy wybrać przycisk [Nowy].
-
W oknie dialogowym Fizyczne urządzenia, w polu Sposób wydania, należy wybrać Drukarka i kliknąć [Start].
-
Należy wybrać nową drukarkę z listy.
-
W polu Urządzenie należy wprowadzić nazwę nowego urządzenia.
-
Należy sprawdzić i dostosować pozostałe pola.
-
Należy wybrać przycisk [Zapisz].
-
Należy zweryfikować w aplikacji Zapytaj o status wydania, czy urządzenie jest poprawnie wyświetlone.
-
Należy sprawdzić poprawność działania wyjścia za pomocą aplikacji Raport: Dokumenty raportu.
Usuwanie drukarki
-
W przypadku usuwania powiązanych urządzeń wyjściowych, należy wyszukać ich zastosowania w Szablonach dokumentów lub Ustawieniach użytkownika.
-
Należy użyć aplikacji Urządzenia do usunięcia urządzenia.
-
Należy usunąć drukarkę w komputerze SOM.
-
Należy sprawdzić rozpoznanie usunięcia przez SOM (URI /printers).
-
Należy zweryfikować w aplikacji Zapytaj o status wydania poprawne usunięcie urządzeń.
Instalacja lub aktualizacja sterownika drukarki
Diagnostyka błędów
Pliki dziennika
SOM zapisuje pliki dziennika w podkatalogu logs. Zarządzane są tam dwa rodzaje plików:
-
somsvc.log – używany przez usługę Windows; rejestruje komunikaty przed i w trakcie uruchamiania SOM.
-
som-0.log do som-4.log – używane do regularnych wyjść i błędów. Pliki są kroczące (maksymalnie 1 MB). Najnowsze wiadomości znajdują się w som-0.log.
Dostęp do plików dziennika możliwy jest przez przeglądarkę (https://som-hostname:8443/logs).
Kody błędów Crystal Reports
| Kod błędu | Opis |
| 513 (INVALIDPRINTER) | Nie można znaleźć sterownika drukarki dla określonej drukarki. |
| 525 (BADREPORTFILE) | Plik z szablonem raportu (.rpt) jest uszkodzony lub nieczytelny. |
| 536 (DATABASELOGON) | Utrata połączenia z serwerem ODBC (timeout). Należy sprawdzić dziennik zdarzeń Windows. |
| 998 (BŁĄD WEWNĘTRZNY) | Błąd wewnętrzny w mechanizmie drukującym, często związany z brakiem połączenia ODBC. |
Wyświetlanie zdarzeń
Usługa SOM i serwer ODBC używają wyświetlacza zdarzeń systemu Windows do prezentowania komunikatów o błędach. Powiadomienia ODBC są również rejestrowane w plikach dziennika usługi SOM. W przypadku problemów z połączeniem należy sprawdzić logi odpowiedniego serwera ODBC.



