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ředstavil limitovanou předplacenku se 100 GB dat, za kterou zaplatíte jen 300 Kč měsíčně. A každé 12...
Společnost Netflix rozšířila nová pravidla pro sdílení hesel do dalších více než 100 zemí. Za využívání účtu mimo...
CETIN od dubna zařadil do svého portfolia nový tarif, který umožní na optických přípojkách využívat rychlost až...