Microsoft's ambitious .NET plan is a risky one, relying on unproven technologies, and requiring a "bet the business" leap of faith for developers. On the other hand it's really cool and just might work.
At the Microsoft Professional Developers Conference in July, Chief Software
Architect Bill Gates complained that the recent Microsoft.NET announcement would
not get good coverage in the press because it was all about infrastructure details
such as garbage collectors and the like. Then he quickly amended his own projection,
saying that Larry Ellison's recent interest in garbage might provoke more press
coverage. But just to be sure, Microsoft brought financial analysts out to Redmond
at the end of July for one more briefing on Microsoft.NET (Forum 2000 and PDC
having previously provided the grand overview and the technical details in late
June and early July, respectively). This time Microsoft opened the kimono a
little more and showed glimpses of how the next version of the Office Suite
would be tied into Microsoft.NET.
Now the fact that Microsoft stock was drifting downward toward new yearly lows
that could affect Microsoft employee options valuations this had nothing
to do with the timing of the briefing. Also the fact that the FASB will be requiring
repricing of stock options to appear on a company's financial statements absolutely
held no sway over the timing of the briefing. But it is notable that during
the two days around the briefing, technology stock prices were down over five
percent, but Microsoft's stock saw small advances both days. Perhaps there are
some hidden gems in those Microsoft.NET garbage details.
The Microsoft.NET announcement actually breaks out into four parts something old, something new, something borrowed, and something blue. The old is the supposedly "new" .NET Enterprise Servers, some components of which are rendered stale, if not obsolete, by the very ambitious .NET Framework. However, the .NET Enterprise Servers do bring renewed enterprise-caliber credibility to Microsoft, which I will explore in a moment.
The something new in Microsoft.NET is Web Services comprised of .NET Building
Block Services, plus proprietary and third party Web Services. Web Services
are again dependent on the new .NET Framework linked to a whole range of .NET
Building Block Services such as calendaring, messaging, authentication, and
validation to be provided by Microsoft on a Internet-wide basis. In addition,
there is a .NET Device component that allows Web Services to communicate with
any new handheld, cell phone, or other so-called Web Appliance in as transparent
a fashion as possible. However, .NET Devices is the least defined of the Microsoft.NET
components. Similarly, .NET is still evolving, making it difficult to get an
exact profile of the .NET Building Block Services and details of when they will
become available, what the charges for them will be, and how they fit into the
Web Services development environment.
The something borrowed in .NET is the aforementioned .NET Framework. In a tour de force of Microsoft-type innovation, the company has embraced and extended Sun's Java blueprint in some technically astute ways. First, Microsoft engineers have borrowed the strengths of Java and created a new, and yes improved, programming language called C# (C sharp). C# retains most of the simplicity, security, and ease of development of Java, borrowing most of its keywords and much of its syntax directly from Java. But C# improves on Java's lack of interoperability with other languages and components. C# also adds much better compile-time manageability, plus a half dozen other improvements large and small.
But there are some downsides. C# reopens the pointer and memory management can of worms and currently lacks Java's cross-platform portability, several deployment modes, and comprehensive API. These shortcomings tend to cause some analysts interviewed at the PDC to dismiss C# as either too little or too late or both. Sun should be so lucky.
Another aspect of Java borrowed by Microsoft is the Java Virtual Machine (JVM).
Microsoft's counterpart, the Common Language Runtime (CLR) is the new executable
environment for all Microsoft programming and scripting languages not
just C#. This is one innovation CLR has over the JVM. Now, Microsoft emphasizes
that CLR is not an interpreter like the JVM. However, just like the JVM, the
CLR provides garbage collection services, type validation, assignment checking,
plus a host of optional security and exception-handling services (the second
value-add of CLR over the JVM). So having endured the slings and arrows of outrageous
jibes from Sun's CEO Scott McNealy, Bill Gates has his troops pay Sun the ultimate
IT compliment imitate and extend their Java system for Microsoft's own
purposes. The plan has a luster of brilliance, but first one has to examine
the Blue in .NET.
The Blue in .NET is Microsoft's getting IBM to co-sponsor the new SOAP extensions
to XML before the Internet standards body, W3C. SOAP along with SCL and XLANG
(Microsoft is alone on these latter two, so far) are the third part of the .NET
Framework. XML has become the darling technology of the B2B and Internet set
because of its simple yet transparent data interchange capabilities. SOAP adds
transparent method-call capabilities to the XML resume. Even better, XML and
SOAP are cross platform, running on Windows, Unix, Linux, OS/390, and soon dozens
of other platforms. This fills a yawning gap that Microsoft's own distributed
processing technologies, COM and DCOM, have failed to fill. And while Microsoft
touts IBM co-support of its move to complete and open XML standards, Microsoft's
own Internet Explorer fails yet again to meet Microsoft's three-year-old pledge
to implement comprehensively other W3C standards like HTML 4.0, DOM, and CSS.
A press type at PDC asked, "Is this IBM snookered again á la OS2 and
Windows?"
.NET is not pure gold to Microsoft, because it creates three major problems.
First, the critical technology for .NET is still under development. Visual Studio.NET,
which unleashes the programming capabilities for third-party and user development
of .NET systems, is six to nine months from delivery. As noted previously, the
.NET Building Block Services and .NET Devices software are also still being
refined. The result is that Internet developers, all of whom need to deliver
yesterday, are being asked to wait or use beta, alpha, and partial release software
in the interim. Not good.
Even worse, .NET renders obsolete such Enterprise Servers as Commerce Server
2000, and BizTalk 2000 prematurely ages to varying degrees all the other servers
even before they get introduced. Why invest in Commerce Server when the underlying
technology will be changing (and substantially) in six to nine months? Ditto
for BizTalk. Because Commerce Server is a follow on, it will be introduced in
two or three months so existing customers can get technology updates and a bit
of a preview of what's to come. On the other hand, BizTalk is being delayed
six to nine months to coincide with the availability of Visual Studio.NET (its
key maintenance and support software), plus better-defined .NET Building Block
and Device services. This rapid obsolescence could not come at a more inopportune
time because the .NET Enterprise Servers, particularly SQL Server 2000 and Exchange
2000, will be delivering enterprise-caliber reliability, scalability, and/or
security improvements.
But the third problem is perhaps the most serious. The rate of change in the
IT business is so high that companies are deliberately going slow on enterprise
technology updates. IBM, Oracle, Novell and other software vendors along with
Microsoft have all experienced this phenomenon the rate of adoption of
their latest technology is slower than in previous generations. Despite financial
incentives and compelling technical features, enterprise software like server
operating systems, databases, web application servers, and others get adopted
more slowly. Partially this is due to the complexity of current enterprise software,
which must be not only client/server-, but Internet-ready. Conversion can be
costly and time consuming because it effects all aspects of an organization's
IT operations; so organizations tend to freeze one or two of the software technologies
say the OS and database while changing the web application server.
Yet Microsoft is in effect asking users to change all at once with its wave
of seven new .NET Enterprise Servers, plus Windows 2000. Second, the shortage
of trained IT personnel is worsened by the rapid change in hardware and software
technologies. .NET represents a major programming change. Bill Gates rightly
described it as "bet the business"; but that applies equally as well to programmers
from Rimouski to L.A. it's "bet the career." To organizations large and
small, it can also be a case of survival against the dot.com invasion. So more
than ever before, enterprises will be adopting new software at a rate that might
not coincide with a company's EPS growth targets.
Despite these provisos, there are some flashes of luster in the .NET tailings.
First, as noted above, the .NET Enterprise Servers do bring enterprise-caliber
reliability, scalability, and security to the table. Until now, Microsoft has
relied on better price/performance compared to Unix, more third party applications
with legions of developers, and better usability to carry the day. With the
.NET Enterprise Servers, reliability, scalability, and security are the selling
points. For example, SQL Server 2000 now bests archrival Oracle for the first
time in the industry standard TPC database benchmarks by a factor of two while
improving reliability and security. Likewise, Exchange 2000 will shore up the
scalability and reliability of Microsoft's mail and messaging server while adding
impressive new features. Similar arguments can be made for the other five .NET
Enterprise Servers.
However, the most glaring hole in Microsoft's Enterprise offerings has been interoperability and security. As previously noted, COM and DCOM despite the efforts of Microsoft and a host of third party developers has not been ported to Unix and other OSes in a timely and comprehensive fashion (a mirror reflection of Microsoft's problems with implementing Internet standards). The result is that in the Internet era where software has to be promiscuous willing and able to interface with other enterprise systems and components on any other organization's computing platform Microsoft's COM and DCOM runs well behind the proven interoperability of CORBA, Java RMI, and other vendors' enterprise software.
In the area of security, Microsoft has been in the position of regularly wiping
egg off its face, with hackers and virus attacks such as the Melissa Virus and
ILOVEYOU taking advantage of security holes in Microsoft's OS and programming
and scripting languages. In addition, IT administrators are not enamored of
such recurring Microsoft reliability and security problems as .DLL hell, registry
dysfunction and high failure rates. .NET Framework with C# plus XML and the
Common Language Runtime are designed to attack and eliminate these problems.
C# plus XML with its SOAP and SCL extensions certainly do promise to make Microsoft
programs much more interoperable and secure. CLR is most interesting because
it brings scripting languages, the biggest security hole in Microsoft's software
platform, under the strict control of a central executable environment. CLR
will not only reduce scripting security risks but also boost their runtime performance
with a just-in-time compiler available through the CLR to boost runtime performance
something not available to most other scripting languages. CLR reduces
security vulnerability by allowing a hierarchy of security options of greater
safety to be applied depending on the executable's intended usage. The result
is greater security while reducing chances of .DLL hell or inappropriate registry
settings. At the same time, Microsoft programs and scripts become more interoperable
because they share the same managed executable environment with its highly interlinkable
features.
In fact, Microsoft says that it intends to port C# and CLR to other Real Time
Operating System (RTOS) environments. Now here comes the real shine in .NET.
When repeatedly asked what prevents C# and CLR being ported to any operating
system (say Unix or Linux), often with wry smiles Microsoft officials, often
with wry smiles, said "nothing." This means the .NET Framework of C# and CLR
makes Microsoft software not only highly interoperable but also portable. So
if Linux takes off, Microsoft software will be there. If some .NET appliance
software/hardware combination skyrockets Microsoft software can quickly
move there. And if the DOJ splits up Microsoft, C# and some portions of CLR
are already pledged to be standardized through the European organization, ECMA.
So the two Baby Bills would have free access to the same programming language
and development base; and all this with the help of the shining example of Sun's
Java.
Now the Microsoft.NET announcement may have been a garbage detail; but as can
be seen, there is some real brilliance in Microsoft's strategy. During its current
antitrust legal fiasco and inevitable loss of executive talent to dot.com start-ups,
some pundits questioned whether Microsoft had lost its technical savvy. The
.NET Framework alone should put that argument to rest. In software, generally,
and in enterprise software, particularly, Microsoft has only two possible rivals
not Computer Associates or Novell or Oracle or SAP or SAS or Sybase
just the erstwhile tag team of IBM and Sun. These two alone have the requisite
basket of operating system, office suite, programming language, database (Sun
is out here) and web application service software that is necessary to match
Microsoft's potent bundling/suite capabilities. Just as a refresher, Microsoft
Office Suite knocked off Lotus, Word Perfect and a host of sometimes-functionally
better desktop application software vendors. Likewise, Visual Studio has reduced
the once-vibrant programming and development-tools market to a shadow of its
former vigor. And Back Office Suite is doing the same in the server operations
software market. But in the enterprise software market, Microsoft has always
conceded some combination of interoperability, portability, reliability, scalability
and/or security to its rivals. With Microsoft.NET, it is serving notice
No More.
Terms of Service | Privacy Statement | Copyright © 2024 UBM Tech, All rights reserved.
August 01, 2000
URL:http://www.drdobbs.com/the-microsoftnet-strategy-risky-brillian/184404428
Four Opinions in One
The Bluster in .NET
The Luster in .NET
Built to Scale
Jacques Surveyer is a writer, web developer and mentor; he can be reached at
[email protected]