Ha 2013-ban olyan szoftvert akarnak eladni neked ami nem megy 64 biten mondj nemet!
Ha meghallod a DBF szót egy szoftverrel kapcsolatban fuss.
Ezeket a jótanácsokat sajnos kénytelen voltam a magam bőrén kitapasztalni.
Adott tehát a feladat: készítsünk egy raktárkészletkezelő rendszert ami:
- Átverhető az NDN ZRt minősítési tesztjén (potom 55K HUF + fáért)
- Fut 64 biten
- Grafikus felülettel rendelkezik
- Mentes minden felesleges funkciótól, azaz R=1 userekenek könnyű használni
Az NDN speckókról röviden:
- Adott egy webservice amit a T-Systems üzemeltet.
- ASP.NET alapú, legalábbis ez érzik rajta.
- PKCS#12 local cert. alapú azonosítás van+ azért minden hívásnak át kell adni egy egyedi shopId-t ami boltonként egyedi.
- Az éles rendszereken gzip-el tömörített módon kell kommunikálni. Erre képes tesztrendszer is van, időbe tellett míg rájöttem hogy a megaditt webservice url-ben az /nd előtagot /ndc-re kicserélve jutok a tömörített url-re. .NEThez példakódot is adnak.
- Alapvetően háromféle adatforgalom van:
- Cikktörzslekérés
- Készletmozgás feltöltés (eladás, bevételezés, etc.)
- Napi nyitókészlet feltölktése
- A feltöltési interakciókat ütemezni kell egy lekérés eredménye szerint.
A terv a következő:
- C++, Qt.
- Sqlite backend
- SOAP KDSOAP-al:
https://github.com/KDAB/KDSoapEddigi szívások:
A minősítési rendszerbe regisztráláshoz fel kellett mutatni weboldalt, amire a githubot vettem igénybe :D.
Anno feltoltam egy átnevezett ezeréves kódot, mert kellett egy céges weboldal:
https://github.com/martonmiklos/opentrafikKDSOAP-nak voltak/vannak még problémái:
- Típusnevekben pontok (már fixálták a KDAB-sek):
https://github.com/KDAB/KDSoap/commit/3dd7cef10bf03c1e2df0fffa76a4cc1134857975- Több wsdl-ből áll az NDN webservice ami ugye tartalmaz ugyanolyan típusneveket. A kwsdl2cpp integrálható qmake alá, de nam adható át namespace ami névütközést okoz, ezt magamnak workaroundoltam.
- A webservice más addressing módot használ, amit szintén workaroundoltam közepesen szofisztikáltan:
https://github.com/KDAB/KDSoap/issues/40Készítettem wsdl complextype -> SQLITE schema generátort PHP-ban, mert ugye embertelen lenne 5 tábla 60 sorát kézzel felvinni