Wie funktioniert die Bereitstellung von .NET-Anwendungen mit der Bereitstellung von Java-Webanwendungen?

8

Ich muss möglicherweise die .NET-Bereitstellung in naher Zukunft unterstützen. Ich muss in der Lage sein, mit den Leuten zu sprechen, die diese Anwendung entwickeln und in der Lage zu beurteilen, ob sie ein gewisses Maß an Best Practices für den Einsatz haben oder wenn, wie ich vermute, ihre Prozesse kludrig sind und sie sich nur durchwursteln / p>

Das ist ein Problem für mich, weil ich Java-Entwickler bin und .NET nicht spreche. Also habe ich kein Verständnis dafür, was die besten Praktiken sein sollten.

Um es in eine Perspektive zu bringen, auf die ich mich beziehen kann, würde ich gerne wissen, was das Gleiche ist und was anders ist bei der Bereitstellung von Java- und Java-EE-Webanwendungen im Gegensatz zur Bereitstellung von .NET-Anwendungen?

Wenn ich relativ einfache Java-Anwendungen ins Web verleite, habe ich normalerweise einen automatisierten Prozess, der den Code aus der Quellcodeverwaltung bezieht, ein ANT- oder Maven-Skript ausführt, um eine WAR-Datei zu generieren, diese Datei in ein Webapps-Verzeichnis zu kopieren Dann bläst Tomcat - oder ein anderer Anwendungsserver - die .war-Datei auf und lässt sie laufen.

Was wäre der entsprechende Prozess in .NET? Welche Werkzeuge werden üblicherweise verwendet? Welches Artefakt wird erstellt, das einer WAR-Datei ähnelt? Was sind die schlechten Praktiken, die üblich sind, aber sollten vermieden werden?

    
Spike Williams 14.12.2011, 22:18
quelle

2 Antworten

8

Assemblies in .Net sind das höchste "Paket", von dem es bekannt ist. Sie entsprechen ungefähr .jar-Dateien in Java. Es gibt Systeme auf Baugruppen (wie Web Deploy Pakete), aber diese werden von Tools und Addons höherer Ebenen verwendet - sie sind keine Kernkonzepte von .Net.

Anstelle von Ant haben wir MsBuild .

Visual Studio-Lösungen sind Kombinationen von Visual Studio-Projekten und Visual Studio-Projekte sind MsBuild-Skripts. Sie können beide mit Visual Studio oder MsBuild erstellen.

Assemblies werden von dem Compiler kompiliert. Sie verwenden ein MsBuild-Skript, um anzugeben, welche Dateien in die Assembly kompiliert werden, und um anzugeben, auf welche anderen Assemblies verwiesen wird.

.Net-Assemblys können Assemblys im GAC ( Global Assembly Cache - dies ist systemweit) und Assemblys im dasselbe Verzeichnis. Es gibt keine magischen Bibliotheksverzeichnisse, die geladen werden, wie es von einem Java WAR kommt.

Auf der .Net-Seite ist IIS sowohl der Webserver als auch der Anwendungsserver.

Es hat eine Sache namens Anwendungspools , die unter einem bestimmten ausgeführt werden Benutzer und laden Sie eine bestimmte Version des .Net-Frameworks . Sie können diese auf einer "Site" - oder "Anwendungsebene" anwenden.

In IIS haben Sie "Sites" (manchmal nur "Standardwebsite"), und Sie erstellen ein "virtuelles Verzeichnis" unter dieser Site. Dann können Sie es als eine Anwendung markieren. Sie binden virtuelle Verzeichnisse an reale Dateisystemverzeichnisse, und Sie können die Dateien, die Sie bereitstellen, einfach in dieses Verzeichnis löschen.

Siehe: Grundlegendes zu Sites, Anwendungen und Virtuelle Verzeichnisse auf IIS

In IIS gibt es kein Bereitstellungsverzeichnis, wie es Java-Anwendungsserver gibt. Sie legen Ihre Seiten und Baugruppen direkt in das Verzeichnis ab, aus dem sie bereitgestellt werden.

Aber es gibt eine Verzeichnisstruktur für Websites. Projekte, die Sie in Visual Studio erstellt haben, sind bereits so eingerichtet, dass sie mit dieser Hierarchie übereinstimmen. Sie können also einfach den gesamten Projektordner abrufen und in IIS werfen.

Wenn Sie etwas automatisierter arbeiten möchten, schauen Sie in Web Deploy nach.

    
Merlyn Morgan-Graham 14.12.2011, 22:33
quelle
0

Ein Wort IIS. Was die Anwendungen betrifft, die ich entwickelt habe, sei es der Dienst oder die Website, die ich über IIS vertreibe.

In derselben Analogie hast du gesagt. Visual Studio gibt den Build entweder als Webanwendung / Website aus, die Sie über IIS auf dem Webserver bereitstellen können, und ist vollständig konfigurierbar.

Alle Schritte und Vorläufer finden Sie unter hier

    
Venki 14.12.2011 22:26
quelle

Tags und Links