MS SQL

Schwer­punk­te

Für die Ver­wal­tung von Soft­ware­pa­ke­ten und zur Steue­rung des Instal­la­ti­ons­pro­zes­ses haben wir eine SQL Daten­bank geplant und erstellt. In die­se Daten­bank wer­den alle Soft­ware­pa­ke­te ein­ge­tra­gen, Instal­la­ti­ons­ei­gen­schaf­ten defi­niert und die Zuord­nung zu einem bestehen­den Release­pro­zess hin­ter­legt. Die­se Daten­bank ist die Grund­la­ge für die Tools zur Auto­ma­ti­sie­rung des Softwareverteilungsprozesses.

Port­fo­lio

Wir unter­stüt­zen Sie bei der Neu­erstel­lung einer neu­en Client/Serveranwendung und pla­nen mit Ihnen zusam­men die zuge­hö­ri­ge Daten­bank. Hier­für erstel­len wir Tabel­len, Views und Stored Procedures.

Exper­ti­se

Erstel­len einer neu­en Datenbank
  • Tabel­len, Views, Stored Procedures
  • Rela­tio­na­les Datenbankmodell
  • Ein­rich­tung von Berechtigungen/Roles

Pro­jekt

Erstel­lung eines Pro­xy Diens­tes zur Abfra­ge von CM Infor­ma­tio­nen zur Lastverteilung

Auf­ga­be

Für die dezen­tra­le Soft­ware­ver­sor­gung müs­sen stän­dig und zeit­gleich Daten aus der MS SQL Daten­bank des Con­fi­gu­ra­ti­on Mana­gers abge­fragt wer­den. Für eine Ent­las­tung des SQL Ser­vers muss eine Lösung ent­wi­ckelt wer­den, die sicher­stellt, dass die zu ver­sor­gen­den Sys­te­me zuver­läs­sig die­se Daten ermit­teln können.

Umge­bung

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

Lösung

Erstel­lung eines Win­dows-Diens­tes mit C#, der auf meh­re­ren Ser­vern imple­men­tiert wird, zyklisch die benö­tig­ten Daten aus der CM Daten­bank ermit­telt und sie für anfra­gen­de Cli­ents bereit­hält. Somit wird der SQL Ser­ver maxi­mal ent­las­tet. Die­ser Dienst muss zuver­läs­sig funk­tio­nie­ren und mit­tels Fall­back-Mecha­nis­men sicher­stel­len, dass ein tem­po­rä­rer Aus­fall der CM Daten­bank kei­ne Aus­wir­kung hat.

Ergeb­nis

Der ent­wi­ckel­te WCF Ser­vice liest zyklisch alle not­wen­di­gen Infor­ma­tio­nen (Soft­ware­pa­ke­te, Poli­ci­es, Deploy­ments) aus der CM Daten­bank, hält sie lokal vor und gibt sie an die anfra­gen­den Sys­te­me zurück. Nach einer (kon­fi­gu­rier­ba­ren) Zeit gel­ten die Infor­ma­tio­nen als ver­al­tet und wer­den erneut aus der CM Daten­bank gele­sen. Im Feh­ler­fall wer­den die Daten noch eine wei­te­re Zeit zurück­ge­ge­ben bis die nächs­te Dead­line über­schrit­ten ist. Der Dienst schreibt aus­führ­li­che Log-Datei­en und erzeugt Ein­trä­ge ins Win­dows Event Log. Die­se wer­den über­wacht, sodass bei einem Aus­fall Tickets erzeugt wer­den können.

Pro­jekt

Ent­wick­lung einer Biblio­thek als Schnitt­stel­le zu einer MS SQL Datenbank

Auf­ga­be

Für die Inter­ak­ti­on ver­schie­de­ner selbst­ent­wi­ckel­ter Tools mit einer bestehen­den Paket­ver­wal­tungs-Daten­bank wird eine Biblio­thek mit allen not­wen­di­gen Funk­tio­nen benö­tigt. Die­se Abs­trak­ti­ons­schicht ver­ein­facht die Ver­wen­dung der MS SQL Daten­bank für alle Kon­su­men­ten und stellt die Kon­sis­tenz der Daten­bank sicher.

Umge­bung

MS SQL Ser­ver; .NET Frame­work (Enti­ty Framework)

Lösung

Mit­tels Enti­ty Frame­work wer­den die Daten­bank­ob­jek­te (Tabel­len, Views, Stored Pro­ce­du­res) in einem ORM Modell dar­ge­stellt und um zusätz­li­che Funk­tio­nen erwei­tert. Dadurch wird für ande­re Tool­ent­wick­ler die Ver­wen­dung der Daten aus der Paket­ver­wal­tungs-Daten­bank vereinfacht.
In den hin­zu­ge­füg­ten Funk­tio­nen kann zusätz­li­che Busi­ness-Logik imple­men­tiert wer­den, sowie Plau­si­bi­li­täts­prü­fun­gen zur Sicher­stel­lung der Datenkonsistenz. 

Ergeb­nis

Das Ergeb­nis ist eine .NET Assem­bly (DLL) mit allen benö­tig­ten Objek­ten und Funk­tio­nen, die ste­tig wei­ter­ent­wi­ckelt und an bestehen­de Daten­bank­struk­tu­ren ange­passt wird. Die­se Abs­trak­ti­ons­schicht ermög­licht es ande­ren Ent­wick­lern, die Daten­bank zu ver­wen­den ‑auch ohne genaue Kennt­nis über die Daten­bank­struk­tur. Zusätz­lich wur­de ein Power­shell-Cmd­let ent­wi­ckelt, mit des­sen Hil­fe sich die Daten auch aus einer Power­shell-Kon­so­le abfra­gen lassen.

Geschäfts­füh­rer

Andre­as Roß

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