Vaše odpověď je poměrně vyčerpávající. Zajímá mě především
integrace na úrovni aplikace a uživatelského rozhraní. V našem případě
připadá nejspíš v úvahu použití jednoduššího
přístupu - vysdílení služeb mezi aplikacemi, integraci v rámci GUI si
musím ještě rozmyslet, ale určitě ji musíme řešit - portlety?. Pokud
jsem správně pochopil mechanismus sběrnice, tak je nutné si vytvořit
jakýsi vlastní komunikační protokol v podobě zpráv. A propo, nejedná se
o nějaký návrhový vzor?
díky Jakub
Petr Ferschmann wrote:
Dobrý den,
to co chcete se často řeší v portálových řešeních.
Takže máme několik cest:
- integrace na úrovni databáze (to nechcete).
- integrace na úrovni aplikace
- integrace na úrovni uživatelského rozhraní - néjen GUI (tj. hlavička
a patička), ale i funkčnost. Takovou integrací může být např. google
mapy a přidávání ikonek do mapy.
Vás bude asi zajímat na úrovni aplikace. Pokud to píšete celé v Javě
tak je několik cest:
- jednoduchý přístup - prostě vysdílíte nějaké služby napříč aplikacema
- buď přes RMI, CORBA, SOAP, ... Řešíte to vlastně tak, že se jedná jen
o jednu aplikaci, která komunikuje po síti.
- použití sběrnice - nadefinujete události (např. založení konta) a k
této události připojíte všechny systémy - tj. když založím konto
uživatele tak se musí v app1 vytvořit konto, v app2 se vytvoří mailová
schránka. Když vznikne nová zakázka (tj. jiná událost) je opět několik
aplikací.
Vše se dá rozdělit na tyto prvky:
- zpráva - popis zprávy, která je odesílána do sběrnice
- transformace pro jednotlivé aplikace - někdy nemusí každá
aplikace rozumět nejnovějším zprávám. a tak se transformuje zpráva pro
tu starší. U menších systému toto ani být nemusí.
- schránky nebo události - tj. kam se správa pošle, když nastane
nějaká událost.
Sběrnice je nejzajímavější, ale také nejnáročnější.
Ještě k těm portálům - IBM má ve svých portálech rozšíření pro mezi
portletovou komunikaci - tj. pošlu událost a ostatní portlety na stejné
stránce na ní zareagují. Teď už si, ale nevzpomínám jak tomu říkají.
Jakub Příkazský píše v St 12. 04. 2006 v 14:32 +0200:
Zdravím,
potřebuji poradit s následujícím problémem. Chci provozovat více
aplikací (app1,...,appN) v aplikačním serveru. Jak co nejčistším
(nejsystémovějším) a nejefektivnějším způsobem zajistím jejich vzájemnou
spolupráci?
Příklad aplikace app1 obsahuje např. komponentu (objekt, několik objektů
nebo obecně jakákoliv data), která jsou využívána další aplikací
(aplikacemi). Dokážu si představit, že způsobů, jak problém řešit je
více např. pomocí databáze, ale to není co hledám. Dalším může být i
webová služba, které se budou aplikace dotazovat.
Moje úvahy se ubírají směrem k RMI/RPC a tak by mě zajímalo, zda jsou mé
úvahy správné, případně zda máte někdo podobnou zkušenost.
díky Jakub
--
Petr Ferschmann
SoftEU s.r.o.
-----------------------------------
Sady Petatricatniku 31
301 00 Plzen
Czech Republic
-----------------------------------
Phone: +420 373 729 300
Fax: +420 373 729 301
Cell: +420 775 638 008
|
|