Fortuna Entwickler Blog

Hier wird Ihnen geholfen

Ergebnisse Workshop 14./15. November 2017

nuGet packages

Es ist nicht sinnvoll, nuGet Packages in unsere Release-Zyklen einzubinden; dies widerspricht dem eigentlichen Sinn der nuGet Packages.

In einem Package sollen Funktionen umgesetzt werden, welche Produktunabhängig sind und allgemein Verwendet werden können, z.B. Mailversand, PDF Erstellung und Ähnliches

Empfehlung Herr Schmidt: 

Rückführung Produktspezifischer Packages in die jeweiligen Solutions

Neustrukturierung der Ordnerstruktur für Solutions

Alle Solutions in einem Ordner

Alle Webanwendungen in einem eigenen Ordner in einem Unterordner (‚web‘)

Alle Bibliotheken in einem eigenen Ordner in einigen wenigen Unterordnern (‚logic‘, ‚data‘)

Damit dann Kombination aus nuGet und Bibliotheken

Builds für Projekte automatisieren

Builds für nuGet Packages erstellen Symbole für Debugging, welche vorgehalten werden


Branches, Merges, etc.

Der aktuelle Stand kann so weiter geführt werden.

Das Verschieben von Branches kann möglicherweise in Zukunft wieder verfügbar sein. Derzeit gibt es keine andere Möglichkeit, als es so zu tun, wie wir es derzeit machen.

Herr Schmitt hat uns Alternativen zur derzeitigen Vorgehensweise aufgezeigt. Diese wären gggf. Zu diskutieren.


Event- und Fehlerlogging

Das Logging, so wie wir es derzeit betreiben ist weder performant noch sonst zu empfehlen.

Empfehlung Herr Schmidt: 

Einsatz von NLog

Umstellung aller Anwendungen auf einen Asynchronen Logger

Logging gegen einen WebService (in Azure)

Archivierung von Logs in Azure Storage

Ggf. Automatisiertes Herunterladen aus Azure Storage


Benutzer, Security

Eine eigene Benutzerverwaltung ist aufwendig, fehleranfällig und nur schwer abzusichern.

Empfehlung Herr Schmidt:

Microsoft Azure Active Directory

Vergleichsweise einfache Integration in bestehende Webanwendungen

Keine Verwendung mit VENTA möglich

Derzeit nur für Versicherungskunden

Integration in Azure Service Management, um APIs abzusichern (myPension z.B.)


Swagger

Der Einsatz von Swagger, so wie es derzeit bei uns verwendet wird, entspricht vorgesehenen Verwendung. Keine ToDos.


Oracle / Entities

Oracle ODP.NET ist nicht empfehlenswert, weil vergleichsweise langsam und schlechte Tool-Unterstützung.

DevArt for Oracle ist das Tool der Wahl für den Zugriff auf Oracle Datenbanken via Entities. Der fehlende Service seitens DevArt muss selbst geleistet werden: Neue Versionen als nuGet zur Verfügung stellen, eigene Versionshistorie vorhalten.


Sonstiges

Herr Schmitt empfiehlt die Anbindung unseres AD an Azure AD.

C# 7.0/8.0 bringt wenig sinnvolles Neues, was wir nicht schon kennen

ASP.NET Core bringt für uns keine Vorteile, solange wir nicht mit Docker und/oder anderen Betriebssystemen arbeiten.

Angular.js (oder React.js oder Vue) sind Frameworks, die interessant sein können und gesondert betrachtet werden müssten.

TypeScript als Ersatz für JavaScript ist empfehlenswert.

JavaScript in Webseiten selbst sollte überhaupt nicht benutzt werden, sondern immer in eigene Dateien (dann auch als TypeScript) ausgelagert werden.


Fotos


Themen_Workshop.pptx (578,3KB)

Mac einrichten und ins Firmennetzwerk einbinden

Um einen Mac in ein Windowsnetzwerk einzubinden muss man einige, wenige Einstellungen vornehmen. Bei der Erstinstallation muss man auf jeden Fall einen lokalen Benutzer anlegen, der dann auch lokaler Admin ist. Mit diesem Account kann man dann lokal alles einstellen; ich habe den lokalen Benutzer myLife genannt; das Passwort dazu ist der Administration (Sascha/Erico) bekannt.

Zentraler Anlaufpunkt für alle Änderungen sind die Systemeinstellungen, die man unten im Dock findet:

Zuerst einmal sollte man sicherstellen, daß man sich im Firmennetzwerk befindet. Also entweder ist der Mac per Netzwerkkabel angeschlossen, oder im mylifeLAN angemeldet. Das Passwort für dieses WLAN ist der Administration bekannt.

Im ersten Schritt gibt man dem Mac einen im Netzwerk eindeutigen Namen. Dies sollte in Absprache mit Sascha/Erico geschehen. Den Anfang gemacht haben die Namen MacBook01 und MacMini01. Den Namen vergibt man in den Systemeinstellungen unter Freigaben.
Laut einigen Seiten im Internet kann es sein, daß man sich nach einem Wechsel des Namens einmalig Ab- und wieder Anmelden oder besser noch, den Mac neu starten sollte.

Als nächstes sollte man den Proxy eintragen, damit man schon einmal Verbindung 'nach draußen' hat. Dies geschieht in den Systemeinstellungen unter Netzwerk. Dort unter Weitere Optionen und dann unter Proxies.

Die eigentliche Anmeldung im Netzwerk geschieht dann unter Benutzer & Gruppen in den Systemeinstellungen. Hier muss man das Bearbeiten der Einstellungen erst einmal über das Schloss unten (und Eingabe des Passworts) freigeben.
Dann klickt man auf Anmeldeoptionen und dort dann auch Netzwerk-Account-Server Verbinden...
Dort gibt man dann den Namen des Domain Controllers/AD-Servers an und wird dann nach Benutzername und Kennwort gefragt. Hier ist ein Benutzer anzugeben, welcher Administrationsrechte im Netzwerk hat. Nach klick auf OK sollte sich der Mac im Netzwerk einbinden.
Es kann unter umständen Probleme geben bzw. die Anmeldung funktioniert nicht, wenn es zwischen dem AD-Server und dem Mac einen Zeitunterschied von 5 Minuten oder mehr gibt. Dies liegt laut einer Webseite in der Verschlüsselung der Übertragung begründet. Wenn also etwas nicht klappt, sollte man das als Erstes mal prüfen.

Zurück in den Anmeldeoptionen sollte man oben noch die Option Name und Kennwort wählen; Liste der Benutzer ist in einem Netzwerk nicht sinnvoll.

Ich habe zudem die Option Menü für schnellen Benutzerwechsel abgewählt.

Das war es dann auch schon. Gegebenenfalls nach einem Neustart kann man sich mit Benutzername/Kennwort aus dem Netzwerk an selbigem anmelden.

Scripte auf WEB3

Auf WEB3 liegen eine Reihe von Scripten, die teils manuell, teils automatisiert ausgeführt werden: 

Script: IAD_FFS_copy_and_purge_old.ps1
Datum: 14.03.2013
Autor: Unbekannt
Letzte Änderung: 14.03.2013
Ausführung: manuell / Scheduler / sonstige
Aufgabe: Jeden Tag um 06:00 Uhr ausführen.

Script: IAD_FFS_get_from_FTP_Server.ps1
Datum: 25.04.2013
Autor: Unbekannt
Letzte Änderung: 25.04.2013
Ausführung: manuell / Scheduler / sonstige
Aufgabe: Jeden Tag um 05:30 Uhr ausführen.

Script: IAD_Funds_copy_and_move.ps1
Datum: 06.10.2009
Autor: Unbekannt
Letzte Änderung: 06.10.2009
Ausführung: manuell / Scheduler / sonstige
Aufgabe: Jeden Tag um 17:50 Uhr ausführen.

Script: IAD_PRICES_move.ps1
Datum: 16.01.2013
Autor: Unbekannt
Letzte Änderung: 16.01.2013
Ausführung: manuell / Scheduler / sonstige
Aufgabe: Jeden Tag ab 08:18 Uhr und dann stündlich 12 Stunden lang ausführen.

Script: Import_Antragsdateien_from_FTP.ps1
Datum: 25.11.2010
Autor: Unbekannt
Letzte Änderung: 25.11.2010
Ausführung: manuell / Scheduler / sonstige
Aufgabe: Montag bis Freitag ab 07:10 Uhr und dann stündlich 12 Stunden lang ausführen.

Script: Statusdateien_copy_and_move.ps1
Datum: 26.04.2013
Autor: Unbekannt
Letzte Änderung: 26.04.2013
Ausführung: manuell / Scheduler / sonstige
Aufgabe: Montag bis Freitag um 06:55 Uhr ausführen.

Script: Tecis_copy_and_move_files.ps1
Datum: 26.04.2013
Autor: Unbekannt
Letzte Änderung: 26.04.2013
Ausführung: manuell / Scheduler / sonstige
Aufgabe: Täglich um 17:30 Uhr ausführen.

Diese Scripte liegen nun nach einer Überarbeitung komplett auch auf dem TFS unter /Fortuna/Scripte