Page 2 of 2 FirstFirst 1 2
Results 16 to 30 of 30

Thread: Dilema / keuze...web of Win32 applicatie

  1. #16
    Laat het maar weten als het zover is

  2. #17
    Zelf ben ik niet de persoon die via fora hele architecturen bespreekt/bediscussieerd. Wel heb ik met Benno en Luigi enkele maanden geleden een sessie bij een Van der Valk gehad. Ik had destijds interesse in de kbmMW componenten voor een specifiek project. Helaas is kbmMW niet compatibel met C++ Builder. (Dit is bevestigd door de ontwikkelaar van kbmMW).

    Omdat kbmMW niet beschikbaar is, heb ik gekozen om een eigen middleware oplossing te schrijven. Deze oplossing was in eerste instantie een TCP/IP client/server. Bij nader inzien bleek een REST client/server een betere keuze te zijn en is een REST oplossing geïmplementeerd.

    Indien gewenst ben ik ook beschikbaar voor een brainstorm sessie om je mogelijkheden in kaart te brengen. De verschillende invalshoeken en ervaringen kunnen je mogelijkerwijs goed verder helpen.

  3. #18
    Fornicatorus Formicidae VideoRipper's Avatar
    Join Date
    Mar 2005
    Location
    Vicus Saltus Orientalem
    Posts
    5,708
    Is het niet een idee om weer eens een pannenkoekensessie te organiseren, nu ik al deze voornemens lees?
    TMemoryLeak.Create(Nil);

  4. #19
    +1 voor de pannenkoekensessie, ik leg mijn web ervaringen er dan bij in.
    Marcel

  5. #20
    Goed idee! Was John daar niet al een tijdje geleden mee bezig?

  6. #21
    John Kuiper
    Join Date
    Apr 2007
    Location
    Almere
    Posts
    8,747
    Klopt, maar dat restaurant waar we naar toe wilden, wil maar niet terug mailen. Ik heb het maar gestaakt.

    De intentie is zeker om het in het midden van het land te doen?
    Delphi is great. Lazarus is more powerfull

  7. #22
    Sorry, maar kunnen we ontopic blijven of deze discussie splitsen?

  8. #23
    Hoi Mierlp,

    Ik las je bericht en wil toch even mijn mening geven. Ik kom al geruime tijd niet meer actief op dit forum. Dit omdat ik gestopt ben met Win32 programmeren. Ik heb 2 jaar geleden mijn POS systeem omgezet naar een webapplicatie (middels Laravel). Het is inmiddels een volledig systeem geworden met tevens een complete webshop aan de voorkant. Ik ben hier volledig tevreden over en zie ook niet snel een reden om terug te gaan naar een Win32 applicatie voor iets anders. Het heeft even geduurd voordat ik Laravel goed doorhad, maar sindsdien werkt het echt geweldig. Initieel had ik mijn bedenkingen met printen (aansturen van Printers). Echter heb ik dit opgelost door eenvoudig de webbrowser in Kiosk model te laten draaien. Hierdoor wordt direct printen gewoon ondersteund (zowel in Chrome als FireFox). Het is ontzettend fijn en snel om een update te pushen. Voor barcodescanners is het ook geen probleem, dat zijn als het ware gewoon toetsenborden, dus hoef je niks mee te doen, dat gaat vanzelf.

    Voor een rapport GUI. Die heb ik nog niet gevonden, maar lijkt mij niet heel moeilijk te maken. Veel webapplicaties hebben tegenwoordig zoiets en mogelijk zal die er wel zijn.
    - NFC read/write. Ik vermoed dat dat vergelijkbaar is met een barcodescanner qua read. Write durf ik niet te zeggen, dus die blijft even open.
    - SMS versturen is ook geen probleem. Je kunt op de server eenvoudig notifications instellen. Deze kunnen van elk type zijn: SMS, Mail, Broadcast, Slack en die kun je eenvoudig queuen zodat die de 'voortgang' van je applicatie niet in de weg zitten (aparte thread op de server).
    - File uploads is vrij 'default' bij webapplicaties.

    Ik werk dus nu 2 jaar met Laravel en gebruik daarbij javascript met AJAX calls voor communicatie. Goed dat je de overweging maakt. Persoonlijk zou ik je dus adviseren om er een webapplicatie van te maken, gezegd hebbende dat even de communicatie met NFC writing nagekeken moet worden. Maar ik verwacht niet dat dat een probleem zou moeten zijn.

  9. #24
    Counting your refs Paul-Jan's Avatar
    Join Date
    Feb 2002
    Location
    Lage Zwaluwe
    Posts
    2,160
    Hee, dat kiosk printen van Chrome & co kende ik niet, dat is leuk! Vereist wel volledige controle over de eindmachines, maar toch.. handig!

    Werkt alleen als je maar 1 default printer hebt om aan te sturen (dus geen bonnetjes versus labeltjes b.v.), of is daar ook nog iets slimmers voor?

  10. #25
    Klopt, werkt alleen op de default printer. Nou ja, wat ik doe is het volgt: Ik heb één werkstation met daarop een printer (usb) en autoprint. Deze pollt periodiek naar de server via javascript of er nog orders zijn binnengekomen. Zo ja, dan zal die ze automatisch printen op de default printer. Andere systemen zijn dus alleen invoer systemen en het hoofdsysteem pakt binnen een minuut opdrachten op om uit te printen.

    Indien je meerdere printers hebt is dat ook mogelijk. Je zou bijvoorbeeld php_printer kunnen gebruiken daarvoor (geen ervaring mee zelf). Daarmee kun je de printerlijst pakken en dan dus de juiste selecteren alvorens te printen (https://github.com/jiminald/PHP-Printer).

    Ik heb echter ook oplossingen gezien dat je vanuit een Windows systeem direct een print opdracht via Php naar een printer UNC path kan sturen. Dus ik weet dat dat ook mogelijk is. Eventueel zou je dan dus bijvoorbeeld een soort print server kunnen hebben die iets vergelijkbaars doet met een groep van printers en dan de client dus alleen op de default printer. (Of bijvoorbeeld twee clients ieder met één default printer, waarbij ééntje de bandjes print en de andere de formulieren en dan die ieder laten pollen naar 'active jobs').

    ps: Ik doe de print job pas helemaal aan het eind na het renderen van een document. Want ik render de footer verschillend aan de hand van de beschikbare grootte en weet dan dus ook meteen via een javascript call weer dat het document goed gerenderd is en tevens dus de print opdracht verstuurd. Ik weet dus precies wanneer iets echt is geprint (of alleen het rapport bekeken en niet automatisch geprint).

  11. #26
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,357
    Moet dan de server niet op hetzelfde netwerk zitten als de printers? Anders kan de server niet naar de UNC paths.

  12. #27
    Theoretisch gezien zou het niet hoeven, maar dat is dan veel gedoe met firewalls en VPN enzo. Dus de 'server' waar ik op doel voor de UNC paths, is gewoon meer een hoofdclient bij klant. Dus niet zozeer een ouderwetse server, maar gewoon een client met iets meer printers en een andere URL waarschijnlijk (maar ik heb dit zelf nog niet zo in productie getest, verwacht alleen niet dat dit een probleem is).

    Nog een voordeel van de webapplicatie is dat er nog maar één versie van de 'applicatie' is. Hij is namelijk multi-tenant. Dus alle klanten draaien op exact dezelfde instance en het is dus ook maar één folder die bijgewerkt moet worden qua update. Dus geen verschillen meer met uitrol van verschillende client versies enzo.

    Sorry ik weet dat het niet heel slim is hier om het te zeggen, is misschien een beetje vloeken in de kerk. Maar ik wil gewoon wel mijn ervaringen delen. Maar je zou ook, zoals al eeder aangegeven door andere gebruikers, webbased als backend kunnen gebruiken en dan bijvoorbeeld via REST er een front-end tegenaan kunnen zetten in willekeurige taal, bijvoorbeeld een Win32 applicatie.
    Last edited by WhatJac3; 03-Jul-18 at 21:39. Reason: typo's

  13. #28
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,357
    Quote Originally Posted by WhatJac3 View Post
    Theoretisch gezien zou het niet hoeven, maar dat is dan veel gedoe met firewalls en VPN enzo. Dus de 'server' waar ik op doel voor de UNC paths, is gewoon meer een hoofdclient bij klant.
    Dus je "clients" hebben PHP nodig? Dat is toch een serverside taal die wel weer installatie en beheer (security, version) vergt ? En aangezien PHP actief aangevallen wordt, misschien nog wel meer dan een win32 client.

    Nog een voordeel van de webapplicatie is dat er nog maar één versie van de 'applicatie' is. Hij is namelijk multi-tenant. Dus alle klanten draaien op exact dezelfde instance en het is dus ook maar één folder die bijgewerkt moet worden qua update. Dus geen verschillen meer met uitrol van verschillende client versies enzo.
    En waar word staat bijgehouden? In een cloud instance?

    Sorry ik weet dat het niet heel slim is hier om het te zeggen, is misschien een beetje vloeken in de kerk. Maar ik wil gewoon wel mijn ervaringen delen. Maar je zou ook, zoals al eeder aangegeven door andere gebruikers, webbased als backend kunnen gebruiken en dan bijvoorbeeld via REST er een front-end tegenaan kunnen zetten in willekeurige taal, bijvoorbeeld een Win32 applicatie.
    Of een server met een REST en niet web (dataset, OPF) API. Simpele rollen gaan via Rest en typisch web. Clients met meer mogelijkheden en hardware gaan via een andere api.

    IOW, je kan best een webinterface hebben in een app die verder niet web gebaseerd of zelfs maar web georiënteerd is.

  14. #29
    Hi

    Dit zo allemaal lezende is printen in een web omgeving in combinatie met gebruik lokale printers toch wel lastig. In mijn geval wil ik geen afhankelijkheden
    m.b.t tooltjes of plug-in in de browser...maar dat zal niet anders gaan. In onze situatie zijn er 2 situaties :
    - festivals die voorafgaande aan het festival de invoer doen in het systeem, hier vind weinig printen plaats of gebruik nfc, barcode scanners
    - tijdens het festival waarbij thermische printers, barcode scanners, nfc readers worden gebruikt...dus veelvuldig gebruik randapparatuur

    Op zich is de oplossing zoals we nu hebben,- een published app, via een html5 browser nog geen gek idee . Dat het beter kan,- zoals Benno ook
    aan geeft, is duidelijk en daar zal ik ook een keuze in moeten maken. Voordeel zoals het nu is dat ik de software maar op 1 plek hoef te updaten
    en dezelfde .exe file ook gewoon tijdens een evenement (op een lokale server) kan gebruiken.

    Het koppelen en gebruiken van randapparatuur aan een Windows pc wordt natuurlijk goed ondersteund en levert geen problemen op tijdens
    een festival. Immers Windows OS ondersteund dit allemaal.

    Op moment dat ik dit met een web applicatie (die bijv. dan op een lokale server draait tijdens een evenement) ga ik grote uitdagingen
    krijgen ben ik bang voor, met name het aanspreken/gebruik van lokale hardware zoals printers, nfc readers/writers, barcode scanners.

    Momenteel gebruik ik uniGui voor web applicaties en dat werkt goed. Ik zou denk ik ook wel 85% van alle functionaliteiten
    web-based kunnen maken.

    Liever niet...maar een aparte Windows client maken voor de uitgiftes tijdens een festival is ook een optie.
    Deze client hoeft maar beperkte functionaliteiten te hebben maar moet wel gebruik kunnen maken van alle data. Daar komt Benno
    zijn verhaal om de hoek kijken en het gebruik van MiddleWare bijv. kbmMW in te zetten om de zaken slimmer/herbruikbaar te maken.

  15. #30
    Quote Originally Posted by marcov View Post
    Dus je "clients" hebben PHP nodig? Dat is toch een serverside taal die wel weer installatie en beheer (security, version) vergt ? En aangezien PHP actief aangevallen wordt, misschien nog wel meer dan een win32 client.
    Omdat ik kiosk mode gebruik heb ik mij er nog niet in verdiept, maar het kan blijkbaar ook zonder server versie en php_printer.dll via een WebClientPrint Processort (free download) https://www.neodynamic.com/downloads/wcpp/ met daarbij uitgebreide Laravel voorbeelden hoe dit te gebruiken is: https://www.neodynamic.com/articles/...alog-silently/
    Dus is allemaal niet nodig om naar PHP aanvallen etc te kijken en clients die Php nodig hebben. Dit is even met 5 minuten googlen. Dus ik denk niet dat dit een probleem is.

    Quote Originally Posted by marcov View Post
    En waar word staat bijgehouden? In een cloud instance?
    Yes in een cloud instance. Aan de hand van de url wordt de juiste configuratie voor de betreffende client ingeladen en daar staat in welke database naar geconnect moet worden. Zodat alle clients hun eigen omgeving hebben alleen dezelfde code delen.


    Met veel aparte hardware en ondersteuning is een Win32 applicatie uiteraard de veiligste keuze. Ik zie echter niet al teveel problemen in de hardware aansturing zoals je noemt (behalve nfc schrijven waarschijnlijk). Mijn ontwikkel en beheer kosten zijn flink omlaag gegaan sinds de omschakeling en ik ben nog steeds niet tegen nadelen aangelopen. Mocht het echter zover komen dat ik tegen problemen aan ga lopen (en die voorzie ik nog wel op de roadmap dmv aansturing van externe apparaten zoals 'thuisbezorgd' koppelingen of pin machines) dan zal ik waarschijnlijk een zeer kleine Win32 app maken om alleen specifiek die problemen aan te pakken die niet webbased (nog) te regelen zijn. Waarschijnlijk totdat daar ook een solide oplossing voorkomt (al voorzie ik die voorlopig niet ontstaan).

    Quote Originally Posted by mierlp View Post
    Liever niet...maar een aparte Windows client maken voor de uitgiftes tijdens een festival is ook een optie.
    Deze client hoeft maar beperkte functionaliteiten te hebben maar moet wel gebruik kunnen maken van alle data. Daar komt Benno
    zijn verhaal om de hoek kijken en het gebruik van MiddleWare bijv. kbmMW in te zetten om de zaken slimmer/herbruikbaar te maken.
    Yes, dat dus
    Last edited by WhatJac3; 04-Jul-18 at 21:40. Reason: Aanvulling adhv bericht van Mierlp

Page 2 of 2 FirstFirst 1 2

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
  •