Issue dated - 7th July 2003

-


Previous Issues

CURRENT ISSUE
INDIA NEWS
STOCK FILE
INDIA TRENDS
NEWS ANALYSIS
OPINION
INDIA COMPUTES!
E-BUSINESS
COMPANY WATCH
TECHNOLOGY
TECHSPACE
PRODUCTS
COLUMNS
TECH FORUM

THE C# COLUMN

BETWEEN THE BYTES
TECHNOLOGY
SPECIALS <NEW>
Symantec Report
Security Headquarters
JobsDB
MINDPRINTS
HMA BANKBIZ
EC SERVICES
ARCHIVES/SEARCH
IT APPOINTMENTS
WRITE TO US
SUBSCRIBE/RENEW
CUSTOMER SERVICE
ADVERTISE
ABOUT US

 Network Sites
  IT People
  Network Magazine
  Business Traveller
  Exp. Hotelier & Caterer
  Exp. Travel & Tourism
  Exp. Pharma Pulse
  Exp. Healthcare Mgmt.
  Express Textile
 Group Sites
  ExpressIndia
  Indian Express
  Financial Express

 
Front Page > TechSpace > Story Print this Page|  Email this page

Windows 2003: Developer benefits

Tech Forum - Dr. Nitin Paranjpe

All customers are a bit apprehensive about new versions. And rightly so. Very often upgrades are sold indiscriminately by vendors without assessing real customer needs. It is quite common to see IT decision makers wondering "why did I ever make this version upgrade decision?"

"Do I really need to upgrade to Product X version current + 1, and when?" This is a common question. However, the answer to this question needs a full article by itself. I will cover it sometime in later articles.

Why this topic?

For now, I want to highlight specific features of Windows 2003. But why developer benefits? The natural topic to cover would have been administrative benefits.

The common perception is that Windows is a base OS. So why would it have any implications for developers? The reality is different. Windows 2003 has added many features that have great benefits for developers and architects.

The usual information available will typically harp on the administrative and deployment benefits. Hence I thought I will highlight the development benefits.

The problem

Most developers work with tools like case tools, databases, components, programming languages, Web scripting and so on. Although these run on top of the OS, developers rarely use the OS directly. Therefore, showing incremental benefits of a new version of an OS is more difficult. This is because the base developer benefits of Windows 2000 as a platform may not even be visible to a large number of developers and architects.

While consulting and auditing a large number of custom applications as well as packaged products, I have observed very little functionality of the underlying OS being used by developers.

This is an additional reason to talk about the new release. Being aware of features is the only way of ensuring effective utilisation.

So much for the introduction. Now let us dive into the functionality. There are a lot of features. Therefore, detailed explanations on each of these is not possible. However, I have tried to unearth features and provide a developer/architect perspective for each of these.

Active Directory

This is probably the most useful benefit to developers even within Windows 2000. However, a depressingly large number of applications are developed without Active Directory integration. I really wonder how to reconcile the huge gap that exists between the core developers who dedicate their lives to a particular feature set (like Active Directory) and the end users (developers) who simply ignore the possibility of using these features!

The only feasible way of making sure features are utilised is to make everyone aware about the potential usage benefits.

Ideally, Active Directory should be the default authentication and authorisation mechanism used across applications within an organisation. However, all of us still end up using local tables containing user passwords for authentication. Pathetic!

Deactivation of attributes / classes

A new feature is the ability to deactivate attributes and class definitions in Active Directory. Using this feature, it is possible to change the AD extensions without losing their identity.

LDAP features

Fast bind and connection reuse has now been added. Many Web applications use Active Directory as an authentication store. Fast binds allow a Web, or any other application, to request simple authentication verification from Active Directory without generating Windows-specific authorisation information resulting in increased performance of these applications. An application may also re-use an initial connection to the directory for multiple queries on behalf of different users. This also results in increase performance since the application does not have to re-establish a connection for each query.

Application Directory partitions

Some directory information does not need to be made globally available. This feature provides the capability to host data in Active Directory without significantly impacting network performance by providing control over the scope of replication and placement of replicas. Using this feature it would be possible to write application specific data to application specific partitions rather than writing it to a domain partition.

Active Directory Migration Tool (ADMT)

Migrating to Windows 2003 from Windows NT or Windows 2000 is a critical and massive task for large organisations. The processes involved in migrating users, rights, passwords, etc from older to newer system can now be scripted using VBscript or any other language that supports COM. This opens opportunities for developers/administrators to perform complex repetitive tasks automatically using the object model. It is also possible to perform most actions using command line switches either directly or in batch files.

Application services

Enterprise UDDI

Until now, we had to use third party UDDI services. Now, developers can setup and use organisation specific UDDI. This functionality is bundled with the base OS now. I would say, this is a great opportunity for creating and really reusing organisational code base.

COM was there for years and now it is gone. Now it is replaced with the great .NET. However, the componentisation and reuse of business logic across applications within organisations or within packaged applications is alarmingly low. Whether it is DCOM or Web services, the concept of identifying reusable logic/functionality and making it available for other consumers is the same.

If we goofed up during DCOM, never mind. It is anyway outdated now!!! But now let us use this opportunity to find reusable stuff within the organisation/application and actually reuse it in the right way.

Enterprise UDDI service is a boon for such reuse projects. As the organisation grows, more and more services would be listed. This makes further development potentially minimal.

.NET framework

Finally, the .NET framework is shipped as a part of the operating system. The ASP.NET Simple Web Service creation feature provides the ability to create an application without the need to add service infrastructure code to the application.

New developer APIs

Windows Server 2003 introduces a number of new Application Programming Interfaces (APIs), making it a more efficient and flexible development platform. These new APIs include:

— Managing IP Security: Windows Server 2003 includes a local system management API to control Internet Protocol (IP) Security (IPSec).

— User Token API: The new user token Application Programming Interface (API) is provided to enable a method to get the user’s token. This is commonly needed for cross session communications when an application needs to perform an action in the user’s security context.

COM enhancements

This enhancement of Common Object Model+1.x (COM+ 1.x) enables you to configure a COM+ server application as a service and implement the service as a COM+ server application. This provides more control over COM+ application startup. Marking the application to run as a service means that the component’s Dynamic Link Library (DLL) is loaded into memory when the system boots. This results in making a COM+ application highly available and enables it to be installed on a clustered server.

Process recycling

This enhancement enables you to configure process recycling administratively through the COM+ User Interface (UI), or programmatically through the COM+ administrative Software Development Kit (SDK). Processes can be shut down or recycled based on several criteria, including elapsed time, memory usage, number of calls, and the number of activations.

This is a great feature that ensures that misbehaving applications can now be automatically detected and shutdown.

Automatic backward compatibility mode

Compatibility Mode functionality provides an environment that more closely reflects the behavior of Windows 95, Windows 98, Windows NT 4.0, or Windows 2000 operating systems. These modes resolve several of the most common issues that prevent older applications from working correctly. Applications that experience problems after migration might benefit from being started in one of these compatibility environments. Advanced users can also take advantage of this technology to create solutions for their own applications.

ASP.NET integration with IIS 6

ASP.NET is integrated with the IIS 6.0 process model and leverages the support for multiple application pools. This means individual ASP.NET applications are isolated and communicate directly to the kernel mode http listener. This leads to reduced number of process hops and allows ASP.NET applications to leverage kernel mode file caching. In short applications are sturdier and have higher performance.

Passport integration

Now it is possible to integrate .NET Passport authentication with Active Directory. This means, the entire authentication code, logic, maintenance, performance management is now managed by .NET Passport mechanism. This also means you do not need to write and manage all this code.

Protocol transition capability enables any authentication on the front-end Web server to be transitioned to Kerberos in the backend.

IIS 6

IIS 6 fault tolerant application pool

IIS 6.0 is based on a new request processing architecture that provides an application isolation environment that enables individual Web applications to function within their own, self-contained Web service process. This environment prevents an application or site from stopping another and reduces the amount of time administrators need to spend restarting services to keep applications healthy. This capability enhances the availability of IIS by making the server harder to bring down. Scalability improvements and support include Network Attached Storage (NAS) support.

IIS WMI based programmability

Windows 2000 introduced a new means of configuring the server and gaining access to important pieces of data such as performance counters and system configuration – Windows Management Instrumentation (WMI). To leverage WMI capabilities such as query support and associations between objects, IIS 6.0 now has a WMI provider that provides a rich set of programming interfaces that offer more powerful and flexible ways to administrate your Web server. The IIS WMI provider provides similar functionality to the IIS ADSI provider for editing the metabase.

Dynamic content caching

Earlier, content caching was applicable to static content. IIS 6 now implements of a kernel mode cache for dynamic content. The benefit to this feature is that many customers have programmatically created content that doesn’t change. In previous versions of IIS, the requests had to transition from kernel mode to user mode for every dynamic request and the responses had to be regenerated. Eliminating this transition and pulling the cached content from the kernel mode cache results in a substantial performance improvement.

Unicode ISAPI support

Multilingual applications are becoming more and more common. Due to the non-Unicode structure of the HTTP protocol, IIS 5.0 limits the developer to the system code page. With UTF-8 encoded URLs, Unicode becomes possible. IIS 6.0 allows customers to get to Server Variables in Unicode and adds two new ServerSupportFunctions to allow developers to get to the Unicode representation of an URL. Developers working with multi-language sites benefit from this feature and improved development experience.

Security

Windows Installer digital signature support

Digital signature support enables Windows Installer packages and external cabinets to be digitally signed. This lets IT administrators provide a more secure Windows Installer package, which is especially important if a package is sent over the Internet. This also allows Windows Installer Packages to honor the new Software Restriction policy settings for specifying what applications can be used.

Impact of file system security tightening

Although this is not a developer feature, it impacts application development and setup. Therefore, there is a need to highlighting it specifically. Windows 2000 provided Full Control to the ‘Everyone’ group in the root directory of hard disks. Like this there were many areas where the impact of the access rights of the currently logged user was never a cause for concern.

In Windows 2003, all these vulnerable areas have been tightened. Moreover, the setup and logo requirements are also more stringent.

For example, the only place where you can assume a typical user to have full control is the profile directory! Nowhere else.

Similarly, a user can have read write registry access only in HKEY CURRENT USER.

These things can impact the setup as well as running of your applications. There are test tools available to validate the compliance. More information on this topic is available at the Windows 2003 site on .

Cross-Forest trust

If you’re working with a partner or company that has an Active Directory forest deployed, you can use Windows Server 2003 to set up a cross-forest trust between their forest and yours.

This allows you to explicitly trust certain, or all, users or groups in the other forest. You also have the capability to set permissions based on user or groups that are resident in the other forest. Cross-forest trusts make it easy to conduct business with other companies using Active Directory.

Users can securely access resources in other forests, using either Kerberos or NTLM, without sacrificing the single sign-on and administrative benefits of having only one user ID and password maintained in the user’s home forest.

Evaluating your own scenario

There are a lot more features. But due to space constraints it is impossible to cover each of them. Now that I have highlighted the most relevant features for developers, here is your checklist:

1. Ask yourself if you have evaluated the benefits of your current OS platform. If the answer is no, analyse it now. I am sure you will find some features within existing platform (Windows 2000 typically) that are beneficial to you.

2. Think of your business and application context. Read up on all features of Windows 2003 and try to think whether that feature is useful for you. If yes, you need to also document the business benefit, administrative benefit or developer benefit for each of the features.

3. Then analyse the list and quantify the business benefits.

4. If this analysis makes business sense, go ahead and prepare for the upgrade as well as migration of specific features of your application.

About the Author:Dr Nitin Paranjape is the Chairman and MD of Maestros (Mediline). He is a consultant with many organisations, covering appropriate technology utilisation, business application of relevant technology, application architecture and audit as well as knowledge transfer. He has authored more than 650 articles on various technology-related subjects. He can be contacted at nitin@mediline.co.in
<Back to top>


© Copyright 2003: Indian Express Group (Mumbai, India). All rights reserved throughout the world. This entire site is compiled in
Mumbai by The Business Publications Division of the Indian Express Group of Newspapers.
Please contact our Webmaster for any queries on this site.