Må hellere lige forklare lidt mere om hvad det er som det skal bruges
til. Det er et DSM system (Distributed Shared memory) som arbejder på
objekt niveau. Altså en række maskiner i net har en stor virtuel
hukommelse som de kan lægge egne og shared objekter op i.
Shared objekter skal andre kunne tilgå og det skal (når det er færdigt)
være transperent for brugeren, hvor objektet ligger på netværket.
[snip]
> Du skal være opmærksom på at hvis programmet skal virke generelt
er
> der en masse detaljer som processorens endian, hvor stor er en int
> etc. som skal håndteres.
Ja pt. er planen x86 platformen så her skulle vi være sikre.
> Hvis du bruger ACE (
http://www.cs.wustl.edu/~schmidt/ACE.html) findes
> der klasser der netop klarer det (ACE_InputCDR, ACE_OutputCRD - CDR
> står for Common Data Representation).
> Du vil med ACE desuden få den fordel at den indkapsler en masse
> platformsarhængighed (og nyttige design patterns), så din kode både
> kan køre på MS-Windows og Linux (og en masse andet).
Jeg har kigget lidt på ace, men synes det virker ret rodet. Men måske
jeg skulle kigge lidt mere på det.
> Vær opmærksom på at med serialisering er det _kopier_ af objekter, der
> bliver sendt rundt - alle maskiner har således ikke adgang til _samme_
> objekt.
Kopier er ok, objekterne skal alligevel replikeres rundt på indtil flere
maskiner. Det vigtige er at man kan tilgå dem som objekter fra flere
maskiner.
> Hvis du har brug for at lave en applikation med distruerede objekter,
> så alle tilgår samme objekt som ligger på en server, kan det være en
> ide at kigge på CORBA (f.eks.
>
http://www.cs.wustl.edu/~schmidt/TAO.html eller
>
http://omniorb.sourceforge.net/ - omniORB er nemmest at gå til) eller
> ICE(
http://www.zeroc.com/).
Har kigget på corba en del, men umiddelbart er det jo på metode niveau
og ikke på objekt niveau - altså man kalder metoder i objekterne.
--
Kim Schulz | Need a Content Management System for your website? Go
Geek by nature | get Fundanemt at :
http://www.fundanemt.com New
schulz.dk | version out now!