De asp.ner webstack code op Codeplex heeft een WebCore selfhost welke het mogelijk maakt een asp.net project (mvc, webapi, odata, webforms, etc) binnen je eigen applicatie te draaien. Hoef je niet zelf een webserver te schrijven met alle problemen welke daarbij komt kijken.
Zie onder andere
deze test case voor het gebruik. De asp.net webstack is de code 'dump' van Microsoft. Ik noem het geen open-source code omdat Microsoft geen pull-requests van derden accepteert. Wat dat betreft lijkt het meer op de code release van Android. De code is openbaar, maar development gebeurt niet samen met de community.
Maar ik neem aan dat de kassalade en het POS systeem eigenlijk gekoppeld zijn aan elkaar. Waarom dan de user interface via een website laten lopen, terwijl je ook gebruik zou kunnen maken van WPF of WinForms. In dat geval zou je ook kunnen detecteren wanneer de lade weer wordt gesloten en zolang deze niet gesloten is, is de transactie niet voltooid. Vooral HTML5 en WPF hebben veel overeenkomsten wat betreft opbouw.
Daarbij hoe meer dependencies je creert met je oplossing, des te groter de kans dat dit vroeg of later problemen gaat geven. Want je hebt je dll, de access layer tot de dll, de webserver (iis of apache), website, de browser. Moet je allemaal up to date en werkend houden. Niet zo heel erg voor een proof-of-concept, maar kan wel lastig worden als je straks een klant voor je neus staat en de kassalade niet open gaat..
Want ik neem aan dat je niet alleen een kassalade hebt, maar ook een (thermische) printer voor de bon, danwel factuur. Hoewel je '@media print' een eind kan komen, is HTML niet bedoelt voor opmaak van fixed size documenten zoals een A4 factuur of een thermische bon. Nu kun je via ajax calls natuurlijk wel een delegeren naar een c# webserver(tje), maar dan zou het logischer zijn om het gehele webproject in asp.net te schrijven (dus geen php, maar webforms of mvc) en vanuit de webserver de dll aanspreken of via WinForms/WPF de presentatie te toen..
If it isn't broken, fix it until it is..