PA160 Objektově orientované přístupy Objektově orientované přístupy Dvě základní varianty RMI CORBA PA160 2 Jaro 2003 RMI a Java Základní požadavky Neomezené vyvolání objektů na vzdálených strojích Plná integrace distribuovaných objektů Podpora zpětných volání (callback) ze serveru Bezpečnost a spolehlivost Další požadavky Možnost aktivace persistentních objektů Garbage collection i na distribuovaných (vzdálených) objektech Replikace serverů PA160 3 Jaro 2003 JDOM Java Distributed Object Model Argumenty a výsledky jsou předávány vzdáleným odkazem (remote reference) Některé metody tříd jsou specializovány pro vzdálené objekty Speciální chybové mody (klient je musí umět zpracovat) Používá rovněž vrstvu stub/skeleton Přidává vrstvu odkazu na vzdálené objekty (replikace, . . . ) Vlastní transportní vrstva dnes stojí na TCP (Java sokety) PA160 4 Jaro 2003 CORBA Common Object Request Broker Standard, definovaný OMG (Object Management Group) http://www.omg.org Typický reprezentant modelu klient-server Základní cíl: Zajistit, aby objekty distribuované v síti dokázaly spolupracovat. Základní funkce Nalezení objektu Směrování požadavku Vyvolání metody Navrácení výsledkuPA160 5 Jaro 2003 Object Management Architecture Systémové komponenty Object Request Brokers (ORBs) Object Services Aplikační komponenty Společné služby Aplikační objekty PA160 6 Jaro 2003 Object Request Brokers Propojují jednotlivé komponenty (objekty) Zajišťují vyhledávání Zprostředkovávají posílání zpráv PA160 7 Jaro 2003 Objektové služby Vytváření a odstranění objektů Relokace a replikace objektů Hlídání přístupu k objektům PA160 8 Jaro 2003 Interface Description Language V podstatě zajišťuje přemostění mezi implementacemi Definuje rozhraní PA160 9 Jaro 2003 Úložiště Interface Repository Uchovává rozhraní k objektům (alternativa k IDL) Implementation Repository Informace o umístění objektu a prostředí (OS, . . . ) Informace o implementaci (verze, . . . ) ­ vhodné pro ladění Použita při aktivaci objektu Implementace se musí registrovat PA160 10 Jaro 2003 Služby Základní služby v CORBA 3.0 (první část) Added Structuring Mechanisms for OTS základní architektura pro workflow systémy Collection vytváření a manipulace se skupinami objektů Concurrency podpora souběžných procesů, používá transakční služby a zamykání Enhanced View of Time reprezentace hodin (časovačů) Events práce s událostmi (registrace, publikace a přijímaní událostí) Externalisation export/import objektů PA160 11 Jaro 2003 Služby ­ pokračování Základní služby v CORBA 3.0 (druhá část) Licensing licence, licenční politiky Life Cycle vytváření, kopírování, přesun a destrukce ob- jektů Management of Event Domains práce s obory událostí Naming jmenná služba (pro objekty) Notification rozšíření základní práce s událostmi Persistent State persistentní objekty a manipulace s nimi Query databázové dotazy PA160 12 Jaro 2003 Služby ­ pokračování Základní služby v CORBA 3.0 (třetí část) Relationship explicitní práce se vztahy mezi objekty a vlast- nostmi Security bezpečnost, autentizace, autorizace, šifrování Telecoms Log logování událostí Time podpora operací s časem a časovými známkami Trading Object v podstatě vyhledávací služba (pro služby) Transaction transakce (včetně dvoufázového commitu) PA160 13 Jaro 2003