.NET - Putting Software Developers in the Picture


We have heard that .NET is a bold new initiative from Microsoft. We’ve seen Microsoft wield .NET as part of its diversification into enterprise applications markets. We are aware that where current COM/DCOM technologies have faltered, .NET has succeeded in delivering integrated, web-enabled applications. But, what lies beneath all the hype and buzz? What supplies the foundation for this new generation of software products? And, how can developers leverage this initiative to produce software solutions for enterprise wide collaboration and information sharing?


.NET Framework

The .NET Framework is, as the name suggests, the platform on which the deliverables are built. The .NET Framework provides a code execution environment. It allows the code to be stored and executed locally; executed locally but stored across the Internet, or executed remotely. This ensures that software deployment and versioning conflicts are minimized. Secure execution of code from semi-trusted third parties is guaranteed. A Virtual Execution System (VES), is provided that eliminates performance problems which sometimes stem from scripted/ interpreted environments such as VBScript or JScript. This is all made possible through what is called, the "Common Language Runtime" (CLR), and a comprehensive set of class libraries.


Common Language Runtime

The CLR provides the core services of code execution, memory management, thread management and remote control of objects. It also enforces strict type safety, security, and robustness. As the name implies, it is common to all .NET languages including C#, VB.NET, Managed C++, Perl, etc. When code from any of the .NET supported languages is compiled, Microsoft Intermediate Language (MSIL), is produced, along with MetaData, which describes the capabilities and requirements of the code. Like Java ByteCodes, MSIL code is transportable across different hardware, because it is not compiled to native code until just before it is executed by the VES. The MetaData that accompanies the MSIL allows the code to be self-describing. This brings the power of the VB6 IDispatch mechanism to all .NET languages. This mechanism allows the user to discover the capabilities and features of any .NET class at runtime. The commonality of MSIL and MetaData allows code written in one .NET programming language to be migrated easily from code written in a different .NET programming language. The VES manages memory at runtime using garbage collection. Garbage collection helps to eliminate the two most common forms of bugs: memory leaks, and reference to freed memory. The VES also provides a consistent error handling mechanism through the use of exceptions. Finally, the CLR provides easy access to existing DLLs and COM components on the Windows platform.


Class Libraries

The .NET framework comes with a comprehensive set of class libraries. These libraries are programming language neutral, which means they are usable from all of the .NET programming languages. They include support for collections, Internet access, XML manipulation, file I/O, security, encryption, SQL and OleDb, threading, remote control of objects, and reflection.


.NET Applications

Building and running, a .NET application begins with the writing of source code. Once written, this source code can be compiled into a combination of MSIL and MetaData. To run the application, the code is loaded into the CLR, and ‘just-in-time’ compiled into CPU specific code.



So, while the benefits of .NET remain hidden to many software companies, Citect leads the market as one of the first adopters of .NET offering Industrial Information Management (IIM), solutions, designed to help Plant, IT and Business Managers use the data contained in their plant floor systems throughout the enterprise.




This white paper was written by Andrew Allan, Technical Direction Manager, Citect Pty Ltd.  Citect is one of the early adopters of .NET.  Citect has been an innovator in the software development world for over twenty years, delivering the world’s most reliable HMI/SCADA system over ten years ago. That innovation and commitment to ongoing technology development resulted in Citect using the Microsoft .NET framework as the basis for the Plant2Business Historian module, delivering innovative and empowering technologies into the product. Citect Plant2Business V3.0 is the first Historian to leverage Microsoft’s new framework, delivering a clear statement regarding the company’s close relationship with Microsoft and continued commitment to Microsoft’s development path and strategies. For more information on Citect or their products, please Contact Citect or visit their web site at www.citect.com.