Chapter 6 - Available Windows Technologies
The massive and ongoing investment in software research and development are another factor that make the Windows platform a strong candidate as a migration destination. The most significant innovations in the Windows platform are:
Windows Services for UNIX (SFU). This is a comprehensive set of tools supporting the integration and interoperation of Windows- and UNIX-based environments.
Visual Studio. This is the integrated development environment that delivers the capability to leverage these technologies.
.NET Framework. This is an application development and 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 through the Internet.
On This Page
Services for UNIX (SFU)
Customers can use SFU as a migration tool, for cross-platform system development, to integrate a heterogeneous UNIX and Windows enterprise network, or to run production UNIX applications on a Windows platform. SFU also incorporates network file system (NFS) client and server capabilities and provides user authentication integration including password synchronization between UNIX and Windows domains using either Network Information Service (NIS) or Microsoft Active Directory.
SFU includes Interix, a fully portable operating system interface (POSIX) conformant native subsystem running on top of the Windows kernel. Interix provides complete support for compiling and running UNIX applications in Windows, enabling enterprises to easily use and migrate existing custom applications. It also provides UNIX developers with full support for more than 2,000 UNIX APIs, enabling scripts and applications written to run under UNIX systems to transfer to Windows easily. Interix supports many open source tools including Perl, GNU compilers, Python, Emacs, and the Apache Web server.
For more information on Services for UNIX, refer to:
For more information about configuring and using SFU and to share interoperability knowledge with other users, subscribe to the Services for UNIX newsgroup:
For the latest Open Source tools compiled for SFU, and a forum for developers discussing porting issues, refer to:
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
For more information on Visual Studio, refer to:
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 on a local network or the Internet through standard, platform-independent protocols such as extensible markup language (XML), simple object access protocol (SOAP), and Hypertext Transfer Protocol (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. The .NET Framework protects programs from interfering with each other, and allows program behavior to be certified as compliant with safe computing standards.
.NET 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, with no 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 compared to the previous ASP technology, because of its "just-in-time" compilation and caching.
For more information on .NET, refer to:
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 on 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.
For more information on ADO.NET, refer to: