HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Multi-tier alkalmazásfejlesztés MIDAS komponensekkel


Multi-tier 13. rész

Példaprogram letöltése

32279 bájt

Mostani cikkben a DCOM-, Socket- és Web-kliens bővítését láthatjuk a TSimpleObjectBroker komponenssel.

Az előző cikkben bemutatásra került a TSimpleObjectBroker komponens, a legfontosabb tulajdonságaival és metódusaival. Láttuk, hogy a komponens lehetőségeit, szolgáltatásait igazán hálózati környezetben lehet kihasználni, de ez természetes is, hiszen az egész MIDAS paletta a multi-tier alkalmazások fejlesztéséhez készült, ami az esetek túlnyomó részében egyben hálózati alkalmazást is jelent, bár használható egyedi gépen is.

Mivel a példánkhoz a 10. cikk alkalmazásszerverét használtuk, ennek regisztrálva kell lennie rendszerünkben.
A konstansdeklarációban szereplő GUID-et a szerveralkalmazás Szerver_tlb típuskönyvtára PeldaSzerver attribútumának GUID-jéből másolhatjuk ki!


Példaprogramjaink is úgy készültek, hogy azok az olvasók is ki tudják próbálni őket, akik nem rendelkeznek hálózati környezettel.
Jelen cikkünk könyvtárában három példaprogram alkönyvtára található. Az ezekben lévő példaprogramok az előbbi példák kibővítései a TSimpleObjectBroker komponenssel, amelyek szintén kipróbálhatók egy gépen is.

Ahol a példaprogramokban a számítógépnév szerepel, ott a cikkíró számítógépének neve van feltüntetve (nyul), ezt mindenki cserélje ki a saját számítógépének nevével, amit a Windows Vezérlőpult hálózati beállításainál talál meg! (Ahol az IP-cím van megadva, ott valószínűleg nem lesz szükség cserére, mert általánosságban elmondható, hogy a példákban használt 127.0.0.1 -es IP-cím a saját gépet jelenti.)

Mivel már említettük, hogy a mostani cikk példaprogramjai az előző cikkek példáinak bővítései, ezért ebben a cikkben már csak a TSimpleObjectBroker és a kapcsolódást ellátó komponensek (TDCOMConnection, TWEBConnection és TSocketConnection) összefüggéseit tárgyaljuk röviden.

Most nézzük sorban az egyes példaprogramokat:

- DCOM kliensalkalmazás (DCOMKliens könyvtár):
Az adatmodulra ráhelyeztünk egy TSimpleObjectBroker-t (SimpleObjectBroker1), és ennek Servers tulajdonságánál a ServerCollection listában az előző cikkben megismert módon felsoroltuk a rendelkezésre álló szervergépek neveit. (Ha nem hálózaton dolgozunk, akkor a saját gépünk windows-os számítógépnevét írhatjuk be.)
A DCOMConnection1 (TDCOMConnection) komponens ObjectBroker tulajdonságának kiválasztottuk a SimpleObjectBroker1-et. Figyeljük meg, hogy ha a Connected tulajdonságot False-ra állítjuk és kitöröljük a ComputerName tulajdonság értékét, akkor a Connected újbóli True-ra állításakor a ComputerName-ben automatikusan megjelenik a SimpleObjectBroker1 által a szerverlistából szolgáltatott számítógépnév.
Aki hálózati környezetben próbálja ki a programot, vagyis a ServerCollection-ben több gépe is szerepel, az kipróbálhatja a LoadBalanced tulajdonság mindkét értékének hatását a TSimpleObjectBroker működésére (alapértelmezésben False, és egy gépen nem befolyásolja a működést, mert egy szerverből mindegy hogy hogyan választunk).

- WEB kliensalkalmazás (WEBKliens könyvtár):
Az adatmodulra itt is ráhelyeztünk egy TSimpleObjectBroker-t (SimpleObjectBroker1), és ennek Servers tulajdonságánál a ServerCollection listában felsoroltuk a rendelkezésre álló szervergépek neveit.
Példánkban - ahhoz hogy a program egygépes környezetben is működjön - a WebConnection1 Proxy tulajdonságához beírtuk a saját gép IP-címét (127.0.0.1).

- Socket kliensalkalmazás (SocketKliens könyvtár):
A TsimpleObjectBroker Servers tulajdonságánál a szerverlistában szereplő gépeket azonosíthatjuk nevükkel vagy IP-címükkel.
Egygépes (nem hálózati) környezetben is kipróbálható, hogy amennyiben a listában a szervergép nevét adjuk meg, akkor a TSocketConnection kapcsoló komponens Connected tulajdonságát True-ra állítva a Host tulajdonságban megjelenik a TsimpleObjectBroker által szolgáltatott gépnév, amennyiben pedig a szerverlistában a szervergépet az IP-címmel azonosítottuk, akkor a Connected tulajdonság True-ra állításával a TSocketConnection Address tulajdonsága töltődik ki a szerverlistában specifikált IP-címmel. (Hálózatos környezetben itt is érdemes kipróbálni a TSimpleObjectBroker LoadBalanced tulajdonságának hatását.)

Mindhárom példaprogram Form-jára ráhelyeztünk két TEdit komponenst (Edit1, Edit2), és a Form OnActivate eseménykezelőjébe beírtuk az alábbi kódot:
procedure TfrmFoform.FormActivate(Sender: TObject);
type PGUID = ^TGUID;
var 
 CompName: String;
const 
 ID_Srvr:TGUID='{9ADABF83-5277-11D4-B5EE-8FAE3D21A825}';
begin
  Edit1.Text:=DM.SimpleObjectBroker1.
        GetComputerForGUID(ID_Srvr);
  CompName:=Edit1.Text;
  Edit2.Text:=IntToStr(DM.SimpleObjectBroker1.
       GetPortForComputer(CompName));
end;
Ennek hatására az Edit1-ben kiírásra kerül a TSimpleObjectBroker által szolgáltatott szervernév, az Edit2-ben pedig a port száma.

Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2001 évkönyv 130. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |