SOAP komunikace obchodníka se systémem Operátora trhu s elektřinou, a.s. DELTAX Systems a.s. Obchod s elektřinou zaznamenal v posledních několika létech velmi dynamický rozvoj, a to zejména v důsledku přijetí závazných evropských pravidel jeho liberalizace. Jeho rozvoj by nebyl vůbec možný bez použití nejmodernějších informačních technologií, využívaných pro komunikaci, ukládání a správu dat. Obsah a pravidla výměny informací na našem trhu s elektřinou byly definovány autoritami, kterými jsou Energetický regulační úřad, Operátor trhu s elektřinou, a.s. (dále jen OTE) a ČEPS, a.s. (dále jen ČEPS). Vůči těmto autoritám jsou jednotliví registrovaní účastníci trhu (dále jen RÚT) povinováni komunikovat standardizované informace o obchodování. Naše řešení projektu ITC podpory Pražské teplárenské, a.s., jako obchodně velmi aktivní společnosti na trhu s elektřinou, jsme založili na standardu produktu Metered Data Management System norské firmy Powel ASA. Jeho lokalizace do prostředí legislativy České republiky byla jen jazyková, protože využitelnost produktu je vzhledem množství světově významných referencí velmi pružná. Komunikace Pražské teplárenské, a.s. se systémem OTE byla řešena cestou zasílání XML zpráv e-mailem, případně stahováním či vkládáním souborů v dialogu webové stránky. Jejich zpracování však vyžadovalo ruční práci operátora, spojenou s rizikem chybovosti. V roce 2004 nabídl Operátor trhu s elektřinou, a.s. pro komunikaci XML zpráv technologii SOAP, která byla před tím úspěšně vyzkoušena pro výměnu zpráv mezi OTE a ČEPS, a.s. Právě v tuto chvíli bylo zřejmé, že ten, kdo chce komunikovat s OTE rychle a bezpečně, a k tomu ještě využít celé spektrum nabízených zpráv, musí mít i na své straně řešení využívající SOAP komunikaci. Proto jsme přistoupili k naprogramování vlastního produktu, který respektuje standardy Operátora trhu s elektřinou, a.s. S řešením seznámíme čtenáře v následujícím textu.
SOAP jako princip moderního řešení komunikace Komunikace SOAP je automatická komunikace, jak synchronní tak asynchronní, založená na protokolu SOAP („Simple Object Access Protocol“ někdy též „Service-Oriented Architecture
Protocol“), která data přenáší ve a serverovými certifikáty je možné (pro jedinečnou a nezpochybnitelnou přenést (SSL protokolem) na místo kamenem všech B2B aplikací, které na služeb (web services).
formátu XML. Ve spojení s osobními data XML zprávy zašifrovat, podepsat identifikaci odesílatele) a bezpečně určení. SOAP komunikace je základním svých rozhraních komunikují pomocí web
Obecně je komunikace SOAP velmi efektivní technologií v případech, kdy má být datová komunikace: −
RYCHLÁ – na straně poskytovatele dat vzniká velké množství informací, které jsou určeny různým subjektům,
−
AUTOMATIZOVANÁ – zprávy jsou přenášeny bez zásahu jejich odesílatele či adresáta,
−
BEZPEČNÁ – zprávy od jejich poskytovatele jsou odesílány výhradně na vyžádání autorizovaným subjektem, který jako jediný má k nim unikátní klíč. Komunikaci SOAP můžeme využít vždy, když je třeba automaticky předávat XML zprávy mezi dvěma počítačovými systémy, tj. jedná se o komunikaci server – server jak ukazuje následující obrázek. Vlastní přenos XML zpráv je zajišťován veřejnou internetovou sítí.
INTERNET SOAP server 1
SOAP server 2
Konkrétní využití SOAP v komunikaci s OTE, a.s. Technologií SOAP lze zajistit automatizovanou a zabezpečenou komunikaci účastníků trhu s elektřinou s Operátorem trhu s elektřinou, a.s., resp. s jeho informačním systémem IS OTE / CDS s funkčními vlastnostmi, které jsou účastníky trhu požadovány. Přenos XML zpráv je realizován přímou komunikací (synchronní i asynchronní) mezi SOAP serverem účastníka trhu a serverem IS OTE/CDS. Obě strany na svých rozhraních komunikují pomocí web služeb (web services). Vlastní přenos XML zpráv k/od SOAP serveru OTE je zajišťován veřejnou internetovou sítí a je zabezpečen SSL protokolem, který zajistí, že zprávy nelze „odposlechnout“ nepovolanou osobou. Dále jsou vlastní XML zprávy zašifrovány osobním kvalifikovaným certifikátem (např. certifikační autoritou I.CA). Pro odšifrování musí mít příjemce zpráv nainstalovánu veřejnou část privátního klíče odesilatele.
Zároveň jsou data elektronicky podepsána certifikátem odesilatele. Tím je zaručena jedinečná nezpochybnitelná identifikace odesílatele.
a
Komunikace probíhá jak synchronně, tak asynchronně, podle typu posílaných zpráv. V prvním případě jsou data ze serveru IS OTE / CDS poskytnuta zpět okamžitě po vznesení požadavku (zasláním XML zprávy s požadavkem). Druhý typ komunikace je s časovou prodlevou, kdy systém IS OTE / CDS odpovídá na požadavek až po zpracování, zasláním dat. Toto se děje automaticky v rámci SOAP komunikace. Komunikovány jsou všechny zprávy ze všech procesů, které probíhají v IS OTE / CDS. Jsou to především: −
CDSDATA (měření, PpS), CDSIDIS (DUF),
−
sjednané hodnoty,
−
řízení odchylky, ÚOB,
−
změna dodavatele, TDD – odhady, korekce,
−
dvoustranné smlouvy,
−
spotový trh – OKO, VDT, VT,
− zúčtování – settlement. Protože veškerá činnost všech modulů řešení probíhá automaticky na pozadí, je do zpracování zařazeno selektivně nastavitelné automatické zasílání e-mailů popřípadě chybových hlášení zodpovědným pracovníkům pro monitorování příchozích zpráv. Nastavení jednotlivých modulů řešení se provádí jednoduše uživatelsky v jejich konfiguračních souborech zadáním příslušných hodnot.
Přínosy SOAP řešení oproti komunikaci šifrovaným e-mailem Standardní způsob komunikace s IS OTE /CDS spočívá v manuální práci obsluhy, která používá buďto webového klienta IS OTE / CDS, kam ručně přenáší data ze své aplikace (nejčastěji v clipboardu), nebo musí vygenerovanou XML zprávu ručně podepsat a zašifrovat (pomocí certifikátu na kartě) ve svém poštovním klientovi a poslat ji na příslušnou adresu OTE, popřípadě naopak při příjmu dat ve formě e-mailové zprávy od IS OTE / CDS. Řešení komunikace technologií SOAP nabízí pro uživatele tyto výhody: −
přenos je automatický, nevyžaduje asistenci uživatele pro odeslání resp. přijetí zprávy,
−
požadovaná data má obchodník pro svou práci ihned poté, kdy je dá k dispozici IS OTE / CDS, není tedy třeba se dotazovat a čekat na vyřízení požadavku,
−
činnost uživatele je vyžadována jen o kterých je současně uživatel automaticky informován,
−
SOAP se používá jako hlavní komunikační kanál, v případě jeho výpadku je v IS OTE / CDS nastaveno přesměrování na defaultní e-mailovou adresu uživatele pro náhradní zasílání zpráv.
v případě
problémů
v komunikaci,
Popis řešení Naše řešení je vytvořeno ze třech samostatných modulů. Řešení je vyvinuto a používá jen a pouze nástroje Microsoft, kterými jsou MS Windows 2000/XP, MS .Net Framework 1.1. Volbou této rozšířené platformy je zajištěna univerzálnost aplikace, kompatibilita s prostředím uživatele a nemalý význam má i příznivá koncová cena jednotlivých modulů řešení. Pro zajištění bezpečnosti je použito kvalifikovaných certifikátů I.CA a speciálně vyvinutých procedur pro komunikaci se serverem uvnitř demilitarizované zóny. Výkon řešení je limitován především rychlostí připojení serveru k internetu a pak vlastní výkonností hardware, na kterém řešení běží. Stabilita řešení je v rutinním provozu prověřena v podmínkách referenčních zakázek. Při vývoji řešení byly plně respektovány standardy IS OTE / CDS, které jsou popsány v dokumentaci „Uživatelská příručka informačního systému pro Automatickou komunikaci“, autorů Soluziona, LogicaCMG, Operátor trhu s elektřinou, a.s.
Automatická SOAP komunikace s IS OTE / CDS – jednotlivé moduly řešení. V nastavení IS OTE je umožněn přístup na definovanou IP adresu, definovány XML zprávy, která mají být komunikovány, certifikát pro uživatele od I.CA, URL adresa externího systému. IS OTE /CDS
SOAP komunikace HTTPS protokolem po internetu, šifrováno a podepsáno kvalifikovaným certifikátem, synchronní a asynchronní typ komunikace.
Internet
Server je umístěn v demilitarizované zóně firmy, komunikuje pouze s IS OTE, šifruje (podepisuje) resp. dešifruje odchozí resp. příchozí zprávy, zprávy jsou čteny resp. zapisovány do dedikovaných složek (Od_OTE resp. Pro_OTE). Činnost serveru je protokolována. Zde možno navázat na používaný systém pro podporu obchodu s EE.
A SOAP server
LAN
B File transfer server
Automaticky zjišťuje přítomnost nové zprávy ve složce Od_OTE. Pokud je zde nová zpráva, XML Router ji přečte a dle typu zprávy ji předá příslušnému programu nebo proceduře ke zpracování. Zpracováním může být i uložení do archivu a vygenerování e-mailu definovanému uživateli, např. při příchodu XML zprávy o změně dodavatele EE je mailem informován zodpovědný obchodník. Zde je navázán systém pro podporu obchodování s EE.
LAN
C
Zajišťuje bezpečný přenos otevřených XML zpráv z DMZ resp. do firemní sítě LAN. SSL komunikace je jednosměrná, pouze pro definované typy souborů, používá zrcadlových složek Od_OTE a Pro_OTE. Činnost serveru je protokolována. Zde možno navázat na používaný systém pro podporu obchodu s EE.
XML Router
Váš systém pro podporu obchodu s EE (MS Excel, MDMS, SAP IS-U atd.)
Jednotlivé moduly řešení Technologicky je naše řešení SOAP komunikace rozděleno do tří modulů, které lze použít stavebnicově, podle konkrétních požadavků zákazníka. Příklad implementace všech tři modulů je schématicky znázorněn na následujícím obrázku. Řešení používá dva dedikované stroje (jeden v DMZ a druhý ve vnitřní síti), pro které platí následující požadavky: −
stroj v DMZ musí mít pevnou IP adresu a zaregistrovaní URL na DNS serverech, aby byl přístupný z internetu a tím i přístupný pro Operátora trhu, a.s. pro SSL komunikaci (port příchozí 443 a port odchozí 1443),
−
stroj v DMZ by měl být přístupný ze stroje ve vnitřní síti LAN pomocí SSL (port 443),
−
stroj je v DMZ z bezpečnostních důvodů ochrany vnitřní sítě Vaší společnosti právě před neautorizovaným přístupem z veřejného internetu,
−
na stroji v DMZ poběží MS IIS se službami, které realizují komunikaci jak ven na internet z/do Operátora trhu, a.s., tak dovnitř mezi strojem v DMZ a strojem ve vnitřní síti, na kterém běží klient těchto služeb.
Web access MS IE
SMTP->MS Outlook->Decrypt
File Transfer Server v LAN Pro_OTE Pro_OTE
Pro_OTE Pro_OTE
GUI pro VDT, OKO, dvoustranné smlouvy, atd.
Systém pro podporu obchodování s EE
Klient
Od_OTE Od_OTE
IS OTE/CDS
SOAP server
Zpracování zpráv IF msg_code = 1 THEN CALL Prg_1 (atribut = filename)
Prg 1 Prg 2 Prg 3 Prg N
DMZ OTE, a.s.
SOAP Server
En/de-cryp
XML Router
Obchodní procesy
Od_OTE Od_OTE
Jedná se o základní modul řešení, který zajišťuje následující dvě podskupiny funkcí principiálně dané směrem toku informací, a to na příjem a odesílání zpráv. Na počítači umístěném v demilitarizované zóně (to doporučujeme z bezpečnostních důvodů) je tento server realizován formou webové služby IIS (dále jen web service) – příjímání zpráv a formou windows service – pro odesílání zpráv. Obě služby jsou spouštěny automaticky při startu operačního systému Windows. Při komunikaci zajišťuje softwarové řešení následující funkce:
Příjem zpráv z IS OTE / CDS −
Navázání zabezpečené https (SSL) komunikace,
−
zajištění autentifikace volajícího (subjektu přistupujícího k web service) pomocí certifikátů,
−
rozbalení SOAP obálky, obsahující podepsaná předávaná XML data,
−
provedení odpodepsání příchozí XML zprávy příslušným oboustranně akceptovaným certifikátem,
−
přesun již čitelné XML zprávy do dedikované složky Od_OTE a archivace původních dat do archivu přišlých zpráv,
−
analýza úspěšnosti předchozích kroků a předání návratového kódu (všechno v pořádku, chyba, atd.) volajícímu,
−
zápis do souboru protokolu (logu) o provedeném příjmu dat.
−
Výše uvedené funkce jsou prakticky shodné jak pro synchronní tak pro asynchronní příjem XML zpráv.
Odeslání zprávy na IS OTE / CDS −
Automatické spuštění procesu odesílání aktivované umístěním odchozí XML zprávy do dedikované složky Pro_OTE
−
Navázání zabezpečené https (SSL) komunikace
−
zajištění autentifikace u IS OTE /CDS pomocí certifikátu,
−
podepsání odchozí XML zprávy oboustranně akceptovaným certifikátem,
−
zabalení XML zprávy do SOAP obálky,
−
dle typu zprávy zavolání příslušné web service,
−
vyhodnocení návratového kódu a reakce na něj,
− uložení originálu XML zprávy do archivu a zápis do souboru protokolu (logu). V případě použití modulu SOAP server samostatně, musí uživatel sám zajistit předání zpráv k odeslání a přebírání došlých zpráv do resp. z příslušných dedikovaných složek. Tento přenos se týká i souborů protokolu (logů), které je vhodné periodicky kontrolovat.
Náhradní komunikace v případě výpadku SOAP serveru V případě jakéhokoliv výpadku SOAP serveru pro příjem zpráv od OTE je nastavením v IS OTE / CDS zajištěno automatické přepnutí zasílání zpráv z kanálu HTTPs na kanál SMTP, tj. příchozí zprávy začnou přicházet na defaultní e-mailovou adresu. Při výpadku během zasílání zpráv je automaticky proveden příslušný počet opakovaných pokusů s definovaným časovým krokem. Při trvající nedostupnosti serveru je třeba použit uživatelské webové rozhraní IS OTE / CDS.
File Transfer Server Tento modul doplňuje SOAP server modul a zajišťuje zabezpečený přenos souborů mezi demilitarizovanou zónou a vnitřní sítí (LAN), kde běží systém pro podporu obchodu s elektřinou. File Transfer Server (FTS) je opět řešen jako web service (v DMZ) a windows service (v LAN na PC označeném „FTS_LAN“), které běží na OS Windows a jsou automaticky startovány při startu tohoto systému. Komunikace této web service je iniciována z důvodu zajištění bezpečnosti vždy a pouze ze strany LAN a všechny případné příchozí požadavky ze strany DMZ jsou ignorovány. Přenos je realizován opět bezpečným HTTPs kanálem. Server pracuje s identickou zrcadlovou strukturou složek. Jedna sada těchto složek je umístěna na SOAP serveru v DMZ a stejná sada (její zrcadlo) je i na počítači „FTS_LAN“, kde běží FTS. Jeho základní funkce jsou: −
automatický přenos XML souboru z LAN do DMZ iniciovaný výskytem tohoto souboru ve složce Pro_OTE na FTS,
−
automatický periodický přenos XML souborů z DMZ do LAN do složky Od_OTE dle naplánovaného intervalu (uživatelsky nastavitelného v konfiguraci serveru),
−
zaznamenávání údajů o své činnosti do protokolového souboru (logu) a přenášení log souboru SOAP serveru z DMZ do dedikované složky na straně FTS pro zjednodušení práce s tímto souborem.
XML Router
XML Router je doplňkovým modulem ke dvěma předchozím a dotváří a automatizuje tak naše řešení na straně zpracování příchozích XML zpráv od OTE. Je opět řešen jako windows service, která běží na OS Windows a je automaticky startována při startu tohoto systému. Tento modul zajišťuje zpracování příchozí XML zprávy dle kódu této zprávy. Kódy XML zpráv jsou definovány v dokumentaci k IS OTE / CDS. Služba XML Router běží na počítači, který musí mít přístup ke složce Od_OTE, do které ukládá přišlé zprávy File Transfer server. Modul automaticky rozpozná příchod XML zprávy (ve formě souboru) do složky Od_OTE, tuto zprávu otevře a dle kódu zprávy spustí program pro zpracování této zprávy tak, jak je uživatelem definováno v Commander souboru tohoto modulu. Spuštěný program může být například: −
přesun do speciálního cílového adresáře,
−
zaslání e-mailu zodpovědným pracovníků, kdy do těl zpráv je možné parametricky předat data z došlé XML zprávy,
− dávkový soubor obsahující příkaz nebo příkazy pro import hodnot do obchodního systému, aj.. Počet a typ spuštěných programů není omezen. Mohou například vytvořit sekvenci - pošli e-mail, pak extrahuj data a pak proveď import do obchodního systému. Parametry pro spouštěný program jsou úplné jméno souboru s XML zprávou a volitelné parametry, které extrahují data ze zpracovávané XML zprávy, např. komentář, který je typicky předáván do těla zaslané e-mailové zprávy, nebo vlastní XML soubor v dekryptované podobě, který se předává cíleně adresátům, atd.
Bezpečnost řešení Bezpečnost řešení vychází z požadavků definovaných v obchodních podmínkách OTE, a.s. a je založena na použití standardů SOAP, HTTPs, SSL a certifikátů I.CA a OTECA. Fyzický přístup je řízen bezpečnostními politikami Firewallů jak na straně OTE, a.s. tak komunikujícího účastníka trhu. Dalším bezpečnostním prvkem je i topologie řešení, kdy vlastní komunikace probíhá v DMZ na dedikovaném serveru, který je z vnitřní sítě jednosměrně dotazován zabezpečeným protokolem SSL.
Další možnosti využití řešení SOAP komunikace S pomocí SOAP komunikace lze samozřejmě řešit nejen komunikaci s IS OTE / CDS, ale v odůvodněných případech i komunikaci s jinými subjekty. Podmínkou však je, aby tyto subjekty byly na své straně na tuto technologii připraveny. Na energetickém trhu s elektřinou lze zjednodušeně definovat výměny informací, tj. toky dat mezi autoritami a Registrovanými účastníky trhu a mezi RÚT navzájem tak, jak je ukázáno na následujícím obrázku:
Autorita OTE (IS OTE / CDS), ČEPS (Damas,eTrace)
Internet
RÚT_1
Internet
Internet
RÚT_n
Výměna informací prostřednictvím internetu technologií SOAP komunikace XML zpráv je moderní způsob řešení, který jistě v blízké době zaznamená další rozšíření. V našem projektu jsme s tím uvažovali a není tudíž problém software modifikovat pro zcela odlišné prostředí, než je liberalizovaný trh s elektřinou, jehož potřeby nás k vývoji našeho řešení SOAP komunikace přivedly. Petr Zápaska