.NET & J2EE Interoperability
Authors: Peltzer D.
Published year: 2004
Pages: 38-40/101
Buy this book on amazon.com >>

Part II: Microsoft .NET Internal Interoperability

Chapter List

Chapter 5: .NET Language Integration Components
Chapter 6: ASP.NET Architecture
Chapter 7: ASP.NET and Web Services



Chapter 5: .NET Language Integration Components

Overview

Microsoft .NET facilitates the development of web-enabled applications for any programming language targeting the .NET Framework. The languages include Visual Basic .NET, Visual C# .NET, Visual J# .NET, ASP.NET, and Visual C++ .NET. Microsoft also provides more than 20 interfaces to the Framework for other programming languages such as COBOL, Python, and Perl.

This chapter focuses on the components of the Framework, first taking a macro view of the overall architecture and then a micro view of the Common Language Runtime (CLR) and its tasks . A perusal of the System.Reflection namespace helps to understand how the CLR uses reflection to examine the manifest, which contains metadata about the executable code every Windows application must have. The program executable (PE) file hosts the application’s Microsoft Intermediate Language (MSIL) code, the manifest, and an assembly. The latter contains all executable code in binary format.

Note 

Binary formatted code is not native executable code, but it can be executed by the CLR and is MSIL code.

After examining the PE file, we look at a sample application written in Visual Basic .NET for purposes of learning how to create a class library. The last part of the chapter discusses how the Common Type Specification (CTS) and Common Language Specification (CLS) work in conjunction with the CLR. The final section demonstrates how to make an assembly public by creating a strong name .

Before getting into the technical aspects, let’s take a look at some of the reasons Microsoft created the Framework.



Defining Key .NET Objectives

The following are several of Microsoft’s objectives in creating the Framework:

  • Multilanguage integration Developers can create applications in any .NET-hosted language and share common data types specified by the Common Type Specification (CTS). They can successfully compile to Microsoft Intermediate Language (MSIL) and then to subsequent application-specific native code.

  • Enterprise services .NET facilitates scalable, distributed enterprise application development without writing extra code for managing transactions, security, and other related tasks .

  • Modular-based development COM services enable component integration. However, .NET provides an improved methodology for developing reusable components .

  • Automatic memory management and garbage collection Traditional C and C++ programmers (pre-.NET languages) were responsible for allocating and deallocating memory as well as providing their own garbage collection. Visual Basic programmers are not accustomed to performing these essential tasks. Now, the CLR and managed code languages provide these services for developers.

  • Distributed application development Microsoft has entered the Enterprise arena with its release of the .NET Framework. The Framework facilitates Rapid Application Development. In addition, reusable components and interfaces allow for constructing scalable applications.

  • .NET Remote Object Access Leverages the open Internet standards such as Simple Object Access Protocol (SOAP), Hypertext Transport Protocol (HTTP), and Extensible Markup Language (XML), to access objects residing on remote servers.

  • Enhanced Web Services Development This is based on the Internet component of the CLR, namely ASP.NET.


.NET & J2EE Interoperability
Authors: Peltzer D.
Published year: 2004
Pages: 38-40/101
Buy this book on amazon.com >>