Chapter 23. Assemblies, Application Configuration, and Process Management

So far in this book, you have learned how to write C# programs. As an enterprise programmer, you should know that writing application code is only one of the responsibilities of a programmer. The other responsibilities include assembling, deploying, configuring, and monitoring applications. This chapter introduces packaging and managing applications in C#. We look at assemblies, versioning, and application configuration and management—that is, process management.

In the Java world, applications are packaged not as EXE files but rather as class files that are loaded by the runtime .java executable. Many Java applications bundle class files in a .java archive file (or a .jar file). The .jar file is the preferred unit of deployment for applications and libraries in Java. Java products are usually shipped as nothing more than a group of .jar files. Several variations of the .java archive file (.jar) file are now used as units of deployment for the new breed of J2EE applications. J2EE Web applications are deployed as a Web application archive (.war) file. Similarly, EJB components are bundled in yet another variation of .jar files called enterprise application archive (.ear) files.

Java also provides an API for exploring these archive files and deployed units. The Java environment, however, does not come with a robust set of application monitoring and management tools. These tools tend to be closely tied to the operating system on which applications run, and Java's OS-neutral nature prohibits it from leveraging any OS-specific features in providing tight integration with any one platform. The JDK therefore ships with a minimal set of executables that can help you debug the performance and memory consumption of an application. Also, the API that helps in monitoring memory allocation and garbage collection is not part of the core Java API. Nor does Java have built-in support for versioning of archive files.

The .NET Framework is a different story. It provides tools and APIs to ease the task of assembling, deploying, and versioning an application. In addition, it has APIs to interact with the Windows platform directly and to control the application's state through OS process management.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.22.181.81