- Part of Microsoft's .NET strategy, Common Language Infrastructure (CLI) enables an application program written in any of several commonly-used programming languages to be run on any operating system using a common runtime program rather than a language-specific one. Common Language Infrastructure provides a virtual execution environment comparable to the one provided by Sun Microsystems for Java programs. In both environments, CLI and Java use a compiler to process language statements (also known as source code) into a preliminary form of executable code called bytecode. Later, when a program is run, its bytecode is compiled on the fly into the native code required by the machine architecture of a given computer. Common Language Infrastructure has been accepted as an open standard by ECMA, an international organization for the promotion of technology standards. CLI is designed to make it easier to develop programs that can be used as Web services. Common Language Infrastructure specifies: - A common language (the Common Language Specification - CLS)
- A common set of data types that any language must support (the Common Type System - CTS)
- An introduction to the component structure
- How the machine state is managed
- How exceptions are handled
Any programming language that conforms to CLI criteria can access a common class library and can be compiled into a common intermediate language (bytecode). Once compiled into the common intermediate language, any program can then be further compiled into the machine code understood by the specific system it is running on. Within the Common Language Infrastructure, a component called the Common Type System (CTS) defines the programming types and operations supported by the .NET runtime engine. A subset of CTS, the Common Language Specification (CLS) determines whether an application is in compliance with specified criteria. Common Language Infrastructure programs can be written in a variety of programming languages, including ASP+, C++, and C#. These are compiled into Microsoft's Common Intermediate Language (CIL), which the Common Language Runtime (CLR) then compiles into machine code for processing.
 |
Learn more about Microsoft .NET Web services |
| SOA policy: Enterprise logic vs. application logic: The future of SOA policy is moving towards an approach that may put business people in the driver's seat, predicts Miko Matsumura, vice president and deputy CTO for Software AG. |
| Java versus Microsoft for SOA: Is Java gaining the edge over Microsoft .NET in SOA development as a recent survey indicates? Two industry analysts offer contrasting views. |
| Deutsche Post delivers .NET in Java CRM thanks to SOA: An integration expert at Deutsche Post finds a way to bring .NET applications into a CRM system that is part of a Java-based service-oriented architecture (SOA). |
| SOA policy beyond Java and .NET: SOA policy needs to move beyond the Java and .NET platforms that may be used to build services, argues Miko Matsumura, vice president and deputy CTO for Software AG. |
| Using ADO.NET and SDO for SOA data continuity: Both ADO.NET and SDO use XML to enable data transfer between disjointed components inside an SOA, enabling developers to create all kinds of new Web services mashups. |
| Chapter of the week: XML Web services: This chapter, excerpted from Core C# and .NET, takes a look at the pluses and minues of implementing and consuming Web services in a .NET environment. |
| Decision time: .NET or J2EE?: How do .NET and J2EE stack up against one another? That depends on who you ask. We've compiled resources from both sides of the fence to help you decide for yourself. |
| .NET Crash Course: Our .NET Learning Guide along with other resources will bring you up to speed on .NET. You'll find .NET articles, tutorials, tips, tools, white papers, expert advice and more. |
| .NET Learning Guide: This guide introduces you to .NET, explains best practices and pitfalls to avoid and provides troubleshooting help and advice. |
| Crash Course: J2EE and .NET interoperability: Get some tips for .NET and J2EE interoperability with our webcast, free chapter and other resources. Then, take a quiz to win a copy of .NET and J2EE Interoperability. |
| LAST UPDATED: |
25 Jun 2007
|
 |
Do you have something to add to this definition? Let us know.
Send your comments to techterms@whatis.com
|

 |
More resources from around the web:
|


');
// -->



|