How does deploying .NET applications compare to deploying Java web applications?

I may have to support .NET deployment in the near future. I need to talk to people who are developing this application, and be able to assess whether they have any sense of best practice for deployment, or if, as I suspect, their processes are kludgy and they are just confused.

This is a problem for me because I am a Java developer and I am not talking .NET. So I don’t have an understanding of what the best methods should be.

So, to put this in perspective, with which I can relate, I would like to know what is the same and what distinguishes the deployment of Java and Java EE web applications from the deployment of .NET applications?

When I deploy a fairly basic Java application on the Internet, I usually have an automated process that gets the code from the source control, runs an ANT or Maven script to create a .war file, drops that file in webapps, and then Tomcat or some another application server - inflates the .war file and launches it.

What will be the equivalent process in .NET? What tools are commonly used? What artifact was created that would look like a .war file? What are bad practices that are common but should be avoided?

+8
java deployment
source share
2 answers

Assemblies in .Net is the "package" of the highest level that he knows about. They are roughly equivalent . Jar files in Java. Systems exist on top of assemblies (for example, Web Deploy ), but they are used by tools and add-ons of a higher level - they are not the basic concepts of .Net.

Instead of Ant MsBuild .

Visual Studio Solutions are combinations of Visual Studio projects, and Visual Studio projects are MsBuild scripts. You can create any of them using Visual Studio or MsBuild.

Compiled for compiler . You use the MsBuild script to indicate which files are compiled into the assembly and indicate which other assemblies should be accessed.

.Net assemblies can see assemblies in the GAC ( Global Assembly Cache is a system system) and assemblies in the same directory. There are no magic library directories that load, like from a Java WAR .

On the .Net side, IIS is both a web server and an application server.

It has an application called application pools that run under a specific user and download a specific version of the .NET Framework . You can apply them at the "site" or "application" level.

In IIS, you have “sites” (sometimes just the “Default Web Site”), and you create a “virtual directory” under this site. Then you can "mark it as an application." You bind virtual directories to real file system directories, and you can simply drop the files that you deploy to this directory.

See: Understanding Nodes, Applications, and Virtual Directories in IIS

IIS does not have a deployment directory, for example, there are Java application servers. You send your pages and assemblies directly to the directory from which it was sent.

But for websites there is a directory structure. The projects that you created in Visual Studio are already set up to fit this hierarchy, so you can just grab the entire project folder and dump it into IIS.

If you want to do something more automated, take a look at Web Deploy .

+8
source share

One word IIS. As for the applications that I developed, this is a service or website that I deploy through IIS.

In the same analogy you said. Visual Studio displays the assembly of your web application / website that can be deployed to the web server through IIS, and it is fully customizable.

All steps and precursors can be found here.

0
source share

All Articles