.NET acknowledges that the Internet is now the application platform environment. And Windows? Just a significant port in the storm.
        
        Inter.NET Initiative
        .NET acknowledges that the Internet is now the application platform environment. And Windows? Just a significant port in the storm.
        
        
			- By Michael Chacon
- November 01, 2000
There are significant changes afoot. I’m sure that’s 
        just what you wanted to hear, right? With Windows 2000 
        just getting under way, Microsoft is already looking forward 
        to restructuring how applications will take advantage 
        of the platform and how they’ll work in a more distributed 
        manner, even beyond Win2K. 
      The first step in this process, as always, is to bring 
        along the significant base of developers that builds the 
        applications and has always driven the Microsoft engine. 
        If the general reception of the developers at the recent 
        Professional Developers Conference (PDC) in Orlando is 
        any indication, there’s good news for Microsoft, tempered 
        as always with a wait-and-see attitude. 
      
         
          | 
               
                | 
                     
                      | PDC 
                        - A Developer's Conference? |   
                      | The PDC is a great conference to attend 
                          even if you’re not a developer. You 
                          can get a good understanding of where 
                          Microsoft is trying to go strategically. 
                          You also may gain a solid understanding 
                          of the underlying architecture of the 
                          components that comprise the Win2K operating 
                          system.  Finally, you can get Microsoft’s developers 
                          to tell you things the marketers will 
                          never divulge. It’s a great place to 
                          find out what’s really happening under 
                          the covers. If you know architecturally 
                          how something is supposed to work, then 
                          you have a good starting point for troubleshooting 
                          when it doesn’t work. |  |    | 
      
       
      Underpinnings of Modularity 
      
      Microsoft’s architectural underpinnings have followed 
        a fairly delineated pathæ starting from the old days of 
        shared memory to OLE to ActiveX to COM to DCOM. The thread 
        running through all of these has been the abstract model 
        of modular components that work together to create a functional 
        whole. Actually, this model has been the basis of the 
        core of the criticism that Microsoft’s products are bloated 
        with code. One of the natural results of the modular abstract 
        model is a larger code image. Win2K continues to follow 
        this model with what Microsoft first called the Digital 
        Nervous System Architecture (DNA), now changed to Distributed 
        interNet Application Architecture (same acronym). Recently, 
        Microsoft announced the Next Generation Windows Services 
        at various technical gatherings (such as the PDC) as the 
        .NET architecture (as in “dot-net”). Whew! Cool name, 
        but confusing and what does it really mean? 
      From the user’s perspective it’s the next step toward 
        the old Macintosh idea of a document-centric view of computing 
        rather than application-oriented. However, this time it 
        will manifest itself as a browser-centric world in which 
        modular distributed services provide functionality to 
        content living within the browser framework. The need 
        to cut and paste between applications-driven documents 
        will recede into the past as functions to modify data 
        are summoned based upon the task you choose from the browser. 
        At least this is the vision. But before you get too far 
        into this future, there are many things that need to be 
        put into place before users will see anything like it. 
        One of them is a ubiquitous Win2K environment. 
      Fundamentally, .NET is a continuation of the abstraction 
        of code into modular, multithreaded components. Along 
        with this is the idea of those components distributed 
        from memory space on a standalone computer, to a client/server 
        on a LAN, and now to small objects distributed across 
        the Internet. Can anyone say Java applets over a Java 
        runtime? 
      Of course, this is hardly a bold new idea, let alone 
        a singularly Microsoft one. This has also been the plan 
        for CORBA and Java from the friends at Sun and Oracle. 
        This has always been the battle behind the whole fat/thin 
        client war. However, Microsoft is trying to leapfrog this 
        idea beyond Java to include any “programming language” 
        as it has always characterized Java. Just as Ada, Pascal, 
        COBOL, and C before were designed to provide a common 
        programming language, Microsoft argues that Java is just 
        another language that should be in anyone’s quiver of 
        tools. Sun and company are trying to make Java and its 
        runtime engine essentially a replacement OS for the “bloated” 
        Windows. With the growing cracks in the Java family, and 
        with history as a guide, Microsoft’s view will probably 
        prove more accurate. 
      Windows Re-swizzle 
      The foundation for .NET in the Windows world is a runtime 
        engine that will sit on every Windowsill. Sound familiar? 
        The difference between Microsoft’s new Common Language 
        Runtime (CRL) and the Java runtime is that CRL will embrace 
        any mainstream language, including a wide variety of scripting 
        languages. 
      Does this mean the end of Windows as we know it? Of course 
        not. You don’t shoot cash cows. But it does re-swizzle 
        the mix. While .NET is best served up with Win2K, the 
        distributed objects can reside on any client that supports 
        HTTP—which is just about anything. There’s also the likely 
        possibility that one or more of the third-party developers 
        at the PDC will build a CRL for other platforms—such as 
        Solaris and Linux. 
      As previously mentioned, the base of .NET is the Common 
        Language Runtime. The CLR layer loads and runs code written 
        in any runtime-aware programming language that has been 
        compiled into the Internal Language (IL) format. This 
        includes Java; C++; C# (naturally), the new programming 
        language Microsoft created especially for .NET; Perl; 
        Visual Basic; and, amazingly, COBOL. On top of the CLR 
        is a service framework with libraries that can be called 
        from any of these languages, as well as access to network 
        services. 
      Security will be controlled, as with all Win2K services, 
        by access control lists (ACLs) associated with a security 
        identifier (SID). Therefore a service application will 
        have an identity associated with it that will control 
        access to objects and resources with the Win2K network. 
        Access to objects outside a particular security domain 
        will be controlled by the other platform’s security mechanisms. 
        The “applications” will be located through a directory, 
        such as Active Directory, and delivered as granular and 
        specialized black box functionality reached through URL 
        addresses. At this level, applications, or assemblies, 
        will communicate through HTTP and XML, the next great 
        panacea on the scene. 
      XML Connection 
      XML is designed to be the standard meta-language used 
        to describe and type data. It’s a generic and simple way 
        to bring any text formatted data into a structured and 
        typed format for use by dissimilar applications. Microsoft 
        is using XML to create a Service Description Language 
        (SDL), which it’ll use to expose its .NET services. This 
        will be accomplished by creating XML tags that are advertised 
        and accessible by any development language you prefer. 
        Another new developing standard that will be important 
        to .NET is Simple Object Access Protocol (SOAP). SOAP 
        is essentially an envelope that provides a standard way 
        to put XML across the wire. 
      Microsoft is exposing virtually every product it has 
        through XML. In fact, it could have called the new initiative 
        .XML and not lost too much in the translation. A cousin 
        of HTML, XML uses the familiar syntax to describe the 
        data instead of just formatting it. Using these XML tags 
        is how you define and structure the data types. XML is 
        rapidly being applied to different services from many 
        vendors and various applications. One visible example 
        is directory services with Directory Services Markup Language 
        (DSML). By creating and agreeing to well-known tags related 
        to directory services, you can open up interesting information 
        in proprietary directory services to other proprietary 
        directory services without caring how data is manipulated 
        underneath. 
      Since everyone and her mother is supporting it, be prepared 
        to see tons of XML in your future. This common denominator 
        is pushing the layer of OSI functionality up the stack 
        where it belongs, so the arguments don’t revolve around 
        OS saturation. Dissimilar platform communication will 
        be abstracted to HTTP and XML. The value-add will be in 
        the various underlying platform services. Sun will promote 
        Java and Microsoft will promote .NET, but the real competition 
        will be under the covers—where it belongs. While 
        our technical interest in competing systems will remain, 
        our practical concerns will be focused on mapping data 
        and applet functionality across these distributed computing 
        systems rather than arguing over the ideal platform. Well, 
        that discussion will never go away, but it will be minimized 
        as, say, the disagreements over Token Ring and Ethernet 
        have faded. 
      Another aspect of .NET to note is that Microsoft is making 
        moves to build .NET components that it’ll rent from its 
        servers across the Internet and plug into your system 
        as an application component. Time will tell how the pricing 
        model for software will shape up as the Internet continues 
        to develop and permeate society. 
      
         
          | 
               
                | 
                     
                      | Additional 
                        Information |   
                      | 
                          To learn more about .NET, 
                            visit www.microsoft.com/net. 
                            Right now, the offerings consist 
                            of paperware. You can read more about 
                            Directory Services Markup 
                            Language (DSML) at www.dsml.org. |  |    | 
      
.NET is a blatantly tacit acknowledgement that the Internet 
        is now the application platform environment, and Windows 
        is just a significant port in the storm. The trick for 
        Microsoft is how to completely leverage the omnipresent 
        Internet while holding onto and adding value to the Win2K 
        platform. .NET is an interesting strategy to do just that. 
        We won’t know until we see the real response from the 
        developers, which will be with actual products built with 
        forthcoming tools. Keep an eye on the horizon, because 
        you’ll have to support it; but you don’t need to change 
        your current plans. Those plans should still be focused 
        on building a distributed available enterprise anyway. 
        Regardless of who wins the next war, that’s certainly 
        the way we’re headed—whether .NET or .NOT.