G&G Technologies - An Offshore Outsourcing Company   IT Offshore Outsourcing for Mid-size & Small Companies   HOME
Home
F A Q
F A Q
FEED BACK
Feedback
CONTACT US
Contact
   
info@GandGtech.com      1-800-852-4145 

 



o
o
o
o
o
o
o
o
o
o
o


Free Evaluation, Application Outsourcing
Free Evaluation
Start a Pilot, Offshore Software Development
Start a Pilot
Development Environment & Training, Offshore IT Outsourcing
Dev Environment
& Training
Dedicated Team, Application Programming Offshore Outsourcing
Dedicated Team


Fast Links >> Visual Studio .NET Programming

Visual Studio .NET Programming

G&G has extensive experience in Microsoft Visual Studio .NET platform. We worked and are currently working with .NET on several projects. In this section we provide an overview of this platform from various development perspectives.

Microsoft's .NET initiative is broad-based and very ambitious. It revolves around the .NET Framework, which encompasses the actual language and execution platform, plus extensive class libraries providing rich built-in functionality. At its core, the .NET framework embraces XML and SOAP to provide a new level of integration of software over the Internet. There is also a family of server-based products called .NET Enterprise Servers that are to be the next generation of Microsoft's BackOffice.

Calling the Microsoft.NET Framework a "platform" doesn't begin to describe how broad and deep it is. It encompasses a virtual machine that abstracts away much of the Windows API from development. It includes a class library with more functionality than any other created to date, and a development environment that spans multiple languages. Further more, it exposes an architecture that makes multiple language integration simple and straightforward.

In short, .NET presents a radically new approach to software development. This is the first development platform designed from the ground up with the Internet in mind. Previously, Internet functionality has simply been bolted on to pre-Internet operating systems like Unix and Windows. This has required Internet software developers to understand a host of technologies and integration issues. .NET is designed and intended for highly distributed software, making Internet functionality and interoperability easier and more transparent to include in systems than ever before.

The vision of .NET is globally distributed systems, using XML as the universal glue to allow functions running on different computers across an organization or across the world to come together in a single application. In this vision, systems from servers to wireless palmtops, will share the same general platform, with versions of .NET available for all of them, and with each of them able to integrate transparently with the others. But this does not leave out classic applications, as we've always known them. .NET also aims to make traditional business applications easier to develop and deploy. Some of the technologies of .NET, such as WinForms, demonstrate that Microsoft has not forgotten the traditional business developer.

In the beginning 1998, a team of developers at Microsoft had just finished work on a new version of Internet Information Server (version 4.0), including several new features in Active Server Pages. While developers were pleased to see new capabilities for Internet development on Windows NT, the development team at Microsoft had many ideas for its improvement. That team began to work on a new architecture implementing those ideas. This project eventually came to be known as Next Generation Windows Services (NGWS).

After Visual Studio 6 was released in late 1998, work on the next version of Visual Studio (then called Visual Studio 7) was folded into NGWS. The COM+/MTS team brought in their work on a universal runtime for all the languages in Visual Studio, which they intended to make available for third party languages as well.

The subsequent development was kept very much under wraps at Microsoft. Only key Microsoft partners realized the true importance of NGWS until it was re-christened as .NET and introduced to the public at the PDC. At that point, development had been underway for over two years, and most attendees were pleasantly surprised to see the enormous strides Microsoft had made.

The concepts in .NET draw inspiration from many sources. Previous architectures, from p-code in UCSD Pascal up through the Java Virtual Machine, have similar elements. Microsoft has taken many of the best ideas in the industry, combined with some ideas of their own, and brought them all into one coherent package.

The .NET Framework - an Overview

First and foremost, .NET is a framework that covers all the layers of software development from the operating system up. It provides the richest level of integration among presentation technologies, component technologies, and data technologies ever seen on a Microsoft platform. Secondly, the entire architecture has been created to make it as easy to develop Internet applications as it is to develop for the desktop environment.

.NET actually "wraps" the operating system, insulating software developed with .NET from most operating system specifics such as file handling and memory allocation. This prepares for a possible future in which the software developed for .NET is portable to a wide variety of hardware and operating system foundations. (Beta one of Visual Studio.NET supports all versions of Windows 2000 plus Windows NT4, Windows 9x, and Windows Millennium Edition.)

A Common Substrate for all Development

The major components of the .NET framework are shown in the following diagram:

G&G Tech - Microsoft's .NET Programming Solutions

The framework starts all the way down at the memory management and component loading level, and goes all the way up to multiple ways of rendering user and program interfaces. In between, there are layers that provide just about any system-level capability that a developer would need.

At the base is the Common Language Runtime, often abbreviated to CLR. This is the heart of the .NET framework, the engine that drives key functionality. It includes, for example, a common system of data types. These common types, plus a standard interface convention, make cross-language inheritance possible. In addition to allocation and management of memory, the CLR also does reference counting for objects, and handles garbage collection.

The middle layer includes the next generation of standard system services such as ADO.NET and XML. These services are brought under the control of the framework, making them universally available and standardizing their usage across languages.

The top layer includes user and program interfaces. Windows Forms (often informally referred to as WinForms) are a new way to create standard Win32 desktop applications, based on the Windows Foundation Classes (WFC) produced for J++. Web Forms provide a powerful, forms-based UI for the web. Web Services, which are perhaps the most revolutionary, provide a mechanism for programs to communicate over the Internet using SOAP. Web Services provide an analog of COM and DCOM for object brokering and interfacing, but based on Internet technologies so that allowance is made for integration even with non-Microsoft platforms. Web Forms and Web Services, comprise the Internet interface portion of .NET, and are implemented through a section of the .NET Framework referred to as ASP.NET.

All of these are available to any language that is based on the .NET platform. For completeness, there is also a console interface that allows creation of character-based applications (not shown in the diagram).

The Common Language Runtime

Let's provide the definition. A runtime is an environment in which programs are executed. The Common Language Runtime is therefore the environment in which we run our .NET applications that have been compiled to a common language, namely Microsoft Intermediate Language (MSIL), often referred to simply as IL. Runtimes have been around even longer than DOS, but the Common Language Runtime (CLR) is as advanced over traditional runtimes as a light bulb is over a candle. Here's a quick diagrammatic summary of the major pieces of the CLR:

G&G Tech - Microsoft's .NET Programming Solutions

That small part in the middle, called Execution Support, contains most of the capabilities normally associated with a language runtime (such as the VBRUNxxx.DLL runtime used with Visual Basic). The rest is new, at least for Microsoft platforms.

Copyright © 1993-2006 G&G Technologies, Inc., NC, USA, a Software outsourcing & Offshore development company.