Forums » Oranizacija projektne skupine »
Oddaja kode
Added by Boštjan Tittl over 13 years ago
Pozdravljeni,
v rubriko "Datoteke" sem oddal datoteko "Bostjan_Tittl_SOAP_13_3_2011.rar". Datoteka vsebuje dva SOAP Server-ja in Client-a (enega za pridobitev izmerjenih podatkov iz našega Linux serverja, drugega pa za zapisovanje podatkov pridobljenih od MOXE). Ta bo prišla prav Jakobu, ki bo napisal dokumentacijo. Prosil bi tudi Damjana, da odda svojo kodo (tudi če še ni dokončna), da se bo Jakob lahko lotil tudi te dokumentacije.
Lepo pozdrav,
Boštjan Tittl
Bostjan_Tittl_SOAP_13_3_2011.rar (7.72 KB)
Replies (6)
RE: Oddaja kode - Added by Boštjan Tittl over 13 years ago
Pridobivanje podatkov iz SOAP serverja (Ubuntu - Linux) deluje =)
Webservice ima dva parametra (datum od in datum do (vključno)) in vrne vse meritve med datumoma.
V priponki prilagam SOAP client, ki pridobi te podatke, glede na podana parametra.
Naslov do SOAP server je sledeč: "http://88.200.63.164/webservice/Get/SOAP_Server.php"
SOAP_Client_GetData.php View (492 Bytes)
RE: Oddaja kode - Added by Boštjan Tittl over 13 years ago
Vstavljanje podatkov v podatkovno bazo MySql na server-ju deluje =)
Webservice ima en parameter (XML datoteka meritev), ki ga vstavi v tabelo measurement.
Predpostavka: Filter je 'unique' vrednost, saj tako vnesemo v tabelo le tiste meritve (izmed zadnjih 10),
ki še niso vnešene (gledamo filtre). V priponki prilagam SOAP client, ki vstavi podane podatke.
Naslov na SOAP server je sledeč: "http://88.200.63.164/webservice/Insert/SOAP_Server.php".
OPOMBA: SOAP client se mora nahajati na MOXI, torej lahko se uporabi tega (s tem da treba pridobiti meritve iz
datotek oz. podatkovne baze - odvisno od izvedbe in jih spraviti v primeren XML) ali se napiše enega v C/C++ (To se bo odločil in napisal Damjan).
Paziti je treba na strukturo XML-ja.
TODO: SOAP server bi lahko bil odporen na SQL INJECTION.
SOAP_Client_InsertData.php View (1.53 KB)
RE: Oddaja kode - Added by Boštjan Tittl over 13 years ago
Prišlo je do popravkov, glede xml-ja, ki je po novem lowercase (samo elementi).
Popravil sem tudi opažene tipkarske napake (Mesurement(s) => measurement(s)).
Poleg popravkov bom dodal tudi kodo za spletno stran (+ SOAP client), ki
pridobiva podatke od SOAP server-ja in jih tudi prikazuje v tabelarični obliki.
RE: Oddaja kode - Added by Boštjan Tittl over 13 years ago
Glede na to, da je prišlo do poglavitnih sprememb, sem oddal datoteko z opisom (nove) arhitekture sistema.
Za boljše razumevanje ciljev projekta je priporočen ogled datoteke.
ARHITEKTURA-RAFAL.pdf (158 KB)
RE: Oddaja kode - Added by Boštjan Tittl over 13 years ago
Pri sami implementaciji zgornje arhitekture, sem naletel na problem, za katerega menim, da ni rešljiv.
Torej v wsdl datoteki imamo poleg ostalega tudi lokacijo SOAP serverja. Ta lokacija je absoluten URL naslov
in ne more biti relativen. Torej, če želimo, da ima MOXA SOAP server (za pridobitev meritev - od datuma do datuma)
je to neizvedljivo, saj se IP MOXE neprestano spreminja. Če mogoče kdo ve, kako bi lahko to rešili je pomoč
dobrodošla, če ne pa bomo šli na drugi pristop.
Drugi pristop:
Ko MOXA pridobi meritve od Leckle jih zapiše v bazo nato pokliče SOAP server na SERVER-JU in mu posreduje
zadnjih X meritev (mislim da 10 bi bilo OK). Tako se izognemo, da ima MOXA SOAP server, ki potrebuje statičen naslov
(torej MOXA vsebuje samo SOAP clienta). Ta pristop tudi ne potrebuje izmenjave IP naslova, torej dela je manj je pa
rešitev nekoliko bolj ne-elegantna.
RE: Oddaja kode - Added by Boštjan Tittl over 13 years ago
Na sestanku 23.3.2010, smo se odločili, da bomo izbrali prvi pristop (glej ARHITEKTURA-RAFAL.pdf),
saj se nam zdi boljši. Zgoraj opisano težavo, bo pa odpravil Damjan in sicer, ko se bo povezal na
internet, bo pridobil lasten IP, ter popravil wsdl datoteko tako, da bo značka, ki govori o lokaciji
SOAP Serve-ja ažurirana z pravim (absolutnim) naslovom. Ta naslov bo poslal tudi SERVER-JU (Ubuntu Linux-u),
tako da bo tudi SOAP Client vedel kje se nahaja SOAP Server za pridobitev meritev - kajti težava je nastopila
samo, ko je MOXA postal SOAP Server in SERVER (Ubuntu Linux-u) SOAP Client (torej, ko je šlo za prenos meritev).
Poleg tega, smo si na sestanku pogledali kodo, ki jo je napisal Damjan, ter smo jo malo pokomentirali. Razjasnili smo si
pojme glede izbrane arhitekture. Zmenili smo se, da bomo s programiranjem končali ta mesec, tako da bo lahko pol Jakob
napisal dokumentacijo in začel s testi. Torej narediti je še potrebno:
- Boštjan: vse potrebne SOAP webservice (predvideno bom končal ta teden + spletno stran, ki prikazuje meritve v tabelarični obliki, do ned.)
- Damjan: je že napisal pridobitev podatkov, ter njihovo "parsanje", mora pa jih še vnesti v bazo mysql. Napisati mora še en program za vzpostavitev povezave preko gprs-ja, shraniti dodeljen IP v bazo mysql ter spremeniti
wsdl vrstico, ki govori o lokaciji SOAP strežnika.
- Jakob: preveriti mora, kaj je z zunanjo anteno za MOXA, ter pridobiti ponudbe ter kasneje kartico M2M za prenos podatkov. Ko bosta Boštjan in Jakob končala s programiranjem, mora sistem stestirati in napisati
dokumentacijo.
Upam, da nisem še kaj pozabil, če pa sem, kar napišita.