MS .NET Programming - Educational Consultancy SYS-ED SYSED

Longstanding Expertise and Experience in Data Processing

MS .NET Application Development

.NET Training Sitemap

Submit .NET Questions MS Development Platform .NET Schedule
Definition of Service Delivery Medium Web-based Training Services

MS .NET Programming - Extended

Internet, Enterprise, and Mobile

Operational Challenge Client-specific .NET Training Requirements Application Development with Microsoft .NET
CLR: Common Language Runtime .NET Framework Guidelines and Best Practices
Copyright Acknowledgement

Operational Challenge

There are operational challenges and accompanying decisions which need to be made when evaluating the Microsoft .NET application development platform for extending and modifying an investment in information technology infrastructure.

IBM Mainframe System Software

Db2 stored procedures are a central component in database design. They can be defined to work with different types of parameters and be written for performing SQL generated tasks simultaneously with multiple database objects. These capabilities make stored procedures efficient, but can pose a challenge for access for application programmers. The IBM Data Server Provider for .NET addresses this with functionality support for direct access to the stored procedures through a .NET application.

Oracle Database Platform

Oracle interoperates with Windows Server System, .NET, and Microsoft Office. The Oracle database and Oracle Fusion Middleware can be used for developing Oracle applications on the Microsoft Windows, Active Directory, and .NET platform. The Oracle platform supports MS Windows native security.

SUSE Linux

Microsoft and Attachmate Group Inc. extended their interoperability and support collaboration agreement into 2016. Microsoft has released Linux device driver code to the Linux kernel community under the Linux preferred GPLv2 license. The Linux device drivers will allow Linux to run in enlightened mode with the same optimized virtual devices as a Windows virtual machine running on top of Hyper-V.

Client-specific .NET Training Requirements

Strategic decisions will need to be made with respect to the Microsoft .NET platform.

Over the past twenty plus years organizational enterprise has invested significant resources in the development of applications built on the Visual Basic 6.0 language and related technologies. There is a requirement to migrate and upgrade from Microsoft client-server applications to .Microsoft .NET. The Visual Basic 6.0 Upgrade Assessment Tool and Visual Basic Upgrade Wizard details the processes for preparing applications prior to the application of tools. There are limitations associated with the tools and what can be automatically upgraded. In most situations, manual techniques will have to be performed to complete the upgrade.

SOA: Service oriented architecture is a design approach for organizing existing information technology assets in order that the heterogeneous array of distributed complex systems and applications can be transformed into a network of integrated and highly flexible resources. In contrast to bottom-up and top-down techniques, Microsoft advocates a middle out approach to SOA in which efforts are driven by strategy and business requirement. Implementation is performed through incremental, iterative SOA projects which deliver one business need at a time. Microsoft introduced in 1999, the Microsoft Web services model and the subsequent .NET Framework and SOA tools and design approaches have been built into its application platform. A primary objective with each SOA project is to address specific business challenges and create solutions in iterative, incremental steps.

Application Development with Microsoft .NET

The Microsoft .NET Framework is used to access and manage a variety of data sources. ADO.NET includes data providers for connecting to a database and executing commands. Data can be transported over the Internet using XML web services or across process boundaries using .NET remoting. ASP.NET runs web applications using MS IE: Internet Explorer. ASP.NET includes facilities for managing session state, security, and HTML generation using ASPX. Server-side web controls can be matched using custom ASP tags. Web controls encapsulate reusable user interface logic and facilitate web programming.

CLR: Common Language Runtime

The CLR runs managed MSIL code. The unmanaged code is pointer-based and runs outside the CLR. The Windows operating system does not automatically support a CLR. The .EXE runs because the CLR is first loaded by the shell executable CLR host, which then runs the user program in the loaded CLR. A CLR host is an application that sits between the CLR application and the operating system process. The host is responsible for loading the CLR into the operating system process and creating logical partitions in the OS process so that individual applications can reside in those partitions.

Every CLR host comes with a piece of unmanaged code that must be run before it can load the CLR. In order to interact with the operating system for the first time, the CLR host must run some unmanaged pointer-based code. After this code is run, the CLR is loaded and the host creates a default partition for running managed code. A userís application is not run in this default partition; instead, the CLR host creates partitions for running these end user programs. Traditional applications are separated by OS process boundaries, and this means that one application to share resources with another application you must make an out-of-process application.

The .NET application domain provides partitioning within a single process in order that they do not directly share any resources. This prevents one application from affecting the execution of another application. Application domains are flexible and allow individual applications to be started and stopped without affecting the other applications running in the same CLR instance.

.NET Framework

The .NET Framework provides these hosts:

ASP.NET An ISAPI: Internet Server Application Programming Interface filter that ships with ASP.NET loads the CLR and does the initialization necessary to handle the Web request. ASP.NET serves as a servlet engine.
Internet Explorer IE: Internet Explorer is the equivalent of having a JVM inside the browser to run Java applets. Internet Explorer has CLR hosting hooks for running managed code that is directly referenced in the HTML.
Shell Executables When a managed application is launched from a shell, a small piece of managed code loads the CLR and transitions control of the application to the CLR.

The .NET Framework class library is a collection of reusable types that tightly integrate with the common language runtime. The class library is object  oriented, providing types from which managed code can derive functionality. Its utilization will reduce the time associated with learning new features.

The .NET Framework provides the capability to accomplish a range of common programming tasks such as string management, data collection, database connectivity, and file access. Categories of applications include: console, Windows GUI, WPF:Windows Presentation Foundation, windows services, APS.NET, and web services.

Guidelines and Best Practices

Interoperability Techniques

Information is provided for achieving interoperability between Visual Basic 6.0 and Visual Basic .NET. Portions of an upgrade to a project or application can be updated while other components remain in Visual Basic 6.0. The components left in Visual Basic 6.0 can then be upgraded at a later time.  There are limitations as to what the upgrade wizard supports in Visual Basic 6.0 language; explanations are provided regarding the support behind each process or suggestion. Issues that require manual intervention are identified and explained.

Microsoft SOA Design Principles and Technologies

SOA needs to be built in order to create services with well defined business logic, appropriate granularity, and without excess interconnections in order to have an efficient and manageable implementation. Service and applications map to processes and specified business outcomes across functional areas of the organization. Shared processes require that ownership be assigned in order that it can be inventoried and managed.

Microsoft Phone 7 and Windows 8 Style Apps

Windows Phone manufacturers are required to provide a minimum of 256 MB of RAM for process execution. This threshold is a constraint that needs to be addressed when designing a web app for cross platform use on Microsoft Phone 7 handsets, Windows 8 style mobile devices, and porting to open web or other commercial device platforms. Microsoft has set the launch time performance for the Windows Phone OS to terminate an application that takes more than 10 seconds to load. The use of outside content alongside the assembly is the recommended practice for pages with images that are infrequently navigated to in an application. The images on these pages will not be loaded until needed. Localized strings should be placed in separate assemblies. If there are multiple pages in an application that a user can navigate to; but are not required at all times, they can be separated to different assemblies. The page can be referenced in the new assembly and loaded on demand. Removing the images, media, and XML files will minimize the size of application assembly. They will remain part of the XAP deployment, but will not be kept in the application assembly. The amount of code being executed at load time also will slow down the application loading. Code can be minimized by putting it into Constructors and Loaded events. Code also can be placed into an application event after the UI: user interface is drawn; the code can run on a background thread by handling the LayoutUpdated event and starting long-running processes in the handler. Any code running on the main UI thread blocks the UI interaction with the user until it is finished.

Copyright Acknowledement

Db2 is a registered trademark of IBM Corporation.

Microsoft Windows and .net are registered trademarks of Microsoft Corporation. Microsoft .net is the registered trademark associated with the intellectual property and software copyright of Microsoft Corporation. In order to distinguish the SYS-ED training service from Microsoft certification, the Computer Education Techniques course search engine and SYS-ED websites spells lower case "dot net" .NET in all upper case.

Oracle database is a registered trademark of Oracle Corporation.