Integrácia aplikácií v európskej energetike
Vďaka neustále postupujúcej liberalizácii trhov a ich integrácii naprieč tradičnými hranicami európskych štátov, dochádza k výraznému prepájaniu aj na úrovni podporných softwarových aplikácií. Napríklad povinné pravidlá pre zverejňovanie energetických dát za účelom transparentnosti trhu, z dôvodu nariadení Európskej komisie, nútia všetkých 42 európskych prevádzkovateľov prenosových sústav (Transmission System Operator, TSO) zaviesť pomerne zložité automatizované zasielanie správ.
Toto je len špička ľadovca – v súčasnosti prebieha niekoľko ďalších integračných projektov, z ktorých môžeme spomenúť napríklad prepájanie D-1 trhov (Market Coupling, Price Coupling), vnútrodenných trhov (projekt XBID) či cezhraničný scheduling. Nároky na integráciu aplikácií a dátovú komunikáciu neustále stúpajú a vyžadujú si často zaujímavé riešenia postavené na odborových štandardoch a dobrých praktikách.
Hovoríme rovnakou rečou
Rovnako ako si ľudia navzájom rozumejú, keď spolu hovoria rovnakou rečou, aj v prípade komunikácie medzi aplikáciami je dôležité, aby hovorili rovnakou rečou, tj. reprezentovali prenášané dáta rovnakým spôsobom. Ak nie, tak dáta poslané jednou z aplikácií nebudú zrozumiteľné druhej aplikácii, ktorá ich prijíma. Napríklad len pre zasielanie informácií o stave energetickej siete sa v súčasnej dobe bežne používa textový CSV súbor a niekoľko rôznych XML reprezentácií.
Pre zjednodušenie aplikačných integrácií vznikli v rámci Európskej siete prevádzkovateľov prenosových sústav elektriny (ENTSO-E) štandardy pre elektronickú reprezentáciu dát využívaných na Európskom energetickom trhu (tzv. EDI / Electronical Data Interchange štandardy). V analógii k ľudskej reči sa jedná o akési „esperanto“, ktoré pokiaľ je aplikáciami používané, umožňuje im navzájom sa dohovoriť bez väčších problémov.
V súčasnej dobe ENTSO-E udržuje niekoľko rôznych štandardov pre podporu obchodných procesov prevádzkovateľov prenosových sústav. Všetky ENSTO-E EDI štandardy využívajú na reprezentáciu dát formát XML a sú do detailu popísané na webových stránkach ENTSO-E v sekcii EDI Library.
Keďže v energetike je nutné veľmi často pracovať s dátami vo forme časových radov, je aj reprezentácia časových dát základom väčšiny zmienených štandardov. Z tohto dôvodu je užitočné poznať štandardný spôsob reprezentácie časových radov. Jeho podpora je tiež pevne zakorenená vo väčšine kľúčových softwarových produktov využívaných v energetike.
Keď nám chýbajú slová
Analógiu EDI štandardov a jazyka Esperanto môžeme použiť na vysvetlenie jedného z najväčších problémov štandardov pre aplikačné integrácie. Rovnako ako je aj Esperanto umelým jazykom, ktorý nie je prirodzene rozvíjaný bežnými ľuďmi, ale jazykovedcami, sú aj EDI štandardy centrálne rozvíjané pracovnými skupinami. Takže rovnako ako v Esperante môžu istý čas chýbať potrebné slová, v EDI štandardoch často chýbajú konštrukcie pre reprezentáciu potrebných dát. Rozvoj jazyka či EDI štandardov síce reaguje na potreby esperantistov alebo aplikačných integrácií, napriek tomu reaguje oneskorene a v prípade integračných projektov častokrát príliš neskoro na to, aby bol štandard použiteľný bez jeho neštandardného prispôsobenia.
Na každom z integračných projektov, ktorých som sa mohol zúčastniť, sme museli väčším či menším spôsobom štandardy upravovať. Napríklad na účely Price Coupling of Regions bolo nutné rozšíriť štandard ECAN Capacity Document o niekoľko nových prvkov, aby vedel okrem kapacít na vedenie reprezentovať aj ceny či obmedzenie kapacít podľa výsledkov FlowBased výpočtov. Toto rozšírenie sme síce diskutovali s pracovnou skupinou spravujúcou ECAN štandardy, napriek tomu sme boli nútení využiť ich skôr, ako bolo rozšírenie štandardu schválené.
Dôsledkom je využitie neštandardného formátu, ktorý je síce vhodný pre danú aplikáciu, ale nezodpovedá finálne schválenému štandardu. Preto bude musieť byť v záujme interoperability s najväčšou pravdepodobnosťou v niektorej z budúcich verzií aplikácie nahradený za finálne schválenú verziu.
Niekedy potrebujeme tlmočníka
Napriek všetkej štandardizačnej snahe sa veľmi často stretávame so situáciou, kedy je potrebné vzájomne prepojiť aplikácie. V tom lepšom prípade podporujú využívaný štandard reprezentácie správ, ale každá inú verziu daného štandardu. V horšom prípade každá aplikácia „hovorí“ úplne iným jazykom.
K tomu, aby sme takéto aplikácie prepojili, máme na výber dva základné varianty – buď jednu aplikáciu naučíme hovoriť jazykom druhej aplikácie (prípadne obe štandardným „esperantom“) alebo využijeme služby prekladateľa.
Z dlhodobého hľadiska je výhodnejší a udržateľnejší druhý variant. Vo svete aplikačných integrácií je takýto prekladač reprezentovaný väčšinou dedikovaným softwarom, nazývaným Enterprise Service Bus (ESB), ktorý stojí medzi aplikáciami. Tie namiesto toho, aby zasielali správy sebe navzájom, zasielajú ich do ESB, ktorý ich potom pred doručením cieľovej aplikácii preloží do jej zrozumiteľného formátu.
Typický príklad využitia ESB je znázornený na obrázku č. 1. Využitie ESB prináša okrem možnosti prekladu správ aj ďalšie výhody. Medzi najdôležitejšiu z nich patrí schopnosť spoľahlivého doručenia správy aj v prípade, keď cieľová aplikácia práve nie je na príjme (napríklad má výpadok kvôli chybe hardware). ESB si v tomto prípade správu zapamätá a doručí ju až vo chvíli, keď sa aplikácia znovu pripojí. K ďalším zaujímavým funkčnostiam patrí centrálny monitoring komunikácie a podpora rôznych komunikačných protokolov pre príjem a doručenie správy – FTP, webové služby, e-mail atď.
Hlavnou potenciálnou nevýhodou ESB je možnosť jeho výpadku. Malo by to fatálny následok pre všetky aplikačné integrácie, ktoré naň spoliehajú. Preto moderné ESB kladú veľký dôraz na vysokú dostupnosť a patria k najspoľahlivejším súčastiam ICT infraštruktúry.
Obrázok č. 1: Príklad využitia ESB
ESB produkt ponúka každá veľká softwarová firma, pričom najpopulárnejšie sú Oracle Service Bus, IBM WebSphere ESB, Microsoft BizTalk a JBoss Fuse. Pravdepodobne najlepší pomer cena/výkon má JBoss Fuse.
A čo diskusie na diaľku?
Ďalšou nečakane problematickou integračnou oblasťou je výber komunikačného protokolu na výmenu dát medzi rôznymi spoločnosťami. Na prvý pohľad by ste si povedali, že na tom predsa nemôže byť nič ťažšie ako v prípade výmeny dát medzi aplikáciami v rovnakej spoločnosti.
Je tu však podstatný rozdiel – alebo skôr dva rozdiely – a tými sú bezpečnosť a spoľahlivosť. Dáta prenášané medzi spoločnosťami sú vo väčšine prípadov prenášané cez internet alebo v lepšom prípade cez neverejnú sieť, ktorá ale stále nie je natoľko zabezpečená ako interná sieť v rámci jednej spoločnosti. Keďže sieť ani cieľovú aplikáciu nemáte pod kontrolou, je aj spoľahlivosť prenosu horšia.
Bohužiaľ v praxi neustále narážame na pomerne nešťastné riešenia takýchto integrácií. Cenu za úplne najhoršie, a pritom stále dosť využívané riešenie, vyhráva komunikácia prostredníctvom e-mailu, kedy zdrojová aplikácia zasiela správu ako štandardný e-mail na adresu cieľovej aplikácie. Správci týchto aplikácií potom neustále riešia problémy s nedoručenými správami, keďže e-mail je nespoľahlivý protokol a doručenie správy nezaručuje. Navyše mnoho implementácií ani nevyužíva možnosť digitálneho podpisu a šifrovania (štandard S/MIME). Zaslanú správu si môže ktokoľvek prečítať a prípadný útočník môže navyše veľmi jednoducho podsunúť nepravú správu v mene iného odosielateľa.
Reakciou na tento problém vznikol štandard MADES (Market Data Exchange System) a jeho implementácia – komunikačná platforma ECP (Energy Communication Platform). Používa sa na zjednodušenie aplikačných integrácií medzi európskymi energetickými spoločnosťami. S jeho pomocou je integrácia výrazne jednoduchšia, so zaručením vysokej bezpečnosti prenosu a vysokej spoľahlivosti. Základná koncepcia ECP je založená na princípe Enterprise Service Bus, predstaveného v predchádzajúcej kapitole, ale prispôsobeného na prevádzku nezabezpečených sietí (viď obrázok č. 2). V kontexte vnútropodnikovej siete je potom MADES / ECP reprezentovaný ako externý konektor, znázornený na obrázku 1.
K rozšíreniu ECP môže prispieť aj fakt, že ECP je ponúkané k voľnému použitiu všetkým účastníkom trhu s elektrinou – všetkým prevádzkovateľom prenosových sústav a ich obchodným partnerom. Viac detailov o MADES a ECP nájdete tu.
Obrázok č. 2: Princíp Enterprise Service Bus
Už si rozumieme
Vďaka očakávanému rozvoju šikovného merania, šikovných sietí a ďalšiemu tlaku na prepájanie energetických trhov možno očakávať, že aplikačná integrácia bude v energetike ďalej naberať na dôležitosti a objem prenášaných dát každým rokom výrazne vzrastie. Taktiež možno očakávať, že na dôležitosti budú naberať aj koncepty a produkty zmienené v tomto článku – štandardizácia formátov, Enterprise Service Bus aj komunikačná platforma MADES a jej implementácia ECP.
Autor: Stanislav Mikulecký, Senior Consultant, Unicorn Systems
Zdroj: Unicorn Systems