.NET Ent­wick­lung

Schwer­punk­te

Zahl­rei­che unse­rer Pro­jek­te sind im Bereich Sys­tem­ent­wick­lung ange­sie­delt. Unse­re Erfah­run­gen erstre­cken sich über unter­schied­li­chen Pro­jekt­ty­pen, bei­spiels­wei­se Kon­so­len­an­wen­dun­gen, Daten­bank­schnitt­stel­len, Diens­te, Power­s­hell-Cmd­­lets und Biblio­the­ken. Aktu­ell sind wir in C# genau­so zu Hau­se wie in VB.NET. Bei der Ver­wal­tung der Soft­ware­pro­jek­te arbei­ten wir mit Azu­re DevOPS und GitLab.

Port­fo­lio

Erstel­lung von

  • Tools zur Unter­stüt­zung Ihres indi­vi­du­el­len IT-Prozesses
  • Cli­ent-/Ser­­ver-Anwen­­dun­­gen
  • Win­dows Diensten
  • Power­shell Cmdlets

Exper­ti­se

Pro­gram­mier­spra­chen
  • C# und VB.NET
  • Power­shell
Arbei­ten mit Azu­re DevOPS Server
  • Code­ver­wal­tung
  • Pro­jekt­ma­nage­ment
Objekt­ori­en­tier­te Programmierung
  • Klas­sen­de­sign
  • Seria­li­sie­rung
  • ORM (z.B. Enti­ty Framework)
Erstel­len von WCF Services
  • Debug­ging
  • End­point Configuration
WMI
  • Ver­ar­bei­ten von Daten aus bestehen­den WMI Klassen
  • Erzeu­gen von WMI Klassen
Arbei­ten mit Datenstrukturen
  • XML
  • json

Pro­jekt

Erstel­lung eines Release-Installations-Programms

Auf­ga­be

Erstel­len einer Lösung zur Ver­ein­fa­chung von Soft­ware­instal­la­tio­nen im Rah­men eines Release in einem Team einer bun­des­wei­ten deut­schen Behör­de. An einem Wochen­en­de müs­sen auf allen Sys­te­men (ca. 170.000 Cli­ents und ~2.500 Ser­ver) alle benö­tig­ten Soft­ware­pa­ke­te (~50) instal­liert wer­den. Auf­grund der poli­ti­schen Wich­tig­keit muss das best­mög­li­che Ergeb­nis erzielt wer­den. Die Benut­zer müs­sen nach dem Instal­la­ti­ons­wo­chen­en­de einen funk­tio­nie­ren­den Arbeits­platz vorfinden.

Umge­bung

Bun­des­wei­te Behör­de mit 140.000 Cli­ents und 1.500 Ser­vern (Win­dows); Micro­soft Sys­tem Cen­ter Con­fi­gu­ra­ti­on Mana­ger (hier: CM)

Lösung

Pla­nung und Ent­wick­lung eines Pro­gramms mit VB.NET, das selb­stän­dig auf jedem Sys­tem alle benö­tig­ten Soft­ware­pa­ke­te ermit­telt, lokal spei­chert und zum Instal­la­ti­ons­zeit­punkt zuver­läs­sig aus­führt. Die Inter­ak­ti­on mit dem CM ist essen­ti­ell, sei es beim Iden­ti­fi­zie­ren der Soft­ware­pa­ke­te, Her­un­ter­la­den in einen loka­len Cache oder beim Report­ing des Installationsergebnisses.

Ergeb­nis

Das ent­wi­ckel­te Pro­gramm iden­ti­fi­ziert anhand der Eigen­schaf­ten des loka­len Sys­tems die benö­tig­te Soft­ware, ermit­telt aus den zur Ver­fü­gung ste­hen­den Infor­ma­tio­nen die zu ver­wen­den­den Soft­ware­de­pots, spei­chert die Soft­ware lokal und instal­liert sie mit allen not­wen­di­gen Reboots. Anschlie­ßend wird das Instal­la­ti­ons­er­geb­nis über CM zurückgemeldet. 

Auch nach mehr als zehn Jah­ren wer­den damit durch­gän­gig mehr als 95% aller Sys­te­me erfolg­reich mit allen benö­tig­ten Soft­ware­pa­ke­ten ver­sorgt. Durch die­se Metho­dik ist es mög­lich, selbst in einer sehr gro­ßen CM Umge­bung die Anzahl der Coll­ec­tions und Deploy­ments über­schau­bar zu hal­ten und den­noch ein sehr gutes Instal­la­ti­ons­er­geb­nis zu erzielen.

Pro­jekt

Ent­wick­lung einer Schnitt­stel­le für CM-Deployments

Auf­ga­be

Für die Benut­zer mobi­ler Sys­te­me ist es wich­tig, bereits vor dem Start einer Instal­la­ti­on infor­miert zu wer­den, damit sie den Instal­la­ti­ons­pro­zess best­mög­lichst unter­stüt­zen können.

Umge­bung

Win­dows 10/11; CM Agent; WMI

Lösung

Das Pro­gramm ermit­telt anste­hen­de Deploy­ments aus den ent­spre­chen­den WMI-Klas­sen des CM Agen­ten, bringt sie zuein­an­der in Bezie­hung und spei­chert das Ergeb­nis gebün­delt in einer selbst defi­nier­ten WMI-Klasse.

Ergeb­nis

Die Daten wer­den inven­ta­ri­siert und kön­nen hin­sicht­lich Feh­ler, Fort­schritt oder Sta­tus­wer­den aus­ge­wer­tet wer­den. Für den Benut­zer die­nen die Wer­te über ent­spre­chen­de Anzei­ge­tools gra­fisch auf­be­rei­tet als Informationsquelle.

Geschäfts­füh­rer

Andre­as Roß

Sie haben Fra­gen? Ich bin ger­ne für Sie da!