Python 3 ja Windows-järjestelmän tiedot : Tilanseurantaohjelma asiakaskoneelle
Sirviö, Teemu (2011)
Sirviö, Teemu
Oulun seudun ammattikorkeakoulu
2011
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201105269878
https://urn.fi/URN:NBN:fi:amk-201105269878
Tiivistelmä
Opinnäytetyön toimeksiantajana toimii yritys, jonka vastuulla on asiakkaittensa tietokoneiden ylläpitotyö. Työtä helpottamaan ja kustannuksia laskemaan toimeksiantaja päätti toteuttaa asiakkaiden tietokoneelle asennettavan valvontaohjelmiston. Toimeksiantaja halusi toteuttaa ohjelmiston opinnäytetyönä ja Python-ohjelmointikieltä käyttäen.
Työssä käytettiin Python-kielen versiota 3, jonka toimintaa laajennettiin PyWin32- ja Python WMI -moduuleilla. Näistä ensimmäinen tuo tulkin käyttöön Windows-spesifisiä toiminnallisuuksia ja jälkimmäinen yksinkertaistaa Microsoftin tekemän Windows Management Instrumentation -palvelun käyttöä Python-koodista käsin.
Ohjelmistotyö jaettiin vaatimusmäärittelyssä opinnäytetyön puitteissa toteutettaviin ja myöhemmin opinnäytetyöstä erillisenä työnä toteutettaviin toiminnallisuuksiin. Asiakaskoneen tiedot koostettiin XML-muotoiseen raporttiin, joka on jaettu kolmeen osaan: järjestelmän tietoihin, tietokoneelle asennettujen ohjelmistojen tietoihin sekä lokitietoihin.
Raportin tiedot haettiin käyttäen Python WMI:n luokkia ja niiden metodeja ja niistä koostettiin XML-muotoinen raportti käyttäen Pythonin xml.etree.ElementTree-moduulia. Ohjelma käyttää http.client-moduulia tiedon välittämiseksi verkon yli ja configparser-moduulia tarvittavien ohjelman asetusten lukuun ja tallennukseen. Valmis ohjelmisto paketoitiin cx_Freexe-ohjelmalla asiakaskoneella ajettavaksi tiedostoksi, joka sisältää tarvittavat Python-moduulit ja on käytettävissä ilman paikallista Python-tulkin asennusta.
Työn tuloksena saatiin aikaan toimeksiantajan tarvitsema ohjelmisto ja voitiin todeta Python-kielen olevan toimiva ohjelmointikieli myös Windows-ohjelmointiin, vaikkakin ohjelman muistinkäyttö todettiin melko korkeaksi. Lisäksi useiden eri laajennosten käyttäminen voi olla hankalaa mahdollisten yhteensopivuusongelmien johdosta ja siksi jatkokehityksessä voitaisiin harkita käytettäväksi jotain toista Python-toteutusta tai ohjelmointikieltä.
Työssä käytettiin Python-kielen versiota 3, jonka toimintaa laajennettiin PyWin32- ja Python WMI -moduuleilla. Näistä ensimmäinen tuo tulkin käyttöön Windows-spesifisiä toiminnallisuuksia ja jälkimmäinen yksinkertaistaa Microsoftin tekemän Windows Management Instrumentation -palvelun käyttöä Python-koodista käsin.
Ohjelmistotyö jaettiin vaatimusmäärittelyssä opinnäytetyön puitteissa toteutettaviin ja myöhemmin opinnäytetyöstä erillisenä työnä toteutettaviin toiminnallisuuksiin. Asiakaskoneen tiedot koostettiin XML-muotoiseen raporttiin, joka on jaettu kolmeen osaan: järjestelmän tietoihin, tietokoneelle asennettujen ohjelmistojen tietoihin sekä lokitietoihin.
Raportin tiedot haettiin käyttäen Python WMI:n luokkia ja niiden metodeja ja niistä koostettiin XML-muotoinen raportti käyttäen Pythonin xml.etree.ElementTree-moduulia. Ohjelma käyttää http.client-moduulia tiedon välittämiseksi verkon yli ja configparser-moduulia tarvittavien ohjelman asetusten lukuun ja tallennukseen. Valmis ohjelmisto paketoitiin cx_Freexe-ohjelmalla asiakaskoneella ajettavaksi tiedostoksi, joka sisältää tarvittavat Python-moduulit ja on käytettävissä ilman paikallista Python-tulkin asennusta.
Työn tuloksena saatiin aikaan toimeksiantajan tarvitsema ohjelmisto ja voitiin todeta Python-kielen olevan toimiva ohjelmointikieli myös Windows-ohjelmointiin, vaikkakin ohjelman muistinkäyttö todettiin melko korkeaksi. Lisäksi useiden eri laajennosten käyttäminen voi olla hankalaa mahdollisten yhteensopivuusongelmien johdosta ja siksi jatkokehityksessä voitaisiin harkita käytettäväksi jotain toista Python-toteutusta tai ohjelmointikieltä.