Chapter 6: Windows Technology Innovation
It is important to emphasize that technology innovations are another reason why the Windows platform is a strong candidate as a migration destination. The platform is the result of a massive and ongoing investment in software research and development. In comparison, the level of investment being made in the mainframe environment by both the IT industry and by mainframe vendors is significantly lower.
The most significant innovations in the Windows platform are:
Visual Studio. This is the integrated development environment that delivers the capability to use these technologies.
.NET Framework. This is an application integration environment that offers high levels of performance and reliability.
ADO. This is a new way of managing and accessing data that specifically addresses the needs of mobile applications and users who are occasionally connected to resources over the Internet.
XML. This is a standard for information interchange and management that is changing the way applications interact across platforms and industries.
On This Page
Visual Studio .NET is an advanced interactive development environment for Windows applications in Visual Basic®, Visual C++®, Visual C#®; Web applications using ASP.NET, Web Services applications, console or command-line applications without the Windows GUI, and ActiveX Controls that can be used to extend and customize the Windows and Web GUI. Partners have also added support for COBOL, Fortran, and many other programming languages within Visual Studio.
Visual Studio is an extremely high productivity development environment, both by virtue of its ease of use and its built-in error-reduction features:
Intellisense features show what syntax elements are required or expected in real time as code is entered.
Classes, attributes and methods of all object libraries included in the development environment automatically appear for type-ahead completion of all expressions.
Syntax is automatically checked as code is created.
Source code color-coding is automatic and configurable.
Outline views and code segmentation allow program detail to be selectively hidden or exposed.
Strong typing and many other consistency features may be selectively used.
Visual Studio .NET provides a single integrated debugger for all Visual Studio languages. Some of its features are:
Cross-language debugging of Visual Basic .NET, Visual C++ .NET, Visual C# .NET, and SQL.
Debugging of applications written for the Microsoft .NET Framework common language runtime as well as Win32 native applications.
Capability to examine the content of program variables without having to insert additional calls to write output of the values.
Capability to insert breakpoints in code to halt execution at the point of interest.
In break mode, capability to examine local variables and other relevant data.
In break mode, capability to edit or change the contents of memory or variables.
A “disassembly” window to show the instructions created from the source code.
Microsoft .NET is a software framework used for building and running different types of software including Web-based applications, smart client applications, and XML Web services. .NET components allow sharing data and functionality over a local network or the Internet through standard, platform-independent protocols such as XML, SOAP, and HTTP.
.NET manages many of the details of inter-application communications and control involved in developing software, enabling developers to focus on the core business logic code. .NET protects programs from interfering with each other, and allows program behavior to be certified as compliant to safe computing standards.
The .NET Framework is composed of the CLR and a unified set of class libraries. The CLR is responsible for run-time services such as language integration; security enforcement; and memory, process, and thread management. In addition, the CLR features strong type naming of variables, cross-language exception handling, and dynamic binding. These features reduce the amount of code that a developer must write to turn business logic into a reusable application component.
.NET base classes provide standard functionality such as input/output, string manipulation, security management, network communication, thread management, text management and user interface design features.
The multiple-language capability of the .NET Framework enables developers to use the programming language that is most appropriate for a given task or skill level, and to combine languages within a single application. Components written in different languages can consume functionality from each other transparently, without any extra work required from the developer. Support for the .NET Framework has been announced for more than 20 commercial and academic programming languages, including APL, Visual Basic, C#, C++, COBOL, Eiffel, Forth, Fortran, Java, J#, Prolog, Pascal, Delphi, Perl, Python, and RPG.
The .NET Framework also improves the performance of typical Web applications. The Middleware Company, founders of the leading J2EE developer forum TheServerSide.com, have conducted a benchmark test of the .NET Framework and J2EE, finding the .NET Framework to significantly outperform J2EE for Web application hosting, Web services, and distributed transactions. The .NET Framework also offers significant performance and scalability benefits over the previous ASP technology because of its "just-in-time" compilation and caching.
ADO.NET is the preferred data manipulation technology for .NET applications. ADO.NET provides consistent access to data sources such as Microsoft SQL Server, as well as any data source exposed through OLE DB, which includes almost all vendor DBMS and flat-file systems.
Applications can use ADO.NET to connect to these data sources and retrieve, manipulate, and update data. Results can either be processed directly, or placed in an ADO.NET DataSet object to be exposed to the user in an ad-hoc manner, combined with data from multiple sources, or remotely accessed between application tiers. The ADO.NET DataSet object can also be used independently to manage data local to the application, and sourced from or persisted to XML.
This allows applications to use occasionally-connected datasets as if they were connected to an RDBMS. This is important to mobile applications and to applications that must send transactions over the Internet. ADO Datasets can be used as if they were tables in a local RDBMS, and updates will be automatically applied to the actual DBMS when connection is reestablished.
Microsoft supports Extensible Markup Language (XML). XML is similar to HTML, but instead of describing Web page layouts, defines both the structure and the values of data. Like HTML, it is a subset of Standard General Markup Language (SGML), and thus a vendor-independent international standard.
Because it is based on ASCII characters XML is transportable across many systems. It is also extensible, meaning that applications can define their own types of data for their own purposes. Because it is self-defining, XML is becoming the standard for inter-application data exchange, and is the internal standard for information exchange within the .NET Framework.