2011-12-14 15 views
8

Być może będę musiał w najbliższej przyszłości obsługiwać wdrożenie .NET. Muszę być w stanie rozmawiać z ludźmi, którzy opracowują tę aplikację i być w stanie ocenić, czy mają jakieś dobre praktyki w zakresie wdrażania, czy też, jak podejrzewam, ich procesy są kludgy i po prostu się mylą.W jaki sposób wdrażanie aplikacji .NET jest porównywalne z wdrażaniem aplikacji WWW Java?

To jest dla mnie problem, ponieważ jestem programistą Java i nie mówię .NET. Tak więc nie rozumiem, jakie powinny być najlepsze praktyki.

Tak więc, aby przedstawić perspektywę, z którą mogę się zapoznać, chciałbym wiedzieć, co jest takie samo i co różni wdrażanie aplikacji internetowych Java i Java EE od wdrażania aplikacji .NET?

Kiedy wdrażam dość podstawową aplikację Java do internetu, zwykle mam zautomatyzowany proces, który pobiera kod z kontroli kodu źródłowego, uruchamia skrypt ANT lub Maven w celu wygenerowania pliku .war, upuszcza ten plik w katalogu webapps, a następnie Tomcat - lub inny serwer aplikacji - nadmuchuje plik .war i uruchamia go.

Jaki byłby równoważny proces w .NET? Jakie narzędzia są powszechnie używane? Jaki artefakt jest tworzony, który byłby podobny do celu w pliku .war? Jakie są złe praktyki, które są powszechne, ale których należy unikać?

+0

Nie mam z tym żadnego doświadczenia, więc naprawdę nie mogę tego polecić, ale przeczytałem, że można [hostować aplikację ASP.NET z Apache] (http://weblogs.asp.net/israelio /archive/2005/09/11/424852.aspx). –

+0

kludgy ......... ?? – Celt

Odpowiedz

8

Assemblies w .NET to poziom „pakiet” to wie o najwyższy. Z grubsza odpowiadają one .jar files w Javie. Istnieją systemy na szczycie złożeń (jak pakiety Web Deploy), ale są one używane przez narzędzia i dodatki wyższego poziomu - nie są one rdzennymi pojęciami .Net.

Zamiast Ant, mamy MsBuild.

Visual Studio Solutions to kombinacje Visual Studio Projects, a Visual Studio Projects to skrypty MsBuild. Możesz zbudować którekolwiek z nich za pomocą Visual Studio lub MsBuild.

Złożenia są kompilowane dla ciebie przez the compiler. Używasz skryptu MsBuild do określania, które pliki są kompilowane do złożenia, i do określania, do których innych zespołów się odwołujemy.

. Zespoły .Net mogą widzieć złożeń w GAC (Global Assembly Cache - to system szeroki) i złożeń w tym samym katalogu. Nie ma żadnych katalogów magicznej biblioteki, które ładują się tak, jak są od a Java WAR.

Po stronie .Net, IIS jest zarówno serwerem WWW, jak i serwerem aplikacji.

Jest to coś o nazwie application pools, które działa pod określonym użytkownikiem i ładuje określoną wersję .Net Framework. Możesz je zastosować na poziomie "witryny" lub "aplikacji".

W IIS masz "witryny" (czasami po prostu "Domyślna witryna sieci Web") i tworzysz "katalog wirtualny" w tej witrynie. Następnie możesz "oznaczyć jako aplikację". Powiązanie wirtualnych katalogów z prawdziwymi katalogami systemu plików pozwala po prostu upuścić instalowane pliki do tego katalogu.

Patrz: Understanding Sites, Applications, and Virtual Directories on IIS

Nie ma katalogu deploy w IIS jest jak serwery aplikacji Java. Wrzucisz swoje strony i złoŜenia prosto do katalogu, z którego pochodzi.

Ale istnieje struktura katalogów dla stron internetowych. Projekty utworzone w Visual Studio są już skonfigurowane, aby pasowały do ​​tej hierarchii, więc możesz po prostu pobrać cały folder projektu i wyrzucić go w IIS.

Jeśli chcesz zrobić coś nieco bardziej zautomatyzowanego, spójrz na Web Deploy.

0

Jedno słowo IIS. Jeśli chodzi o aplikacje, które rozwinąłem, czy to usługa, czy witryna internetowa, wdrażam je za pośrednictwem IIS.

W tej samej analogii, którą powiedziałeś. Visual Studio wyprowadza kompilację albo twoją aplikację internetową/stronę internetową, którą możesz wdrożyć na serwerze WWW przez IIS i jest w pełni konfigurowalny.

Wszystkie etapy i prekursory można znaleźć here

Powiązane problemy