Om je een idee te geven, we willen een soort op een server draaiende API maken om een database te bereiken. (Met wat functies als add, edit, remove, login, logout.) Die API wordt aangeroepen door programma's, niet door browsers.
En die programma's draaien dus ook op een server? Of op meerdere servers?
Denk je dat SSL zonder certificaat dan voldoet? Betalen voor SSL-certificaten is op dit moment namelijk de allerlaatste optie. En volgens mij bied het al evenveel veiligheid als alleen stukjes xml versleutelen, en kunnen we het dan ook gebruiken i.c.m. xml-rpc o.i.d.
SSL werkt sowieso met een certificaat. Maar zoals ik eerder zei kun je gewoon zelf een certificaat aanmaken. Op ubuntu middels het pakket openssl. Ik ga nu niet op de details in. Maar het komt er ongeveer op neer dat je een certificaat op de server en client installeert. Vervolgens kun je dan een beveiligde (SSL) verbinding opzetten tussen client/server.
Een nieuwe client moet het certificaat van de server dan eerst installeren (accepteren) voordat ze met elkaar kunnen comuniceren. Ik wilde dit even uitwerken in jullie BAWP, maar weet niet precies hoe dat zit. Kan een client zowel een webapp(PHP) als een desktop app zijn? Qua SSL denk ik dat dit niet zoveel uitmaakt. Je kunt het certificaat namelijk meeleveren in de client software.
OK, even een kleine inleiding op bawp dan maar (Voor een uitgebreidere uitleg is onze wiki redelijk goed, en afgezien van deze kwestie up to date):
- Bawp is een ontwikkeltookit en tegelijk een ontwikkelomgeving.
- Bawp genereert applicaties, die bestaan uit een database, en een xml-bestand met oa interface informatie. Deze bestanden komen op een server te staan.
- Een frontend (daar moeten er meerdere van komen) leest het xml-bestand (bereikbaar via een url) en toont de daarin beschreven interface. Ook roept het de 'backend' op de server aan, eigenlijk een php script. Daarin wordt ingelogd (verbinding met de database) en wordt alle communicatie met de database via gedaan. Frontends kunnen onder andere desktopapplicaties zijn, bijvoorbeeld geschreven in java, python, C(#,++). Ook kunnen het webapps zijn, bijvoorbeeld geinstalleerd op dezelfde server als de backend, maar technisch gezien is dat niet noodzakelijk.
Waar we het in deze thread over hebben is de verbinding tussen de frontend en de backend, maar ik heb geprobeerd om dat in de startpost wat te versimpelen, want nu zijn er waarschijnlijk door de lengte al meerdere mensen halverwege afgehaakt, als bovenstaande er ook nog had bij gemoeten was dat 90% geweest
Probleem is wel als ik jou uitleg zo lees dat iedereen die een op bawp gebaseerde applicatie maakt, een eigen ssl certificaat moet genereren. We hebben nl. als één van de belangrijkste doelstellingen simpelheid voor de eindgebruiker, en willen het bouwen van een applicatie volledig in een editor doen. (Dat zit zelfs in de naam:
Build
Application
Without
Programming.) Misschien kan dat certificaat wel gegenereert worden in de editor (java zoals het er nu uitziet, dan kunnen we 'm ook gebruiken als applet), en dan in de xml worden bijgeschreven bijv.
Verder wilden we tot nu toe proberen om het mogelijk te houden om backend en applicatie gescheiden te houden, dan kunnen meerdere apps dezelfde backend gebruiken.
Leuk dat je mee wilt denken over dit onderdeel, als het makkelijker werkt kun je schrijfrechten krijgen op de wiki, door een PM aan leendert te versturen. (zit ook op het forum en is projectleider.) Via dit topic kan natuurlijk ook.
-commandoline