Projekt Cajo - Cajo project
The Projekt Cajo je rámec který umožňuje více Jáva aplikace které jsou rozloženy na více strojích, aby transparentně a dynamicky fungovaly jako jeden. Tento rámec je užitečný pro oba otevřené / zdarma a proprietární aplikace, které vyžadují distribuované výpočetní schopnosti. Lze jej použít na téměř jakékoli platformě vybavené technologií Java (JRE /JME 1,2 nebo vyšší) (mobilní telefony, sálové počítače, servery, vestavěná zařízení atd.) Jedná se o „drop-in“ framework, protože neklade žádné strukturální požadavky resp zdrojový kód se mění a je 100% čistý Java bez kódu XML. Také nezávisí na žádném jiném rámci a může pracovat pozadu NAT, firewally, dokonce HTTP zástupci.
Dějiny
Projekt Cajo byl vydán portem IANA číslo 1198 a adresou UDP Multicast 224.0.23.162.
Licence
Zdrojový kód je zdarma pod LGPL a dokumentace je zdarma pod GFDL.
Používání
Přehled
Pomocí projektu Cajo, běžných nemodifikovaných objektů Java, lze vzdálit pomocí jediného řádku kódu:[1]
- Itemserver.bind (someObject, "someName")
Ty pak mohou být použity vzdálenými stroji buď staticky, nebo dynamicky.
Statické použití vzdáleného objektu
Statické použití vzdáleného objektu se obvykle provádí, když existuje jedno nebo více rozhraní k objektu, definujících, jak ho může klient použít, známý na Čas kompilace. Například:
- veřejné rozhraní SomeInterface {... // signatury metody}
Vzdálený objekt implementuje toto rozhraní a případně i další, poté dálkově ovládá objekt, jak je znázorněno výše.
Statické použití vzdáleného objektu je poskytována prostřednictvím a TransparentItemProxy
.[2] Uživatel vzdáleného objektu může vytvořit odkaz na tento objekt, který ve skutečnosti implementuje sdílené rozhraní, a to následovně:
- SomeInterface si = (SomeInterface) TransparentItemProxy.getItem ("// someHost: 1198 / someName", nová třída [...] {SomeInterface.class})
Vzdálený počítač může nyní vyvolat metody na vzdáleném objektu s přesnou syntaxí a sémantikou prostředí Java, jako by to bylo místní.
Dynamické použití vzdáleného objektu
Dynamické použití vzdáleného objektu se obvykle provádí, když bude rozhraní k objektu určeno za běhu. To se často stává při použití vzdálených objektů Cajo v a skriptování.[3] Stroj dynamicky používá odkaz na vzdálený objekt následujícím způsobem:
- // získat odkaz
Object object = Remote.getItem ("// someHost: 1198 / someName");
- // obvykle získává za běhu
String someMethod = "someMethod";
- // také získáno za běhu
Object someArgs = new Object [...] {someArgs, ...};
- Výsledek objektu = Remote.invoke (objekt, someMethod, someArgs);
Tento úryvek vyvolá metodu na vzdáleném objektu a poskytuje argumenty, (jestli nějaký) a vrácení výsledku. (jestli nějaký)
Rámec cajo může stroji umožnit vzdálené použití odkazu na objekt pomocí UDP /IP Multicast.[4] Tato technika umožňuje strojům, které mají zájem, používat vzdálené odkazy, jednoduše poslouchat oznámení. To poskytuje a Jeden k mnoha vazební mechanismus, kde uživatelé vzdáleného objektu nepotřebují znát TCP / IP adresa hostitelského počítače.
Vzdálená grafická uživatelská rozhraní
Projekt Cajo se také používá ke vzdáleným grafickým uživatelským rozhraním.[5] To umožňuje aplikaci spouštět svůj pohled na samostatných počítačích Modelka, a dokonce i jeho ovladač předměty.
Viz také
Reference
- ^ „Přidání cajo do stávajících aplikací“. Projekt Cajo. 2007-08-04. Archivovány od originál dne 2006-09-25. Citováno 2008-01-19.
- ^ "Používání vzdálených objektů, jako by byly lokální". Projekt Cajo. 2007-08-04. Archivovány od originál dne 2007-12-23. Citováno 2008-01-19.
- ^ „Proč psát cajo?“. Projekt Cajo. 2007-08-04. Archivovány od originál dne 01.01.2008. Citováno 2008-01-19.
- ^ „Používání vícesměrového vysílání cajo“. Projekt Cajo. 2007-08-04. Archivovány od originál dne 2007-12-23. Citováno 2008-01-19.
- ^ „Použití mechanismu proxy cajo“. Projekt Cajo. 2007-08-04. Archivovány od originál dne 2007-12-23. Citováno 2008-01-19.
externí odkazy
- https://web.archive.org/web/20060925101254/https://cajo.dev.java.net/ Stránka projektu cajo
- http://java.net/projects/cajo[trvalý mrtvý odkaz ] Stránka projektu cajo SDK
- Oznámení oficiálního čísla portu IANA [trvalý mrtvý odkaz ]
- Oznámení adresy vícesměrového vysílání IANA [trvalý mrtvý odkaz ]
- Internetové adresy vícesměrového vysílání