Ik heb al tijdje gezocht op internet maar kan nog niet echt duidelijke informatie vinden wat nou het verschil hiertussen is. Wat ik begrijp is dat com en dcom onderdeel zijn van com+ Maar tis mij nou niet duidelijk wat ik nou moet gaan gebruiken (com+/dcom) voor als ik een aparte database server heb. Weet iemand goede links? liefst nederlandstalig.
In welke taal wil je gaan programmen met databases? Deze info is beetje onvolledig om een toereikend advies te geven.
Voor Visual Studio gebaseerde MS talen zou ik kiezen om ADO (ActiveX Data Objects) te gebruiken voor je DB connectie.
Voor Visual Studio gebaseerde MS talen zou ik kiezen om ADO (ActiveX Data Objects) te gebruiken voor je DB connectie.
[ Voor 35% gewijzigd door MissingDog op 27-02-2003 15:51 ]
eigenlijk zijn het opvolgers van elkaar. Ole, ole2, com, dcom en de laatste is com+. Vanaf DCom kan je de objecten ook remote (vanaf een andere computer) benaderen.
Als jouw RDBMS op een andere computer staat hoef je nog niet percee COM te gebruiken, dus je moet niets. Als je percee een COM varaint wilt hebben zou ik voor COM+ gaan simpelweg omdat dit de nieuwste versie is met de meeste mogelijkheden.
http://www.techvanguards.com/ over COM, maar voorbeelden meestal in Delphi.
Als jouw RDBMS op een andere computer staat hoef je nog niet percee COM te gebruiken, dus je moet niets. Als je percee een COM varaint wilt hebben zou ik voor COM+ gaan simpelweg omdat dit de nieuwste versie is met de meeste mogelijkheden.
http://www.techvanguards.com/ over COM, maar voorbeelden meestal in Delphi.
We adore chaos because we like to restore order - M.C. Escher
In Visual Basic 6.0MissingDog schreef op 27 February 2003 @ 15:47:
In welke taal wil je gaan programmen met databases? Deze info is beetje onvolledig om een toereikend advies te geven.
Voor Visual Studio gebaseerde MS talen zou ik kiezen om ADO (ActiveX Data Objects) te gebruiken voor je DB connectie.
Ik wil een algemeen module maken die zorgt voor de verbinding met de database op de databaserver, die andere programmas kunnen gebruiken, en de verbinding hiertussen met com+LordLarry schreef op 27 February 2003 @ 15:50:
eigenlijk zijn het opvolgers van elkaar. Ole, ole2, com, dcom en de laatste is com+. Vanaf DCom kan je de objecten ook remote (vanaf een andere computer) benaderen.
Als jouw RDBMS op een andere computer staat hoef je nog niet percee COM te gebruiken, dus je moet niets. Als je percee een COM varaint wilt hebben zou ik voor COM+ gaan simpelweg omdat dit de nieuwste versie is met de meeste mogelijkheden.
http://www.techvanguards.com/ over COM, maar voorbeelden meestal in Delphi.
Ik zou niet moeilijk gaan doen met COM maar gewoon ADO (met ODBC ofzo) gebruiken. COM is veel te ingewikkeld terwijl ADO (volgens mij) veel makkelijker is (en database-onafhankelijker: de database hoeft alleen maar ODBC te ondersteunen)
(D)COM(+) is veel meer dan slechts een manier om een database te benaderen. Het is meer een binaire specificatie van hoe verschillende programma's elkaar kunnen benaderen. Bijvoorbeeld een excel-werkblad in een word-document invoegen.MisterData schreef op 27 februari 2003 @ 17:02:
Ik zou niet moeilijk gaan doen met COM maar gewoon ADO (met ODBC ofzo) gebruiken. COM is veel te ingewikkeld terwijl ADO (volgens mij) veel makkelijker is (en database-onafhankelijker: de database hoeft alleen maar ODBC te ondersteunen)
Sorry ik moet beter lezen
[ Voor 8% gewijzigd door Orphix op 27-02-2003 17:13 ]
ADO == COM
In VB6 gebruik je COM objects gewoon alsof het classes zijn, dat is de kracht van VB6. COM+ is een integratie van COM en Microsoft Transaction Services, dus dat je transaction support hebt, just in time activation etc. DCOM is distibuted COM, wat inhoudt dat je via het netwerk een object instantieert op een andere machine en daar runt, ipv dat je die op je eigen machine runt.
Als je gewoon ADO gebruikt, kun je via het netwerk met je database server connecten, zonder DCOM oid te gebruiken, je gebruikt de ADO com objects gewoon alsof het VB classes zijn. (zie ADO help). Wil je per se DCOM gebruiken, maak dan een ActiveX library aan in VB, bouw daarin classes die via ADO met je database communiceren en installeer deze library in COM+ op de database server. Daarna kun je een setup genereren in de snapin voor COM+ en die setup draai je dan op de machine waarvandaan je de COM objects die je geschreven hebt in VB wilt aanspreken. Die setup installeert in feite DCOM gebruikende wrappers die dmv DCOM over het netwerk op de database server jouw objects instantieren en gebruiken, terwijl het lijkt alsof je op je eigen machine zit te werken.
De MSDN bevat veel artikelen omtrent ActiveX (Com objects in feite), VB6, COM+, MTS, ADO etc. Het is gemakkelijk deze technieken te gebruiken in VB6, maar het is ook raadzaam de achtergrond wat te doorgronden, zodat je weet waar je mee bezig bent.
Als je gewoon ADO gebruikt, kun je via het netwerk met je database server connecten, zonder DCOM oid te gebruiken, je gebruikt de ADO com objects gewoon alsof het VB classes zijn. (zie ADO help). Wil je per se DCOM gebruiken, maak dan een ActiveX library aan in VB, bouw daarin classes die via ADO met je database communiceren en installeer deze library in COM+ op de database server. Daarna kun je een setup genereren in de snapin voor COM+ en die setup draai je dan op de machine waarvandaan je de COM objects die je geschreven hebt in VB wilt aanspreken. Die setup installeert in feite DCOM gebruikende wrappers die dmv DCOM over het netwerk op de database server jouw objects instantieren en gebruiken, terwijl het lijkt alsof je op je eigen machine zit te werken.
De MSDN bevat veel artikelen omtrent ActiveX (Com objects in feite), VB6, COM+, MTS, ADO etc. Het is gemakkelijk deze technieken te gebruiken in VB6, maar het is ook raadzaam de achtergrond wat te doorgronden, zodat je weet waar je mee bezig bent.
Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com
Ik vind het allemaal nog ontzettend vaag eigenlijk. Heb al heel wat sites bekeken hierover en een aantal boeken doorgenomen. Ik ben eigenlijk geen enkele goede site tegengekomen hierover. Overal staat het nogal theoretisch beschreven en vaak ook nog in het engels. (nu kan ik wel engels maar met veel technische termen wordt het wel lastiger) Ik weet nu nog steeds eigenlijk niet wat ik nu moet gebruiken. Dit is wat ik tot nu toe weet:
COM: component object model, biedt een aantal interfaces die de clients en servers de mogelijkheid geeft om met elkaar te communiceren op dezelfde computer.
DCOM heeft die mogelijkheid ook, met als toevoeging dat het ook werkt over een netwerk. DCOM gebruikt hiervoor TCP/IP en HyperText Transfer Protocol (HTTP). Dus DCOM=COM+over netwerk
MTS= Microsoft Transaction Server
COM+= nieuwste benaming van ms, nieuwste versie die alles kan wat COM,DCOM en MTS kunnen. Of isi dit nou een verzamelingnaam?
Zijn dit allemaal eigenlijk protocollen of hoe zou je het kunnen noemen?
Maar zoals ik al zei best theoretisch, en ik heb nog geen flauw idee wat ik nu beste kan gebruiken. Het valt me echt op hoeveel erover te vinden is en hoe weinig van die informatie nou echt duidelijk is. COM valt wel af omdat dat lokaal is.
Edit: ik zie dat iemand sneaky de topicnaam heeft veranderd
COM: component object model, biedt een aantal interfaces die de clients en servers de mogelijkheid geeft om met elkaar te communiceren op dezelfde computer.
DCOM heeft die mogelijkheid ook, met als toevoeging dat het ook werkt over een netwerk. DCOM gebruikt hiervoor TCP/IP en HyperText Transfer Protocol (HTTP). Dus DCOM=COM+over netwerk
MTS= Microsoft Transaction Server
COM+= nieuwste benaming van ms, nieuwste versie die alles kan wat COM,DCOM en MTS kunnen. Of isi dit nou een verzamelingnaam?
Zijn dit allemaal eigenlijk protocollen of hoe zou je het kunnen noemen?
Maar zoals ik al zei best theoretisch, en ik heb nog geen flauw idee wat ik nu beste kan gebruiken. Het valt me echt op hoeveel erover te vinden is en hoe weinig van die informatie nou echt duidelijk is. COM valt wel af omdat dat lokaal is.
Edit: ik zie dat iemand sneaky de topicnaam heeft veranderd
[ Voor 3% gewijzigd door robbertb op 04-03-2003 13:52 ]
Nee, het is meer een raamwerk waar objecten van een ander process benaderd kunnen worden via een zelf op te stellen interface. Het omvat veel meer dan een verzameling van interfacesrobbertb schreef op 04 maart 2003 @ 13:51:
COM: component object model, biedt een aantal interfaces die de clients en servers de mogelijkheid geeft om met elkaar te communiceren op dezelfde computer.
Alhoewel het theoretisch los staat van het transport protocol zijn er eigenlijk alleen TCP/IP implementaties. Geen HTTP. Omdat de poorten ook nog vrij random zijn is het lastig DCOM over internet te draaien.DCOM heeft die mogelijkheid ook, met als toevoeging dat het ook werkt over een netwerk. DCOM gebruikt hiervoor TCP/IP en HyperText Transfer Protocol (HTTP). Dus DCOM=COM+over netwerk
Is een oude benaming voor COM+MTS= Microsoft Transaction Server
COM+ en MTS zijn een soort leefomgeving voor COM/DCOM objecten en voegen daar nog verschillende services aan toe. Zoals load balancing, failover, Message Queues enz. Het is een MiddleTier raamwerk geworden zoals J2EE en Corba.COM+= nieuwste benaming van ms, nieuwste versie die alles kan wat COM,DCOM en MTS kunnen. Of isi dit nou een verzamelingnaam?
Raamwerken noem ik ze maar bij gebrek aan beter.Zijn dit allemaal eigenlijk protocollen of hoe zou je het kunnen noemen?
COM is niet zomaar een makkelijk iets. Waarschijnlijk moet je dingen gebruiken waar je nog nooit eerder van gehoord hebt. Dat maakt het extra lastig. Het hangt sterk van de programmeertaal af hoeveel werk en kennis je moet hebben om het tot een goed einde te brengen. Met VB, C#, Java en Delphi moet je toch al heel snel wat kunnen maken.Maar zoals ik al zei best theoretisch, en ik heb nog geen flauw idee wat ik nu beste kan gebruiken. Het valt me echt op hoeveel erover te vinden is en hoe weinig van die informatie nou echt duidelijk is.
Ik ben alleen bang dat dit een beetje te hoog voor je gegrepen is. No Offence, maar zou je niet eens wat makkelijker beginnen? Hetzelfde effect is te bereiken met fat clients en ADO. Misschien wel iets minder perfect, maar wel binnen bereik. Als je daar ervaring mee opgedaan hebt kan je altijd nog verder.
We adore chaos because we like to restore order - M.C. Escher
de klant stelt als eis dat het via com+/com/dcom gaat, dus alternatieven zijn niet erg interessant, tenzij ze zoveel voordelen bieden tenopzichte van com+ of zo ontzettend veel werk besparen...
Ik wil ook gewoon de sql/stored procedures op de databaselaag uitvoeren.
Ik heb nog wat vragen:
-Wat ondersteund vb nou precies? Alleen dcom/com of ook com+?? Ik kan echt heel weinig vinden over com+ applicaties maken onder vb.. alles is zowat voor delphi/c++
-Ondersteund Access ook Stored Procedures
-Stored procedures = query's ?
Ik wil ook gewoon de sql/stored procedures op de databaselaag uitvoeren.
Ik heb nog wat vragen:
-Wat ondersteund vb nou precies? Alleen dcom/com of ook com+?? Ik kan echt heel weinig vinden over com+ applicaties maken onder vb.. alles is zowat voor delphi/c++
-Ondersteund Access ook Stored Procedures
-Stored procedures = query's ?
Als je alleen de DB laag wil benaderen is een RDBMS genoeg. En als je dan toch percee het woordje com er in wilt hebben pak je toch lekker ADO? Das ook op COM gebouwd en je kan er sql mee afvuren op een DB en stored procedures aanroepen.
- De code voor COM, DCOM en COM+ is hetzelfde. Het is een kwestie van configureren. Natuurlijk kan je, als je wilt, gebruik maken van de extra's die een ieder bied, maar het hoeft niet. Een COM server hoeft niet te weten of ie via COM, DCOM of COM+ aangesproken wordt. Net zo min als een client dat uit maakt. VB is heel goed en makkelijk te gebruiken om COM servers en clients te maken. Dat er daar niet veel voorbeelden van zijn te vinden zegt misschien veel over de gemiddelde VB gebruiker
- Geen idee, maar misschien werken de macro's in Access zo wel.
- Stored procedures zijn stukjes script in je RDBMS. Daar kunnen ook queries in zitten.
Ik krijg een beetje het gevoel alsof je alle woordjes die je klant opnoemt in je programma wilt hebben of het nou nuttig is of niet. Dit lijkt mij een verkeerde instelling van beide kanten. Het lijkt mij zo geen goed plan als je dingen gaat doen als je er nog 0% kennis van hebt, zeker niet als het om COM gaat.
- De code voor COM, DCOM en COM+ is hetzelfde. Het is een kwestie van configureren. Natuurlijk kan je, als je wilt, gebruik maken van de extra's die een ieder bied, maar het hoeft niet. Een COM server hoeft niet te weten of ie via COM, DCOM of COM+ aangesproken wordt. Net zo min als een client dat uit maakt. VB is heel goed en makkelijk te gebruiken om COM servers en clients te maken. Dat er daar niet veel voorbeelden van zijn te vinden zegt misschien veel over de gemiddelde VB gebruiker
- Geen idee, maar misschien werken de macro's in Access zo wel.
- Stored procedures zijn stukjes script in je RDBMS. Daar kunnen ook queries in zitten.
Ik krijg een beetje het gevoel alsof je alle woordjes die je klant opnoemt in je programma wilt hebben of het nou nuttig is of niet. Dit lijkt mij een verkeerde instelling van beide kanten. Het lijkt mij zo geen goed plan als je dingen gaat doen als je er nog 0% kennis van hebt, zeker niet als het om COM gaat.
We adore chaos because we like to restore order - M.C. Escher
Het is de bedoeling dat het een multiuser stukje software gaat worden op de databaselaag die dus gelijktijdig door een vooraf ingesteld aantal gebruikers tegelijk gebruikt mag worden. Het moet ook onafhankelijk zijn. De logicalaag zegt bv alleen db.zoek(pietje) waarop hij de database laag benaderd via com+ en waar dan al die SP en sql code staat. Daarnaast wil ik ook stukje intelligentie in de database zetten, die het mogelijk maakt als je bv alle records wil zien dat hij alleen de eerste 30 records teruggeeft omdat er toch niet meer op het scherm van de gebruiker past, en dat als de gebruiker de volgende 30 wil zien doordat ie op pijltje omlaag klikt, de volgende 30 worden ingelezen.. Dit om de applicatie sneller te maken en dataverkeer te beperken. Ik heb al een en ander over COM+ uitgezocht maar dat is allemaal vrij theoretisch. Ik ben nu bezig met "binary compatible" en "remote server files" onder vb, is dat dan dcom?LordLarry schreef op 10 March 2003 @ 19:56:
Als je alleen de DB laag wil benaderen is een RDBMS genoeg. En als je dan toch percee het woordje com er in wilt hebben pak je toch lekker ADO? Das ook op COM gebouwd en je kan er sql mee afvuren op een DB en stored procedures aanroepen.
- De code voor COM, DCOM en COM+ is hetzelfde. Het is een kwestie van configureren. Natuurlijk kan je, als je wilt, gebruik maken van de extra's die een ieder bied, maar het hoeft niet. Een COM server hoeft niet te weten of ie via COM, DCOM of COM+ aangesproken wordt. Net zo min als een client dat uit maakt. VB is heel goed en makkelijk te gebruiken om COM servers en clients te maken. Dat er daar niet veel voorbeelden van zijn te vinden zegt misschien veel over de gemiddelde VB gebruiker
- Geen idee, maar misschien werken de macro's in Access zo wel.
- Stored procedures zijn stukjes script in je RDBMS. Daar kunnen ook queries in zitten.
Ik krijg een beetje het gevoel alsof je alle woordjes die je klant opnoemt in je programma wilt hebben of het nou nuttig is of niet. Dit lijkt mij een verkeerde instelling van beide kanten. Het lijkt mij zo geen goed plan als je dingen gaat doen als je er nog 0% kennis van hebt, zeker niet als het om COM gaat.
Ok, daar klonk het al een beetje naar. Een echte n-tier architectuur. Opzich heeft dat niets te maken met het feit dat er meerdere gebruikers tegelijk mee gaan werken. Dat zou ook heel goed kunnen zonder een n-tier architectuur. Let wel dat het maken van goede en complete een n-tier architectuur aardig wat kennis en tijd vergt. Het is meestal ook iets wat je niet allen voor 1 projectje maakt. COM is hierin geen doel opzich, maar 1 van de vele manieren waarop de verschillende lagen zouden kunnen communiceren. COM, DCOM of COM+ passen hier allemaal goed bij. COM valt af als je de lagen wilt verdelen over meerder computers, want dat kunnen DCOM en COM+ alleen. COM+ heeft vele voordelen bovenop DCOM als het gaat om n-tier architecturen, omdat het vele services standaard voor je aanbied. Ik heb geen verstand van VB om te bepalen wat die termen zijn die je noemt. Elke in-process (DLL) COM Object kan gebruikt worden binnen COM+, opzich niets bijzonders aan. Ik raad je toch echt aan een boek, wat zeg ik? meerdere boeken! hierover te kopen als je nog verder wilt gaan.
We adore chaos because we like to restore order - M.C. Escher
Het is ook niet voor 1 project. Het is juist de bedoeling dat we functionele componenten maken die 1x gemaakt worden,1x getest en vele malen gebruikt kan worden in andere projecten, daarom is het ook van groot belang dat deze volledig onafhankelijke blackboxen zijn. Ik loop stage en we moeten met zn 3en een programma ontwikkelen, waar niet het resultaat belangrijk is, maar de aanpak en dat het volledig werkt met de 3lagen structuur, omdat hun huidige software dit niet heeft, moeten wij dat beetje gaan uitpluizen om zo goede onafhankelijke delen software gestructureerd in teamverband schematisch weer te geven en dit dan met behulp van COM+ in visualbasic toe te passen. Ik neem eigenlijk niet aan dat het bedrijf hierover op korte termijn boeken gaat aanschaffen. En ik heb ook inderdaad het gevoel dat VisualBasic meer een uit de handgelopen hobby-programmeer taal is, waarvan sommige dingen te ver gaan voor de gemiddelde visualbasic gebruikers, en dat daardoor minder te vinden is over het COM gebeuren. Ik vraag me echt af wat ik nou moet gebruiken, je hebt ook nog MTS. We draaien NT4, volgens mij heeft NT4 alleen dcom en geen com+LordLarry schreef op 10 March 2003 @ 21:04:
Ok, daar klonk het al een beetje naar. Een echte n-tier architectuur. Opzich heeft dat niets te maken met het feit dat er meerdere gebruikers tegelijk mee gaan werken. Dat zou ook heel goed kunnen zonder een n-tier architectuur. Let wel dat het maken van goede en complete een n-tier architectuur aardig wat kennis en tijd vergt. Het is meestal ook iets wat je niet allen voor 1 projectje maakt. COM is hierin geen doel opzich, maar 1 van de vele manieren waarop de verschillende lagen zouden kunnen communiceren. COM, DCOM of COM+ passen hier allemaal goed bij. COM valt af als je de lagen wilt verdelen over meerder computers, want dat kunnen DCOM en COM+ alleen. COM+ heeft vele voordelen bovenop DCOM als het gaat om n-tier architecturen, omdat het vele services standaard voor je aanbied. Ik heb geen verstand van VB om te bepalen wat die termen zijn die je noemt. Elke in-process (DLL) COM Object kan gebruikt worden binnen COM+, opzich niets bijzonders aan. Ik raad je toch echt aan een boek, wat zeg ik? meerdere boeken! hierover te kopen als je nog verder wilt gaan.
Daarnaast had ik ergens gelezen dat er met "dcomcnfg" het een en ander valt in te stellen, is dit echt nodig? Ik heb namelijk geen admin rechten op die bak die nodig zijn voor het uitvoeren van "dcomcnfg"
[ Voor 14% gewijzigd door robbertb op 10-03-2003 21:19 ]
MTS is de voorloper van COM+. COM+ is alleen te krijgen op win2k en hoger. Vanwege de veiligheid is het alleen mogelijk DCOM te gebruiken als er rechten toe zijn gegeven mbv dcomcnfg of direct in het registry. Ook met COM+ kom je niet ver zonder rechten.
We adore chaos because we like to restore order - M.C. Escher
Staan standaard die rechten aan of uit?LordLarry schreef op 10 March 2003 @ 21:33:
MTS is de voorloper van COM+. COM+ is alleen te krijgen op win2k en hoger. Vanwege de veiligheid is het alleen mogelijk DCOM te gebruiken als er rechten toe zijn gegeven mbv dcomcnfg of direct in het registry. Ook met COM+ kom je niet ver zonder rechten.
Ik had ook al zo idee dat NT geen COM+ heeft, en dat dat pas vanaf win2k was. Maar ik kwam ook ergens bij services op de ntbak een COM+ eventlistener ofzo.
Ik gebruik NT4 dus com+ valt af lijkt me, of moet ik dat dan installen via update ofzo. moet ik dan MTS of DCOM gebruiken?
Is hier trouwens een site met goede informatie over? En dan liefst nederlands en over VB
[ Voor 19% gewijzigd door robbertb op 10-03-2003 23:42 ]
Lees al het voorgaande aub en koop een boek. Ik denk dat je nu wel genoeg opweg bent geholpen en ik heb geen zin om je hele project al voor je uit te kauwen. Veel sites zal je niet vinden met de kriteria die je stelt.
We adore chaos because we like to restore order - M.C. Escher
lees aub ook het voorgaande, ik koop dus geen boekLordLarry schreef op 11 March 2003 @ 09:33:
Lees al het voorgaande aub en koop een boek. Ik denk dat je nu wel genoeg opweg bent geholpen en ik heb geen zin om je hele project al voor je uit te kauwen. Veel sites zal je niet vinden met de kriteria die je stelt.
Ik verwacht ook niet dat alles wordt voorgekauwd, ik wil alleen me zo goed mogelijk orienteren wat ik nou beste kan gebruiken, en aan jullie vragen of ik op de goede weg ben, en of ik wel de juiste com variant ga gebruiken, misschien heb ik iets verkeerd gelezen of te weinig info over gevonden en daar door verkeerde keuze gemaakt
Ik vraag me alleen af wat ik nou moet gebruiken wat ik er zo over vind kan ik MTS gebruiken en dat stel ik dan in via MMC als ik een optionpack voor NT installeer. maar ik kan ook dcomcnfg gebruiken en het daar instellen?
Daarnaast zie ik ook dat op me ntbak een COM+ evetn listener is, heb ik dan toch com+?
Edit:
-Wat ik ervan begrijp kan ik het beste MTS gebruiken omdat deze meer mogelijkheden biedt dan DCOM?
-Ik moet alleen option pack voor nt op de server installen(voor MTS), deze is gratis toch? en hoef ik toch niet op de clients te installen (ook nt4)
[ Voor 33% gewijzigd door robbertb op 11-03-2003 12:36 ]
Pagina: 1