Gå til innhold

ASP: Aksessere DCOM/COM+ komponent på server, fra en applikasjon


Anbefalte innlegg

Hei

 

Jobber med en oppgave på skolen, der vi skal forsøke å se på de

forskjellige mulighetene og begrensningene med teknologiene

WebServices, DCOM (COM+ ?) og Java RMI.

 

I den sammenheng lurer jeg på hvordan man benytter seg av en DCOM-kompopnet fra en applikasjon(f.eks. en VB.app). Komponenten er plassert på en server (ikke samme maskin som klienten). Dette skal vel være mulig skal det ikke ? Eller er det bare mulig å benytte den fra web-sider som er plassert på denne serveren ?

 

Ser mange modeller/arkitektur-oversikter på nettet som viser at dette

kan lages som en applikasjon med en klient tjener arkitektur, men finner

ikke ut hvordan det gjøres.

 

Jeg vet at man må registrere komponenten på servermaskinen, og at

den da får en classID, men hvordan fåe en referanse til denne fra

klient-applikasjonen man lager (på en annen maskin) ?

 

Noen som vet noe om dette ? Alt av interesse...

Lenke til kommentar
Videoannonse
Annonse

Jeg skal prøve å gi en forklaring, men er ikke 100% sikker på dette ettersom jeg har jobbet mest med WebServices.

 

Du plasserer DCOM komponenten på noe som heter MTS (Microsoft Transaction Server). Deretter må du også registrere komponenten på klient maskinen. Du eksporterer en ocx eller dll fil fra MTS som du installerer på klient maskinen. Det som skjer når du installerer denne på klient maskinen er at det legges inn verdier i registeret som forteller hvilken ip/url MTS har og kobler den mot class id.

 

Når dette er gjort kan du fra en vb klient app enkelt oprette et objekt av komponenten ved å skrive noe sånnt som Object o = CreateObject("minKomponent").

 

Et problem med denne løsningen er når du skal oppgradere komponenten må du registrere den på nytt på MTS og klient maskin. Dette skaper ofte trøbbel og såkalt DLL hell fordi classidene er forskjellige.

 

 

Håper det hjalp deg litt på vei ihvertfall..

Lenke til kommentar

Takk for svar...

 

Nå fikk vi det til, iallefall delvis.

Server-maskinen kjører WinXP pro som OS, og jeg vet ikke om denne har det nevnte MTS(MS Transaction Server), men det finnes iallefall en "Component Services"-kosoll for administrering av bl.a. COM+ applikasjoner. Regner med dette er tilsvarende, eller har tatt over for tidligere MTS.

 

Fikk iallefall registrert komponenten på server-maskine, og eksportert en slag setup-fil. Dette ble av typen : Filnavn.MSI Dette ble da en fil som kunne registrere det nødvendige i registeret på klienten. Og dette fikk vi til å funke i et lokalt nett.

 

Men hvordan får man dette eventuelt til å fungere på Internet ? Med en web-server, kan man jo spesifisere hvilken port den skal lytte på, og klienter kan koble seg mot denne. Men med denne COM+ komponenten er det ingen muligheter til å spesifisere port. Er det en grei måte å løse dette på ?

 

Eller det slik at (D)COM kun kan brukes innen kontrollerte nettverk, der man har full kontroll på barnnmurer, rutere osv..

Og at hvis man hvil ha en distribuert løsning over Internet må benytte seg av en annen løsning, som f.eks Web Services via en web-server ?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...