CORBA - šedá eminence

Kolem standardu CORBA (Component Object Request Broker Architecture), zaměřeného na spolupráci objektově orientovaných s...


Kolem standardu CORBA (Component Object Request Broker Architecture),
zaměřeného na spolupráci objektově orientovaných softwarových komponent, se
rozhostilo ticho. Diskuse, která probíhala kolem něj samotného i kolem jeho
prosazení v nových technikách a konceptech jako J2EE, .Net, XML a webových
služeb odezněla téměř do zapomenutí. CORBA však žije.
Sascha Alexander Když členové skupiny Object Management Group (OMG) začali se
specifikací CORBA, sledovali vizi, která dnes přichází na mysl také příznivcům
architektury webových služeb: Cílem byla otevřená infrastruktura, s jejíž
pomocí by se mohli navzájem nacházet a dorozumívat aplikace a objekty nezávisle
na použitých programovacích jazycích, hardwaru, operačních systémech a síťových
protokolech. Asi 800 členů OMG, mezi nimiž najdeme IT výrobce i uživatele,
rozvinulo do poloviny 90. let specifikace natolik kvalitně, že se CORBA během
času vyvinula v upřednostňovaný, objektově-orientovaný integrační mechanismus
pro komplexní podnikové systémy. A to i díky dobré podpoře různých klonů Unixu
a Windows.
Podle aktuálních odhadů je dnes k dostání 50 různě výkonných implementací
standardu CORBA, takzvaných Object Request Brokerů (ORB). Patří k nim komerční
produkty firem Iona, Borland, IBM nebo Bea Systems, jakož i ty, které jsou k
dispozici jako shareware nebo open source. Mezi nimi najdeme tak prominentní
zástupce, jako jsou Mico nebo TAO, které používá Microsoft či Boeing. Dnes
využívá standardu CORBA nejméně 1 000 velkých firem a také spousta menších.

Konkurence na pochodu
I přes tento úspěch se CORBA již minimálně rok technologicky dostává do
defenzivy. Komponentové modely jako Enterprise JavaBeans (EJB) Java 2
Enterprise Edition (J2EE) a COM+/.Net mezitím svádějí boj o přízeň systémových
architektů a vývojářů. Vzhledem k aktuálnímu konceptu webových služeb a jejich
náklonnosti k XML a k webovým standardům jako HTTP se zdá, že s rolí standardu
CORBA, který se neopírá o web a synchronní komunikační standard, je definitivně
konec. K tomu se přidává ještě skutečnost, že obec kolem standardu CORBA
nedisponuje odpovídajícími marketigovými prostředky a tak širokým okruhem
uživatelů, aby mohla produktu dělat stejně masivní reklamu, jako je tomu u
konkurence. CORBA však přesto zůstává pro mnohé aplikační scénáře i nadále
nejvhodnější a často i jedinou alternativou. Především možnost implementovat
objekty pomocí jazyka pro popis rozhraní IDL (Interface Definition Language) a
jeho kompilátorů do četných programovacích jazyků je jednou z největších
předností standardu CORBA. OMG nabízí podporu pro jazyky ADA 95, C, C++, Cobol,
Java, Lisp, PL/1, Python a Smalltalk. K nim se přidávají "neoficiální" mapování
například pro Delphi, Pascal, Perl, PHP, Pike, Ruby nebo Tcl/Tk. Snahou skupiny
OMG je zachovat standardu CORBA co nejlepší kompatibilitu, proto je možné
vybudovat technické mosty i mezi aplikacemi CORBA a oblíbenými technologiemi.
Tak například již několik let existují vedle sebe standardy CORBA a Java.
Javové aplikační servery hojně využívají standardu CORBA ve formě řady
implementovaných služeb, jako je například protokol RMI nebo IIOP a Portable
Object Adapter (POA). Budoucí podpora pro Microsoft COM+ je naproti tomu ještě
nejasná. Obr z Redmondu bude prostřednictvím .Net používat komunikační formát
založený na XML a nazvaný SOAP (Simple Object Access Protocol), zatímco CORBA
používá architektonicky neutrální GIOP (General Inter ORB Protocol). V září
2000 však začala OMG vyvíjet řešení, díky kterému by se dal GIOP v budoucnu
mapovat přímo na SOAP místo na TCP/IP, jak je tomu doposud. Tím by se daly z
oblasti .Net využít mnohé ze služeb standardu CORBA, i když každý thread
potřebuje vlastní spojení s klientem.

CORBA umí nadchnout
To, jakou roli může CORBA mít, vysvětluje Ulrich Gähler, šéf IT Zürich
Financial Services (ZFS): "Možnost vybudovat pomocí standardu CORBA z
obchodních komponent kompletní architekturu nás nadchla." Když se jeho tým před
třemi lety rozhodl vytvořit nad standardem CORBA kompletní bankovní
architekturu, byla to současně jediná fungující infrastruktura na trhu, která
uměla toto přání splnit. "Dokázali jsme velmi rychle implementovat kontaktní a
prodejní kanály a máme dnes 50 interních a několik tisíc externích uživatelů,"
říká Gähler. Pro většinu uživatelů je typické to, že kombinují standard CORBA i
s jinými řešeními. ZFS tak používá klienty s operačními systémy Microsoftu, při
vývoji webových produktů vsází na Javu a v oblastech přenositelnosti
experimentuje s prvními implementacemi SOAPu. CORBA, jak říká Ulrich Gähler,
není standardem vhodným pro IT obchody s pouhými 20 zaměstnanci, neboť náklady
na vybudování infrastruktury jsou velmi vysoké. "Pomocí inteligentní
architektury ve velkých firmách je ale vždy možné značně zredukovat
komplexnost." V praxi se ovšem podle názoru Ulricha Gählera nepodařilo naplnit
jeden důležitý příslib teorie OO (objektové orientace) totiž dosažení
znovupoužitelnosti jednou vytvořených objektů pro nové služby. "To je podle mě
také důvod, proč se dnes koncept webových služeb setkává s tak velkým zájmem,"
říká Gähler.

Výhled
Podle Josta Hoppermanna, šéfa evropských výzkumů společnosti Giga Information
Group, zůstanou i přes nové trendy mnohé firmy standardu CORBA věrné. Jsou to v
první řadě ty, které využívají mainframe a četné terminálové aplikace.
Stěžejními obory jsou přitom letecká doprava, banky a specializovaní výrobci,
kteří potřebují systémy pracující v reálném čase. Rovněž společnosti z oblasti
médií vsadily na standard CORBA například CNN nebo německý kanál Pro 7.
Ojediněle se dokonce najdou nové projekty CORBA, především v oblasti finančních
služeb a na úřadech. Stále více firem však od standardu CORBA odstupuje a pro
své stávající aplikace počítá s použitím J2EE. Jako důvod uvádí Hoppermann
slábnoucí know-how standardu CORBA, nedostatečné vývojové procesy, fúze i
obecně špatné projektové zkušenosti s tímto standardem.

Kdy ano, kdy ne

CORBA může být tím správným řešením v následujících případech:
- Cílem je distribuovaný systém.
- Zúčastněné aplikace byly vytvořeny v různých programových jazycích.
- Server a klienti používají různé platformy.
- Stávající aplikace musejí být provázány.
- Je potřebná kompatibilita se standardem J2EE.
- Cílem projektu je obsáhlá, strategická softwarová architektura.

CORBA je méně vhodným řešením, jestliže:
- Systém má běžet pouze na jednom počítači.
- Aplikace má být napsána jedním jazykem.
- Cílem je řešení na platformách Microsoftu COM+ nebo .Net.
- Plánovaný systém má přinést jen krátkodobý užitek.
- Komunikace má probíhat asynchronně přes webovou strukturu, například pomocí
protokolu SOAP, a způsob provedení není rozhodující.
- Pro technologii CORBA chybějí odborníci.









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.