Existence rejstříků ARES není žádnou převratnou novinkou. Na vyhledávání v rejstříku živnostníků nebo v obchodním rejstříku jsme si za léta existence těchto služeb již zvykli. Pro některé z vás ale může být novinkou, že na tyto rejstříky se lze pomocí webových služeb snadno připojit a čerpat z nich data pro vlastní projekty.
V momentě, kdy jsem od nadřízeného dostal za úkol naprogramovat webovou aplikaci, která si bude dotahovat data z rejstříku ARES, mě polilo horko. Naštěstí ministerstvo financí ČR provozuje v rámci těchto rejstříků webové služby na bázi XML, čímž je zajištěno, že data z rejstříků mohou využít vývojáři na všech myslitelných platformách a v různých vývojových prostředích. Samozřejmě, existují i určité meze těchto služeb, pro většinu aplikací vám ale funkčnost postačí. Součástí informačního systému ARES je tedy také XML rozhraní pro vyhledání subjektu a zpřístupnění jeho veřejných údajů ze zdrojových registrů. Služby XML může využívat každý, pokud bude respektovat podmínky provozu.
Všechny údaje, které ARES zpřístupňuje, mají pouze informativní charakter a nemají charakter úřední listiny. Jejich výpis proto nemůže být použit jako průkazní materiál pro úřední jednání. Toto je ale zřejmé, pod stejným ustanovením vystupují také formuláře na serveru Justice nebo v registru živnostníků. Ministerstvo financí nenese odpovědnost za aktuálnost a úplnost údajů z databáze ARES, ani za nepřetržitý provoz www aplikací pro zpřístupnění údajů z informačních systémů. S ohledem na charakter provozu ARES a jeho zabezpečení si Ministerstvo financí vyhrazuje právo omezit nebo znemožnit přístup k www aplikaci ARES uživatelům, kteří odešlou k vyřízení více než 1000 dotazů v době od 8:00 hod. do 18:00 hod, případně více než 5000 dotazů v době od 18:00 hod. do 8:00 hod. následujícího dne.
Ministerstvo také předpokládá korektnost pokládaných dotazů a fakt, že se coby uživatel nepokusíte narušit chod systému například několika současně spouštěnými dotazy z jedné IP adresy. V případě odůvodněné mimořádné potřeby využívat XML služby ARES v nadlimitním režimu je možné požádat ministerstvo financí o možnost zvýšení limitu a sdělit předpokládaný počet dotazů nebo dodat seznam IP adres, ze kterých se bude na XML služby ARES přistupovat. Také je možné dodat kontaktní e-mailové adresy pro možnost zasílání upozornění o případných výpadcích v provozu IS ARES. Pro drtivou většinu běžných aplikací si ale s omezením vystačíte a nebudete muset žádat o udělení výjimek.
V zásadě existují tři metody, kterak se do rejstříků připojit. První z nich využijete v případě, že využíváte technologii .NET, případně nějaký sofistikovaný programovací jazyk. Jde o kolekci WSDL souborů, které snadno zahrnete do svého programu a které definují podobu komunikace na bázi XML se servery ARES. Příklady a samotné soubory naleznete na této webové stránce. Další možností je využít klasické metody pomocí volání XML z web adresy. K tomuto účelu jsou vytvořeny CGI skripty, kterých se ptáte na základě předání parametrů metodou GET nebo POST. Pro metodu GET je k dispozici mnohem více možností, což vychází z předpokládaného vyššího využití tohoto způsobu. Bližší informace o napojení přes tyto metody jsou uvedeny zde.
V mém případě bylo využití definováno zákazníkem, jenž si u naší společnosti objednal registrační formulář na bázi HTML / Javascript / PHP / MySQL, který zajistí registraci podnikatelských subjektů na zákazníkově webu tak, aby uživatel vyplnil jen své identifikační číslo a do formuláře se předvyplnila data o jeho subjektu automatizovaně. Dalším omezením byl požadavek na kompatibilitu s PHP verze 4. Stáhnutí XML lze realizovat ve skriptovacím jazyku PHP velice jednoduše:
// otevření socketu
$sock = fsockopen("wwwinfo.mfcr.cz", 80,$errno,$errstr,30);
// pošleme požadavek
fputs($sock, "GET /cgi-bin/ares/darv_bas.cgi?ico=".$_POST['ic']." HTTP/1.1rnHost: wwwinfo.mfcr.czrn");
fputs($sock, "Connection: closernrn");
// postupně načteme všechny řádky ze stránky a uložíme si je do proměnné
while ($line = fgets($sock, 128)):
$page .= $line;
endwhile;
Ve výsledku budeme mít v proměnné s názvem Page uloženu staženou stránku XML zdroje. Tu si je pak nutné rozložit do pole a další postup není nutné pokročilým vývojářům popisovat. Jen dodám, že pro parsování do pole se mi osvědčila tato funkce.
12. 8. 2009
Autor: David Procházka
Vláda vzala na vědomí zprávu o plnění agendy Digitální Česko 2.0 s tím, že je splněno 14 bodů ze 17. Bližší pohled...
Zdravotnictví představuje nepochybně jednu z nejlukrativnějších oblastí, se kterými se lze v současném světě...
Open source postupně překonává předsudky o nespolehlivých a špatně použitelných řešeních. Plně jej podporuje...
T-Mobile přestavil novou nabídku MAGENTA TV, na kterou postupně přejdou i stávající zákazníci. Zjednodušil také...
Fotbaloví fanoušci se mají na co těšit. Startuje Liga mistrů UEFA, Evropská liga a Evropská konferenční liga a...
O2 představilo novou chytrou televizi s předinstalovanou aplikací O2 TV a vlastním tlačítkem na ovladači. Až do...