MODULÁRNÍ SYSTÉM KOMUNIKACE (MSGSERVER)



Podobné dokumenty
Portál veřejné správy

Sledování provedených změn v programu SAS

Portál veřejné správy

VIS ČAK - Uživatelský manuál - OnLine semináře

Instalace a technické informace

Helios Orange Plugin Zadávání vlastností

Informační systém o státní službě (ISoSS) Pracovní postup pro práci v Servisdesku ISoSS

Případy užití RSSystems

Autorizace mapového serveru

Portál veřejné správy

Upomínky a kontroly E S O 9 i n t e r n a t i o n a l a. s.

4 Datový typ, proměnné, literály, konstanty, výrazy, operátory, příkazy

Nastavení funkce pro Elektronickou evidenci tržeb EET v programu Aconto

Vizualizace TIN (trojúhelníková nepravidelná síť) v Marushka Designu

Provozní řád upravuje pravidla pro využívání informačních technologií Sdružení Tišnet členem.

UT2004 UTV {CZ}KillerB

GLOBÁLNÍ ARCHITEKTURA ROB

ONLINESKLAD.CZ. Vysvětlení pojmů: V tomto manuálu i v celém systému figurují 3 základní osoby: Popis administračního rozhraní

Témata v MarushkaDesignu

Provozní řád služby zálohování CIT

Pravidla on-line výběrových řízení ENTERaukce.net

Tile systém v Marushka Designu

Specifikace pro SW aplikaci Start-up business.

Vnitřní předpis města Náchoda pro zadávání veřejných zakázek malého rozsahu (mimo režim zákona č. 137/2006 Sb., o veřejných zakázkách)

Shop System - Smlouva o poskytování software

Technická specifikace předmětu plnění. VR Organizace dotazníkového šetření mobility obyvatel města Bratislavy

PEXESO UŽIVATELSKÝ MANUÁL

Generování Homepage ze serveru AReality.sk

Programová příručka. GoPal Navigator verze 5.5

Vkládání dat do databázové aplikace

ZÁKLADNÍ INFORMACE O SPOLEČNÉ ČÁSTI MATURITNÍ ZKOUŠKY

Podklady k práci s Intranetem - administrátor

Vyberte režim. Chcete-li:

Organizační řád Občanského sdružení NHfree.net

Maturitní prací student osvědčuje svou schopnost samostatně pracovat na projektech a aktivně využívat nabyté zkušenosti

Programová příručka. GoPal Navigator verze 5

INTRANET V JVK ČESKÉ BUDĚJOVICE

STANOVY SDRUŽENÍ DOCTOR WHO FANCLUB ČR

- Aplikace je napsána v C#.NET, je instalována na webovém serveru - Data jsou ukládána v databázi MS-SQL 2005 a vyšší

GeoDTM. Uživatelská příručka. Výstup byl vytvořen s finanční podporou TA ČR v rámci projektu TA Verze 1.0

Odpisy a opravné položky pohledávek

Etržiště České pošty Centrum veřejných zakázek.

Plánování směn verze 2.1, revize 03

Instalační manuál systému Desktop Management System OptimAccess

Komunikační protokol MODBUS RTU v displejích TDS101 a TDS57

Jak propojit 2N GSM bránu s IP pobočkovou ústřednou

Spisová služba/elisa - Dodatek k manuálu - subverze 1.28

Mobilní zpravodajská aplikace idnes. A7B39PDA - Principy tvorby mobilních aplikací

1. Předmět díla a technické požadavky

O2 Office Connector Telefónica O2 Czech Republic, a.s.

Informační a komunikační technologie základní terminologie

pro správu uživatelských přístupů do registru řidičů pro obecní úřady obcí s rozšířenou působností

Změny detekované monitorem služeb na OPM 1. Konec SZ Vybere ta OPM, která v intervalu <aktuální den, D>:

Výzva k podání nabídek

VNITŘNÍ PRAVIDLA ODLEHČOVACÍ SLUŽBY

Konsolidovaný nástroj získatele Vytvoření dodatku ke smlouvě NAMÍRU Návod k obsluze

Synchronizace kontaktů z ESO9 do MS Outlook

Rádiová odečtová jednotka RFU 40. a odečtová aplikace RADIO READER

Relé WiFi modul ESP-01

mtransfer Technická dokumentace Varianta Standard

Práce s WKT řetězci v MarushkaDesignu

Mimořádná účetní uzávěrka

k elektronickému výběrovému řízení na úplatné postoupení pohledávek z titulu předčasně ukončených leasingových smluv

INFORMACE O NOVÉ VERZI POSKI REAL

Simulátor krizových procesů na úrovni krizového štábu. Systémová dokumentace

DŮLEŢITÉ INFORMACE A POJMY:

PŘÍLOHA D Požadavky na Dokumentaci

Vykreslení obrázku z databázového sloupce na referenční bod geometrie

Obsah cvic ení procvic ovane dovednosti

MINISTERSTVO VNITRA generální ředitelství Hasičského záchranného sboru České republiky Kloknerova 26, pošt. přihr.69, Praha 414

2) Instalace modulu EET v programu Aconto

MMR SLUŽBY MOBILNÍHO OPERÁTORA. nadlimitní veřejná zakázky otevřeného řízení. Česká republika, Ministerstvo pro místní rozvoj

SMĚRNICE č. 5 ŠKOLENÍ ZAMĚSTNANCŮ, ŽÁKŮ A DALŠÍCH OSOB O BEZPEČNOSTI A OCHRANĚ ZDRAVÍ PŘI PRÁCI (BOZP)

ZADÁVACÍ DOKUMENTACE

Smlouva o obchodním zastoupení

VÝZVA K PODÁNÍ NABÍDKY A K PROKÁZÁNÍ SPLNĚNÍ KVALIFIKACE

Úplná pravidla soutěže v rámci komunikační kampaně Ria MÁNIE

Tvorba jednotného zadání závěrečné zkoušky ve školním roce 2010/2011

Eda. Evidence obchodních aktivit. Proces nákupu

Lokalizace souřadnic v MarushkaDesignu

2) Instalace modulu EET v programu Aconto

Operační systém Windows 8.1

2) Instalace modulu EET v programu Aconto

HTML šablona v MarushkaDesignu

Informačně expertní systém včasného varování a vyrozumění v důsledku stanovení rizik skalního řícení

Tento projekt je spolufinancován. a státním rozpočtem

Policejní prezidium ČR

Nastavení firewallu pro AVG 7.5

Účtování pojišťoven z Praktika

Možnosti připojení WMS služby do Klienta v Marushka Designu

USNESENÍ. Č. j.: ÚOHS-S339/2012/VZ-21769/2012/523/Krk Brno 20. prosince 2012

Nahrávání hovorů pro IP telefonii a kontaktní centra

Zadávací dokumentace Stránka 1 z 8

Instalační manuál Desktop Security System AreaGuard

Informační ikony v MarushkaDesignu

Automatizovaný docházkový systém verze 3.xx DOCHÁZKA. Automatizovaný docházkový a přístupový systém. Verze 3.xx. Uživatelská příručka

Program prevence nehod a bezpečnosti letů

Uživatelská příručka aplikace Partner24 modul Zaměstnavatelský portál Česká spořitelna penzijní společnost, a.s.

Transkript:

MODULÁRNÍ SYSTÉM KOMUNIKACE (MSGSERVER) Vladimír Pávek, Jihčeská vědecká knihvna v Českých Budějvicích Velmi blíbenu frmu elektrnické kmunikace se krmě e-mailu stal zasílání krátkých textvých zpráv tzv. SMS (Shrt Message Service) pmcí mbilních telefnů. Mžnst bezplatnéh zasílání SMS z webvých stránek byla nedávn velice mezena. Příspěvek ukazuje technické i prgramvé řešení, jak si zavést např. SMS bránu a umžnit tak právněným sbám desílaní SMS z vlastních privátních webvých stránek. Mdularita řešení umžňuje rzšiřvání další aplikace. 1. Ppis systému Systém kmunikace MsgServer využívá prstředků mbilní kmunikace GSM mdem (the Glbal System fr Mbile Cmmunicatins) a Internetu. Klade si za cíl umžnit všem autrizvaným sbám rzesílání zpráv (SMS, e-mail) pmcí vzdálenéh přístupu (webvých stránek). Systém dále umžňuje příjem zpráv SMS a jejich zpracvání např. přepsláním na zvlenu e-mail adresu. Systém MsgServer se z hlediska sftware skládá ze 3 základních částí (kmpnent): WWW webvá php aplikace zajišťující vzdálené uživatelské rzhraní DB PstgreSQL databáze, tvřící jádr celéh systému MsgServer daemns kmunikační deamni, kteří služí k rzesí lání/příjmu zpráv z/d DB Z hlediska hardware je t pak např. PC běžné knfigurace s vlně dstupným sftware (Linux, webvý server (nejlépe Apache) s pdpru PHP, databázvý sftware PstgreSQL, systémvý prgram mail pr zasílání mailů). Jádrem celéh systému kmunikace MsgServer je databáze db_message, přes kteru prbíhá veškerá kmunikace. Na jedné straně s databází kmunikují MsgServer daemni, kteří dtud vyzvedávají zprávy k deslání jim příslušející a desílají je a také sem ukládají zprávy příchzí. Na druhé straně je t mdul WWW, který d DB vkládá zprávy (SMS, e-mail) k deslání. Základní princip fungvání systému ilustruje následující brázek: 127

Vzhledem ke své mdularitě je d buducna celý systém mžn rzšiřvat další mduly plnící různé funkce (např. autmatické rzesílání zpráv, autmatické reakce na příchzí zprávy pdle jejich bsahu, zaslání infrmace pčtu výpůjček, rezervací či dalších infrmací čtenářském účtu, ale např. i autmatické prdlužvání výpůjček pmcí SMS apd.), další MsgServer deamni pr rzesílání přes jiná připjení např. k deslání (zařazení) zpráv na nějaké webvé stránky (news) apd.). 1.1 WWW WWW mdul je tvřen webvu php aplikací umžňující právněným uživatelům (knihvníkům) zadat telefnní čísl a/neb email adresu a napsat zprávu. Mdul pak dále zajistí předání (zápis) pžadavku na deslání d databáze DB a přehlednu statistiku. Tyt webvé stránky mají následující pdbu: 128

Uživatelské rzhraní lze rzdělit na 2 základní části: část pr deslání zprávy statistika zpráv v DB část pr deslání zprávy V tét části se zadává pžadvaná zpráva určená k deslání přes systém kmunikace MsgServer. Pvinně je nutné vyplnit buď telefnní čísl a/neb email, dále text zprávy a PIN. Důležité je veškeré texty (předmět, text) vyplňvat BEZ DIAKRITIKY!!! Telefnní čísl: zvlí se správná předvlba perátra a zadá příslušné telefnní čísl. Prgram následně spjí předvlbu a zadané čísl dhrmady a zkntrluje frmát výsledku. Tent výsledek musí být 13 znaků dluhý (včetně pčátečníh + ) a musí se skládat výhradně z číslic 0-9. Email: zadává se email adresáta (čtenáře). Tat emailvá adresa musí být ve frmátu *@*, tedy aplikace kntrluje přítmnst znaku @ a alespň jednh znaku před a za tímt symblem. Předmět: tt plíčk je nepvinné a týká se puze deslaných emailů. Maximální délka je 255 znaků a text nesmí bsahvat diakritiku. Text: zde se vyplňuje text desílané zprávy. Tt plíčk je pvinné. V případě, že se jedná SMS (je vyplněn telefnní čísl), nesmí text přesáhnut délku 160 znaků, resp. bude na tut délku říznut. Na tent fakt zárveň upzrní nápis, který se bjeví pd editačním plem pr text při překrčení délky 160 znaků (nutn mít zapnutý JavaScript). Pžadvané datum deslání: tady je mžn vyplnit datum a čas, kdy má být zpráva deslána. Tt ple je nepvinné a je standardně nastaven na aktuální datum a čas, cž znamená kamžité deslání zprávy. Datum i čas je mžné měnit libvlně. Nekrektní datum, např. 31.2.2003, bude převeden na svůj krektní ekvivalent, v tmt případě 3.3.2003. PIN: je pvinně vyplňvaný autrizační kód, který je věřván na platný účet v databázi. Pkud je kód vyplněn chybně (neexistuje žádný platný účet s tímt PINem), systém se na určitý čas uspí (tím se částečně předejde autmatizvanému zkušení PINů). statistika zpráv v DB Statistika zpráv je rzdělena na příchzí a dchzí zprávy. Pdle jejich stavu v DB se pak rzlišují zprávy zpracvané (tzn. deslané dchzí neb zpracvané příchzí), čekající (tzn. zprávy připravené k deslání resp. nezpracvané příchzí) a chybné (tzn. strnvané dchzí zprávy (např. z důvdu neplatnéh telefnníh čísla apd.). Dále je v tabulce slupeček pslední, kde je datum pslední zpracvané příchzí a v přádku deslané dchzí zprávy. V tét tabulce je mžné zběžně kntrlvat funkčnst celéh systému kmunikace. Pkud např. existují chybné neb čekající zprávy neb datum 129

pslední dchzí/příchzí zprávy je starší, může t ukazvat na nějaku chybu systému (typicky např. neběží MsgServer daemni a je ptřeba je restartvat). 1.2 DB Databáze db_message bsahuje tabulky a pmcné databázvé funkce (ulžené prcedury v jazyce plpgsql) pr zalžení účtů, nastavení knfiguračních knstatnt, apd.. Tyt funkce je mžné zavlat přím v DB pmcí příkazu select. V tabulkách jsu ulženy veškeré infrmace desílaných a přijímaných zprávách, dále bsahují infrmace knfiguraci celéh systému i jedntlivých jeh částí a v nepslední řadě i lg, kde se ukládají veškeré infrmace činnsti systému (na různých úrvních závažnsti). Ulžené prcedury pak pskytují uživatelský interface pr práci s celu databází. 1.3 MsgServer daemn MsgServer daemn služí k vlastnímu fyzickému příjmu a desílání zpráv. Tvří jej jediný prgram msgserver, který běží nnstp na pzadí (typicky jich běží něklik, pr každé připjení jeden). Tent prgram pracuje v nastavitelných časvých intervalech (viz kapitla Nastavení systému), kdy se vždy prbudí, přijme příchzí zprávy (pkud existují), dešle dchzí zprávy (pkud existují). V případě, že není c přijímat ani desílat, pět se uspí a celý cyklus se pakuje. Veškeru činnst prgramu je mžn dle nastavení maximální lgvací úrvně (viz Nastavení systému) lgvat, a t d DB a/neb subru a/neb systémvéh lgu (syslg). Lgvání se prvádí na 7 úrvních, viz následující tabulka: Obecné zásady pr lgvací úrvně LOG_DEBUG LOG_INFO LOG_NOTICE LOG_WARNING LOG_ERR čistě infrmativní, spusta dat, c psílá a přijímá a tak inf připjvání/dpjvání (infrmativní) serial, DB infrmace přechdech a vypadnutích mezi jedntlivými smyčkami (while cykly) - (znvu)[dis]cnnectění kamkliv (DB, MSG device), start/stp prgramu nezávažné chyby, které se akrát hlásí, ale nrmálně se pkračuje dál ve zpracvání (nemají žádný efekt na výsledek) chyby, které způsbí změnu nrmálníh chdu (průběhu) prgramu - chybná práce s MSG device, DB... 130

LOG_CRIT kritické chyby, kvůli kterým buď prgram nemůže vůbec plnit svu funkci neb kvůli kterým se zahazují (nezpracvávají) zprávy (-1) zahzené zprávy buď v textvé pdbě neb v PDU (pkud se nepvedl z nějakéh důvdu rzkódvat), je na člvěku, aby ručně zjednal nápravu těcht zahzení 2 Instalace systému Systémvé pžadavky: perační systém typu unix (např. Linux) www server (nejlépe Apache) s PHP mdulem www.apache.rg www.php.net nainstalvaný databázvý sftware PstgreSQL www.pstgresql.rg v databázi nainstalvaný jazyk plpgsql přístupvé knt k databázi PstgreSQL (např. uživatel pstgres) prgram mail na desílání e-mailů Následuje ppis instalace jedntlivých kmpnent systému kmunikace MsgServer: 2.1 WWW Instalace mdulu WWW prbíhá v následujících krcích: umístit kamkliv d adresářvé struktury webvéh strmu, např. /var/www/msgserver nastavit v knfiguraci webvéh serveru tmut adresáři příslušná práva nastavení mdulu WWW (viz Nastavení systému) test zbrazení www stránky send.php (resp. index.php) 2.2 DB Pžadavky: vytvřen prstr pr datvu část databáze pmcí prgramu initdb (např. initdb U pstgres D /usr/share/pstgresql/data ) Pstup: spustit skript./install_db, který prvede následující: zalží databázi db_message spustí zakládací skripty databáze db_message naimprtuje pužívané databázvé funkce zalží d tabulek základní data nutná k prvzu systému 2.3 MsgServer daemn Pžadavky: vytvřen neveřejný adresář pr MsgServer daemn 131

(např. /usr/lcal/bin/msgserver) Pstup: zkpírvat prgram msgserver se spuštěcími skripty msgserver_start a msgserver_stp d vytvřenéh adresáře pr MsgServer daemn 3. Spuštění systému Před spuštěním systému je nutné věřit, zda běží webvý server (např. Apache) s pdpru PHP databázvý server pstgres (spuštěný s vlbu -i na standardním prtu 5432). musí být nainstalvaná (vytvřená) databáze db_message. Následně je nutné spustit MsgServer daemny (k tmu služí skript./msgserver_start nutné před spuštěním editvat a nastavit správné hdnty prměnných prstředí pr připjení k DB viz Nastavení systému). Daemny je mžné kdykliv uknčit pmcí skriptu./msgserver_stp (neb signálu 15 SIGTERM). Funkčnst systému lze testvat pmcí zprávy smstest viz kapitla Funkčnst systému. 4. Nastavení systému Nastavení systému lze rzdělit na nastavení jeh jedntlivých částí: WWW, DB, MsgServer daemna a statní. 4.1 WWW Nastavení se prvádí editací subru cmmn.php. Zde je nutné vyplnit správné údaje připjení k db (týká se většinu puze f_db_name, f_db_user, uživatele s přístupem k PstgreSQL, a hesla, které zůstává typicky prázdné) $f_db_user = 'pstgres'; $f_db_pass = ''; $f_db_name = 'db_message'; 4.2 DB Nastavení databáze spčívá puze ve správném spuštění serveru PstgresSQL. Server musí běžet na stejném strji jak MsgServer daemni na standardním prtu 5432 a musí být spuštěn s parametrem -i. 4.3 MsgServer daemn Nastavení MsgServer daemnů se prvádí jednak nastavením prměnných prstředí, jednak nastavením knstant v DB (které se zalží pr každé připjení zvlášť s defaultními hdntami při prvním spuštění příslušnéh daemna) a jednak nastavením hdnt v tabulce Připjení. 132

Prměnné prstředí Prměnné prstředí je nutné nastavit ve spuštěcím skriptu msgserver_start a jsu t tyt splečné prměnné DB_MESSAGE=db_message... jmén databáze zpráv DB_MESSAGEJM=pstgres... přihlašvací jmén DB_MESSAGEHE=... přihlašvací hesl (typicky prázdné) a tat individuální prměnná pr každé připjení: IDPRI=1... ID připjení (dpvídá ID v tabulce Připjení v DB) Knstanty v DB Knstanty v DB se zakládají autmaticky pr každé připjení zvlášť a jsu ulženy v tabulce Nastavení (nastavují se ale pmcí k tmu speciálně vytvřených databázvých funkcí). Jedná se tyt knstanty: LOG_DESTINATION... cíl lgvacích hlášek, může nabývat primárních hdnt 2, 3, 5 a jejich násbků. Jedntlivé hdnty značí tyt cíle: 2... systémvý lg (syslg) 3... databáze (tabulka Lg) 5... lkální subr na disku (se jménem msgserverl_x, kde X je ID připjení) Výsledná destinace lgvacích hlášek se určí tak, že pkud je hdnta LOG_DESTINATION dělitelná příslušnu primární hdntu, hláška se zalguje d tht cíle. Např. hdnta 15 tedy znamená, že se hláška zalguje d DB a zárveň d lkálníh subru, nikliv však d syslgu. Defaultní nastavení je LOG_DESTINATION = 3 (tedy puze DB). LOG_LEVEL... maximální lgvaná úrveň lgvacích hlášek. Tat hdnta značí, že se lgují puze hlášky tét úrvně a nižší. Lgvací úrvně viz Ppis systému MsgServer daemn. MAX_DISCONNECT_COUNT_TO_NOTIFY... maximální pčet neúspěšných pkusů připjení k msg zařízení (GSM mdem,...), p kterém se má hlásit neúspěch na nižší lgvací úrvni (LOG_NOTICE) DB_RECONNECT_TIMEOUT... timeut mezi pkusy připjení k databázi v sekundách (nemusí být celé čísl). Defaultní hdnta je 10s. MSG_DEV_RECONNECT_TIMEOUT... timeut mezi pkusy připjení k msg zařízení v sekundách (nemusí být celé čísl). Defaultní hdnta je 10s. SND_RCV_SLEEP_TIMEOUT... timeut mezi pkusy příjem/deslání v sekundách (nemusí být celé čísl), pkud není c přijímat/desílat. Defaultní hdnta je 5s. MAX_RECEIVE_BATCH_SIZE... velikst dávky přijatých zpráv. Pkud existují příchzí zprávy, přijímají se dkud jsu další 133

k dispzici neb dkud jejich pčet nepřekrčí tut velikst (pté se desílá dávka zpráv k deslání). Defaultní hdnta je 100 zpráv. MAX_SEND_BATCH_SIZE... velikst dávky desílaných zpráv. Pkud existují zprávy ve stavu k deslání, desílají se dkud jsu další k dispzici neb dkud jejich pčet nepřekrčí tut velikst (pté se přijímá dávka zpráv). Defaultní hdnta je 100 zpráv. Tabulka Připjení Tabulka připjení služí k nastavení msg zařízení. Hdnty, které lze nastavvat jsu: název připjení (ti01nazev)... název připjení ID připjení (ti01idpri)... identifikátr připjení, služí k jednznačné identifikaci danéh připjení, dpvídá prměnné prstředí IDPRI typ připjení (ti01typ )... identifikuje typ připjení, mžné hdnty jsu 1... připjení přes GSM mdem Wavecm 2... připjení přes email funkce připjení (ti01fce )... funkce připjení, mžné hdnty jsu 1... značí příjem i desílání zpráv 2... značí puze příjem zpráv 3... značí puze desílání zpráv device připjení (ti01dev )... týká se typu připjení 1 (GSM mdem), značí device (sérivý prt), ke kterému je mdem připjen 4.4 Ostatní V DB existuje ještě knstanta _APL_SMSEMAIL_MAIL (txt)... značí emailvu adresu, kam se mají autmaticky přepsílat všechny příchzí zprávy 5. Funkčnst systému Funkčnst systému kmunikace MsgServer lze čas d času testvat zasláním SMS zprávy s textem smstest (bez uvzvek, bez mezer, na veliksti písmen nezáleží) na telefnní čísl, ze kteréh se zprávy desílají. Jak reakce by měla v bezprblémvém případě zpět na mbilní telefn kamžitě přijít SMS zpráva s textem SMS OK!. Pkud tent test kmunikace neprjde, dpručuje se restartvat MsgServer deamny./msgserver_stp ps x... ujistit se, že pravdu neběží (pkud by t trval déle jak 5 minut a deamn nesknčil, je mžné pužít příkaz kill 9 PID )./msgserver_start 134

restartvat databázvý server pstgres, např. pmcí příkazů pg_ctl restart m s " i" l /var/lg/pstmaster.lg D /usr/share/pstgresql/data případně pg_ctl restart m f " i" l /var/lg/pstmaster.lg D /usr/share/pstgresql/data brátit se na ddavatele systému kmunikace 6. Bezpečnstní dpručení Z bezpečnstních důvdů jak patření prti zneužití systému cizí sbu je dpručen prvést následující krky: pr systém kmunikace vyhradit puze lkální server, ke kterému mají vzdálený přístup jen právněné sby (příp. navíc server chránit pmcí firewallu s mezením na vybrané IP apd.) pr přístup k mdulu WWW pužívat zabezpečený prtkl https přístup k adresáři mdulu WWW chránit přístupvým heslem PIN kódy vlit tak, aby nebyly snadn dhalitelné (mhu bsahvat nejen číslice, ale i znaky, a mhu být max. 255 znaků dluhé) přímý přístup k serveru pvlit puze právněným sbám nastavit všem částem minimální unixvá práva WWW: rw-r r (příkaz chmd 644...) DB: rwx------ (chmd 700...) MsgServer daemn: rwx------ (chmd 700...) 135