Results 1 to 8 of 8

Thread: Rest server op indy

  1. #1

    Rest server op indy

    Beste mensen,

    ik wil graag een rest server maken voor mijn database (met tvgids data) waar ik verschillende dingen mee wil gaan doen. Nu heb ik iets gelezen over KBMmW, DataSnap, nog een paar andere .. maar wat ik vooral lees is dat de built-in systemen voor rest server enorme overhead hebben, en overbloated zijn met functies. Nu zou ik eigenlijk zelf een rest server willen maken, welke simpel, licht en aanpasbaar is. Eventueel zou ik deze nog in Lazarus/FPC willen maken zodat deze ook op Linux kan draaien.

    Is dit een goed idee om zelf een rest server te maken i.c.m. indy? En iemand een idee hoe het beste te starten met zoiets? Ik gebruik mijn eigen JSON reader/writer unit, welke zeer licht is en kwa snelheid niet onder doet voor Delphi's eigen JSON. Ik heb enkel geen idee of zoiets haalbaar is om te maken, en hoe ik bijvoorbeeld parameters kan uitlezen uit de URL.

    Of is het misschien een beter idee om hiervoor een ISAPI te maken?

  2. #2
    Senior Member Wok's Avatar
    Join Date
    Dec 2002
    Location
    Alkmaar
    Posts
    2,085
    Veel info kan je hier vinden :http://edn.embarcadero.com/article/40452

    En als je meer wilt weten is Google je beste vriend
    10.4.2, Delphi2010, of Lazarus 2.2.0

  3. #3
    Stijn Sanders develyoy's Avatar
    Join Date
    Jun 2008
    Location
    GentBrugge, Belgi?½
    Posts
    1,046
    ISAPI, zelf HTTP doen, Apache modules, zelfs de API van http.sys aanspreken, JSON aanbieden en ontvangen. Ik heb het allemaal al achter de rug. Meer nog, ik heb het gepoogd allemaal samen te brengen in een enkel project: xxm. Ik probeer het al lang aan de man te brengen als een stabiel platform om met Delphi je server-side vanalles te doen in web-projecten. Dus JSON geven en krijgen is een koud kunstje. Laat me weten wat je er van vindt. Of als ik kan helpen om een concreet voorbeeld op te zetten om je op weg te helpen.

  4. #4
    Dankje Develyoy ik ga zeker een kijkje nemen. Ik heb nog een aantal dingen die ik graag zou maken wbt web->Delphi betreft.. Namelijk, een webpanel waar een gebruiker kan inloggen, een aantal instellingen kan wijzigen - en vooral het maken van configuraties voor een aantal applicaties die op mijn server draaien.. Is dat ook mogelijk met jouw framework?

    Zo zou ik bijvoorbeeld in mijn panel een combo willen waar gebruikers een opmaak voor de xml kunnen kiezen, of uit checkboxes kunnen kiezen welke info ze wel/niet willen. En ik wil ondersteuning voor file uploads, zoals gezegd wil ik graag de complete panel gecombineerd met Delphi hebben omdat ik op die manier een hoop code die ik nu gebruik voor lokale applicaties kan omzetten naar functies in de panel en hier dus niet alles hoef om te schrijven naar php.
    Last edited by Reidinga; 09-Dec-17 at 11:10.

  5. #5
    Senior Member
    Join Date
    Dec 2003
    Location
    Den Haag
    Posts
    210
    MARS-Curiosity van Andrea Magni is ook een mogelijkheid om met Delphi een REST server te maken. Het project heeft een open architectuur: geen probleem als je voorkeur geeft aan eigen JSON reader/writer units. Het is allemaal open-source, en komt met voorbeelden hoe bijvoorbeeld andere JSON bibliotheken te gebruiken. Het werkt trouwens ook met Delphi Professional!
    https://blog.andreamagni.eu/2016/03/...-rest-library/

  6. #6
    Geweldig ga ik dat ook eens bekijken! Ik wil inderdaad graag mijn eigen JSON reader / writer gebruiken, niet omdat deze beter zou zijn.. maar omdat ik die in veel projecten gebruik, voor mij zijn stabiliteit/snelheid bewezen heeft - en heel simpel is. De data die ik ga opmaken is ook zeer simpel.. Voor een webpanel heb ik het volgende gevonden:
    UniGUI wat heel simpel is in gebruik, en je kan er echt complete web applicaties mee maken in minuten.. Zeer prettig, nu beetje aan het proberen om er een panel in te maken, moet zeggen werkt zeer goed! Kan huidige projecten heel simpel omzetten naar web zo, en voor gebruikers een omgeving te creëren waar ze zelf instellingen kunnen aanpassen - en deze weg te schrijven naar DB/config xml.

  7. #7
    Stijn Sanders develyoy's Avatar
    Join Date
    Jun 2008
    Location
    GentBrugge, Belgi?½
    Posts
    1,046
    Een applicatie met gebruikers en aanmelden kan zeker met xxm. Als je wil kan je gerust afkijken van dit kant en klaar project dat ik ook zelf uitbouwde: https://github.com/stijnsanders/tx#tx

    Maar een login-vakje maken is gemakkelijker gezegd dan gedaan. Ik heb het hier ooit eens proberen opsommen, er komt behoorlijk wat bij kijken om het volgens de regels van de kunst te doen. En die wijzigen zo nu en dan, dus mijn lijst daar is mogelijk met een paar puntjes al weer achterhaald...

    Maar laat dat je vooral niet tegenhouden. Bij het ontwerp van een auto zijn veiligheidsgordels wel verplicht, maar ik denk dat ze bij de eerste prototypes wel eens ontbraken...

  8. #8

    kbmMW is as lean and mean as you can almost get it :)

    Quote Originally Posted by Reidinga View Post
    Beste mensen,

    ik wil graag een rest server maken voor mijn database (met tvgids data) waar ik verschillende dingen mee wil gaan doen. Nu heb ik iets gelezen over KBMmW, DataSnap, nog een paar andere .. maar wat ik vooral lees is dat de built-in systemen voor rest server enorme overhead hebben, en overbloated zijn met functies. Nu zou ik eigenlijk zelf een rest server willen maken, welke simpel, licht en aanpasbaar is. Eventueel zou ik deze nog in Lazarus/FPC willen maken zodat deze ook op Linux kan draaien.

    Is dit een goed idee om zelf een rest server te maken i.c.m. indy? En iemand een idee hoe het beste te starten met zoiets? Ik gebruik mijn eigen JSON reader/writer unit, welke zeer licht is en kwa snelheid niet onder doet voor Delphi's eigen JSON. Ik heb enkel geen idee of zoiets haalbaar is om te maken, en hoe ik bijvoorbeeld parameters kan uitlezen uit de URL.

    Of is het misschien een beter idee om hiervoor een ISAPI te maken?
    kbmMW contains lots of features, but you can choose to make the leanest REST server in kbmMW if you want to.
    It all depends on what amount of maintanance you expect to have on your software later on, how you choose to do.
    You can take the lean approach which takes less CPU cycles, but require slightly more own code, or you can choose the RAD approach which takes slightly more CPU cycles, but require almost no additional code except your own business functions.

    In a database bound server application, the REST part is usually never is the performance bottleneck, why I typically recommend taking the RAD approach.

    best regards
    Kim/C4D

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
  •