Page 1 of 2 1 2 LastLast
Results 1 to 15 of 21

Thread: kbmMW vraag over databaseverbinding

  1. #1
    Senior Member ErikB's Avatar
    Join Date
    Aug 2010
    Location
    Biddinghuizen
    Posts
    509

    kbmMW vraag over databaseverbinding

    Ik ben me aan het verdiepen in kbmMW. Nu kan ik zo 1-2-3 geen antwoord vinden op de volgende vraag:

    Stel, ik wil bijvoorbeeld een ISAPI dll op mijn server plaatsen waarop verschillende personen kunnen inloggen om gegevens op te halen.
    Maar ieder van die personen moet in zijn/haar eigen database de gegevens benaderen. Hoe kan ik zorgen dat elke gebruiker zijn eigen database opent en niet die van een ander ?
    In uitleg van Benno zie ik dat er aan de server kant een verbinding gemaakt wordt (via de properties ), maar is het dan ook mogelijk om vanuit de Client dit zodanig te sturen dat de "TDatabase" van de juiste gebruiker wordt gebruikt ?

    Overigens een prima tip van Benno over de hoge korting die je nu krijgt als je de Enterprise Edition aanschaft

    ik hoor graag
    Erik

  2. #2
    Overigens een prima tip van Benno over de hoge korting die je nu krijgt als je de Enterprise Edition aanschaft
    Benno is dan ook al sinds 2003 een blije gebruiker en intussen reseller.

    Om op je vraag terug te komen. Je hebt 2 issues:
    1. Je wilt een gebruiker op basis van een inlog zijn eigen database laten gebruiken
    2. Je wilt deployen op iis als isapi.

    1.
    kbmMW gebruikt een connectionpool voor de toegang naar de database. Je services en querycomponenten op de service maken gebruik van een connectie uit de connectionpool. Een van de manieren die je kunt gebruiken is een lijst van connectionpools aanmaken, waarbij je @runtime op de service de connectie knoopt aan de juiste pool. Voordeel daarvan is dat je gebruik maakt van de info in de cache van de connectionpool.

    Er zijn ook voorbeelden van deze opzet en ook in de newsgroup is er al vaak over gesproken.

    2.
    Voor communicatie met de omgeving gebruikt kbmmw transportstreams. Een van de transport componenten is een isapi transport wat je gebruikt op iis. Leuke van deze opzet is dat je e server helemaal kunt ontwikkelen als normale applicatie. Pas als dat klaar is plaats je de isapi transport en maak je er een isapi dll van. Zelf zet ik de relevante meuk altijd in een datamodule. Het project (applicatie, service of isapi) hoeft dan alleen ye zorgen dat die datamodule wordt gemaakt en eventueel een mainform.

    Wat ik zelf soms doe in dit soort projecten waar meer gebruikers naar een server moeten is een isapi deployen als licentieserver. Gebruikers loggen met hun client als eerste daarop in. Als ze een geldige licentie hebben push ik indien nodig een nieuwe client versie. Verder stuur ik een record met de info van de server waarmee ze moeten connecten. Daarna maakt de client connectie met die server.

    Hopelijk heb je hier wat aan.

    kbmMW is een heel krachtig framework, het kost wel even wat moeite in het begin. Luigi is bv ook iemand die er gewoon mee begonnen is, met een enterprise licentie. In het begin is het veel zoeken, maar als je het concept gaat zien wordt het steeds makkelijker.

  3. #3
    Senior Member ErikB's Avatar
    Join Date
    Aug 2010
    Location
    Biddinghuizen
    Posts
    509
    Dank je Benno voor de snelle reactie, hier kan ik wat mee !
    Inmiddels heb ik de Enterprise maar gekocht zodat ik niet tegen eventuele beperkingen van de Codegear editie aan kan lopen.
    Ook al de newsgroup aangesloten en (TOP!) ook al een sample multi-DB gevonden, wat kan een mens toch gelukkig zijn
    Nu nog "effe' het hele spul onder de knie krijgen (en dat doen we de rest van 't weekend, LOL )

    Klopt het dat naast Luigi ook John Kuiper er mee bezig is ?
    Erik

  4. #4
    Klopt het dat naast Luigi ook John Kuiper er mee bezig is ?
    John heeft voor zijn werk een pro licentie, maar is nog niet toegekomen om er echt in te duiken. Ik probeer hem maar te motiveren dat wel te doen.

  5. #5
    John Kuiper
    Join Date
    Apr 2007
    Location
    Almere
    Posts
    8,747
    Deze persoon moet er echt induiken om het goed voor elkaar te krijgen. Maar dan moet hij tijd voor reserveren...........
    Delphi is great. Lazarus is more powerfull

  6. #6
    Misschien een paar tips voor degene die met KBMMW aan de slag willen:

    * Lees ook de white papers die je niet direct nodig hebt. Als je bijvoorbeeld een query service wilt bouwen is o.a. de customized service ook goed om te lezen.

    * Meldt je aan bij de nieuwsgroep. Adres is te vinden op de website van C4D - Free Support

    * Installeer de help file.

    * Lees/Scan de kbmMemTable documentatie

    * Maak een basis project in versiebeheer om makkelijk dingen te kunnen testen in isolatie.

    * Gebruik de debug opties in kbmmw. Hiermee kun je o.a. zien welke queries worden opgehaald, hoe de resolve queries eruit zien e.d.

    * Gebruik voor query services in principe named queries. Dit zijn queries waarbij de SQL gedefinieerd is op de server en op basis van naam wordt aan geroepen door de client. Je kunt ook de SQL definiëren op de client, alleen zou iemand met een andere client ook andere queries kunnen uitvoeren.

    Succes ermee!

  7. #7
    Je kunt ook de SQL definiëren op de client, alleen zou iemand met een andere client ook andere queries kunnen uitvoeren.
    Grootste probleem is daar dat je sql over de lijn gaat (security) en verder dat je client kennis moet hebben van de database. Mooie van middleware is dat je er een abstractielaag tussen legt, waardoor de client alleen met een koppelvlak hoeft te praten.

    De white papers zijn inderdaad een goede bron. De debugoptie een goede tip. Over de debugmogelijkheden staat ook een whitepaper in de kbmmw university.

  8. #8
    Zijn er ook use cases voorhanden (voorbeelden van toepassingen)?

    Het ziet er allemaal interessant uit en ben geneigd om voor die prijs het aan te schaffen maar dan moet ik het nog wel kunnen gebruiken

  9. #9
    Senior Member ErikB's Avatar
    Join Date
    Aug 2010
    Location
    Biddinghuizen
    Posts
    509
    Kennelijk zijn er meer belangstellenden.
    Zou het een idee zijn om een keer bij elkaar te komen, waarbij de "newbie's" dan uitleg krijgen van de "ouwe rotten" aan de hand van een aantal cases ?
    Erik

  10. #10
    Goed idee alleen loopt de aanbieding van kbmMW tot begin maart

  11. #11
    Als ik als wannabe ook mee mag doen dan ben ik van de partij

    Zijn er ook use cases voorhanden (voorbeelden van toepassingen)?
    Bij mijn weten zijn er alleen wat demo's beschikbaar en niet bijvoorbeeld een wat meer real life applicatie, waarin zaken gecombineerd worden.

    Het ziet er allemaal interessant uit en ben geneigd om voor die prijs het aan te schaffen maar dan moet ik het nog wel kunnen gebruiken
    Als je hiermee bedoeld of het ook een toepassing heeft in de echte wereld dan is mijn antwoord volmondig ja. Sinds ik het gebruik begrijp ik eigenlijk niet dat er nog mensen zijn die een gewone client-server gebruiken.

    Met kbmmw kun je ontzettend veel om een paar zaken te noemen:

    Je kunt er een query server/client mee bouwen. Voordelen:
    * Omdat je gebruik maakt van middleware hebben de clients slechts verbinding met je middleware en niet direct met je database. Je zou dus van database kunnen veranderen zonder je clients te hoeven updaten. Ook kun je meerdere type database servers tegelijkertijd gebruiken. Bijvoorbeeld Postgres en Firebird.
    * Je kunt relatief eenvoudig nieuwe clients maken omdat de logica in de applicatie laag zit en niet in de client.
    * Het is mogelijk om joins te resolven (inserten, updaten, deleten)
    * Je kunt async queries gebruiken en tussen resultaten terugsturen naar de client.
    * Je kunt volledig gebruik maken van transacties (als je db server dit ondersteunt) Je kunt zelfs een transactie hebben over meerdere databases.
    * De data van je query hoeft niet perse uit een database te komen.
    * Je kunt data ophalen uit één tabel en terugschrijven naar een andere.

    Je kunt er gemakkelijk een file server mee bouwen.

    Er zit een ingebouwd messaging systeem in. Ook deze is erg flexibel. Je kunt het gebruiken voor bijvoorbeeld een chatclient/server, maar bijvoorbeeld ook om automatisch clientqueries te updaten als de data hiervan op de server gewijzigd is.

    Er zit een uitgebreide authorization manager in, waarmee je alle resources zoals queries, files, custom services kunt beveiligen. Waarbij je ook nog extra voorwaarden kunt stellen bijvoorbeeld door alleen toegang te verlenen tussen bepaalde tijden of binnen het interne netwerk e.d.

    Je kunt er echt heel simpel een http server mee bouwen. Handig voor bijvoorbeeld een rest service.

    Er zit ook een uitgebreide failover/loadbalancing zodat je, als je het goed opzet, altijd online kunt blijven!

    Het enige nadeel dat ik zie is de leer curve, maar daar krijg je wel heel veel flexibiliteit voor terug!

  12. #12
    Klinkt goed. Zal het voor de zekerheid maar aanschaffen.

    Even een vraagje.

    Kan bv. naam/verwijzingen zoals kbmMW Remote Desktop Server Service ook aangepast worden?
    Last edited by mrniceguy; 26-Feb-17 at 15:14.

  13. #13
    Nog wat voorbeeldjes dan maar (via Kim zelf).
    EmbryoscopeVanuit deze apparaten worden meerdere realtime video's verzonden naar de centrale server. Video's worden verzonden via messaging in kbmMW, zodat een hoge netwerkgebruik is te krijgen met relatief lage cpu load. Onder de server hangt de storage van de video's, metadata en meetdata. Enkele maanden geleden was de hoeveelheid data al ca 0,5PB. Dit project betreft een klus waar Kim zelf als main architect en lead developer bij betrokken was.

    http://pdf.usaid.gov/pdf_docs/pdacu034.pdfEen oudje, maar toch interessant.

    CX Corporation Al hun producten inclusief hun android en ios apps zijn gebaseerd op kbmMW.

    http://www.cis-technologies.com/bravics.htmlDatacollection en mining.

    Verder zijn er gebruikers die er een documentmanagement oplossing mee gebouwd hebben. In Frankrijk is een ziekenhuis die een groot deel van de automatisering op kbmMW heeft draaien. In de kbmMW university is een artikel te vinden over een datawarehouse in kbmMW. Ook dat is er gekomen naar aanleiding van een vraag van een klant.

    Zelf gebruik ik het voor administratieve toepassingen. Zaken zoals voorraadbeheer, een leerlingvolgsysteem, een Trafic pakket (=radio reclame), een praktijkbeheerprogramma. Ook voor het maken van een backend met een REST interface pak ik bijna standaard een kbmMW server. Het framework is zodanig flexibel dat je dan heel snel op weg bent en met de extra's in het framework kun je heel snel doorbouwen.

    kbmMW hoef je echter niet alleen als middleware te gebruiken. Er zitten veel onderdelen in die je ook los kunt gebruiken, zoals de marshalling en de-marshalling.

    Als je de enterprise licentie koopt heb je ook de source voor een remote support applicatie (ala teamviewer) die je kunt customizen voor je eigen toko. Die oplossing verkopen als los product kan niet, maar je kunt hem wel inzetten voor support op je applicatie of voor ondersteunen van je klanten. De oplossing van Kim ondersteunt ook meerdere monitoren tegelijk, iets wat de meeste remote support tools niet kunnen.

  14. #14
    Zou het een idee zijn om een keer bij elkaar te komen, waarbij de "newbie's" dan uitleg krijgen van de "ouwe rotten" aan de hand van een aantal cases ?
    Moet maar eens aan een beginnerstraining gaan sleutelen denk ik

  15. #15
    Dank voor de uitgebreide uitleg

Page 1 of 2 1 2 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •