.NET versus ONE


NO, its not a match that will be played in ICC world cup rather this is a conquest that will be held very soon in every software solution developer company be it large or small, in every programmer's mind be it senior or just a novice and at every place where programming has something to do, because this is a competition between two software giants - Microsoft and Sun Microsystems where former has appeared as .NET while later has introduced ONE. So, why all fuss about these two, what the heck these two are going to do and what new change they will bring to this world (if any). THAT IS WHAT WE ARE GOING TO SEE TODAY.

Every one of us knows that Microsoft and Sun are arch rivals, but at the same time they need some glue to hold their initiatives together, a way to communicate their current and future plans to companies that buy their products. Microsoft .NET and Sun ONE are that glue for each of the companies-the super glue that tries to hold together a lot of information around vision, architecture and products.

Microsoft .NET

Microsoft defines .NET as "software to connect information, people, systems and devices". This is a main idea. But wait, what does it mean, from information to people and from systems to devices its going to affect everything. Yes, its true and that is why it is said that .NET will have impact on almost every one of Microsoft's products and users.

Now, to connect all these four via software is not a child's play. How you can connect a java application being run on a Macintosh with UNIX as an operating system with VB application running under windows (of course) on an IBM machine. Previously, if you ask this question, the answer would be blunt NO WAY but .NET is going to make it possible. Before going into key features of .NET we need to understand how they made or will make this possible. A simple answer is "by following and adopting a standard" and which standard, yes it is XML. So how adopting a standard will make things easy to connect, let me explain with an example, your teacher gives you a programming exercise of making a program that prints square root of a number (I know you are a programmer of Bill Gates's standard but just suppose for a second) now if you implement this in C++ you will use sqrt() method that is defined in math.h header file. On the other hand if you make a similar program in Java you will use a similar named function sqrt() declared and defined in math class. But while programming in C++ can you use sqrt() of Java, or vice versa. Your answer would definitely be in negative but think if someone makes a standard math class that can be accessible and understandable for both the languages and if you have an IDE that understands both.....then here you are, using code of one language and employing library file\class of other is not a problem. That is what people at Microsoft did by defining standard classes and introducing a single IDE using XML standard.

Key points

  • Applications connect to each other using XML web services.
  • All products Office, Windows and so forth---will move towards reliance on XML.
  • NET Framework and Common Language Runtime (CLR) will serve as the common foundation for all development work done on .NET.

Now it is advisable to define two things, XML and CLR.

XML web services (or simply XML) are defined by World Wide Consortium (www.w3c.org) which is an international standard managing organization. Along with from Microsoft, Oracle, Sun and Borland with many others announced their support for products containing XML web services. XML refers to a language that is a child of HTML but advanced in a way that it has more power and extensibility with less complexity. It defines a standard way that makes documents both human and computer understandable. Now, what people at W3C observed was convenience by which the same document is understood by both humans and machines running different softwares. This was the inspiration and this lead to XML web services which now provides an easier and standard path to create methods that are understood and executed by different vendors' software at different machines. RMI(Remote Method Invocation), CORBA(Common Object Request Broker Architecture) were also the solutions for inter-company interaction but two reasons ; one their protocols did not work well over internet, two, programming above is really expert's job, gave XML web services an edge since its not only followed all over internet but also its lot more easier to program them.

Common Language Runtime is purely Microsoft's own idea and they says this would give language-independent, object oriented, virtual machine to programmer helping him to use any language of his/her choice to create .NET applications in windows environment.

Now how .NET has affected and\or is going to affect Microsoft's long line of products, this is our next area of focus.

.NET Products

When you visits Microsoft's website there is a long list of products, approximately more than 250, out of which only games and computer influence may not be under .NET umbrella. All the big names MS Office, Visual Studio, Enterprise servers and all of Windows variants are proud members of .NET force. Obviously we are not going to discuss what changes .NET framework has brought into all of the Microsoft's products but we are going to take a look on two or three.

Visual Studio .NET

Microsoft's standard Integrated development environment (IDE) is Visual Studio .NET. Previously we had different IDE's for different languages but now Microsoft has come out with a one standard IDE that will support Visual Basic.NET, C#.NET and C++.NET.

Yes! Isn't wonderful but that's not all .NET is Visual Studio.NET is offering you. Not only you can test and debug code of above languages in a single IDE, you can also use library files of each other as libraries and components of all the three languages are integrated into a common set which is called Common Language Runtime enabling programmers' flexibility, extensibility and reusability that was even beyond imagination before. Also testing utilities from Rational and Mercury are available in this single IDE hence opening ways for third party vendors to make their products .NET compatible. For those who are Java experts, J#.NET is built which also integrates strongly with Visual Studio.NET. Now you have development tool for building windows desktop applications, web applications, client-server applications, web services using four most powerful languages. I know this is programmer's mouth-watering for programmers.



.NET Enterprise Servers

Since adoption of .NET as a standard for all products, Microsoft gave a new look to its Advanced Server product line. Those which are among affected are:

  • Windows 2000 Server
  • SQL Server
  • Exchange Server
  • Commerce Server
  • Microsoft Project Server
  • Microsoft Operations Manager

Soon, Microsoft is going to launch Windows .NET Server 2003 in four colors:

  • Windows .NET Server 2003, Standard Edition
  • Windows .NET Server 2003, Enterprise Edition
  • Windows .NET Server 2003, Datacenter Edition
  • Windows .NET Server 2003, Web Edition

Windows

Right now, Windows XP is Microsoft's standard for desktop platform while Windows 2000 is Microsoft's server platform and both don't have .NET framework installed but soon Windows .NET Server will be released which will be a common platform for both kinds of applications.

One interesting thing that is presented by Microsoft in .NET is that applications which are meant for other operating systems like Solaris and Linux can now be integrated with applications being run in Windows environment using XML Web services.

Associated Products

Almost all big names in software industry are ready to port their products for .NET. COBOL, Eiffel, FORTAN, Perl, Python are joining .NET, in fact Microsoft states that more than 20 languages are going to be integrated into .NET soon. For instance, for COBOL programmers, Fujitsu has launched Fujitsu COBOL that is designed for porting old COBOL projects into new .NET framework. Similarly, ActiveState PERL has been launched for making Perl integrate into .NET.

Sun ONE

Sun Microsystems is a big name in computing industry with Java and Solaris as their main products. They have launched an Open Net Environment (ONE) recently with somewhat same targets as that of .NET but let us first see how SUN defines ONE;

"Open Net Environment is Sun's standards-based software vision, architecture, platform, and expertise for building and deploying Services on Demand." So, what does it mean and what are their targets. Well, first thing which developers of Sun ONE had in their mind was addressing the needs of distributed application development, which in their eyes is the area where whole industry is interested and intended to work in. The second thing is Sun's two major products; Solaris operating system and Java language, both are used not only in web services but also in customary client-server applications and mission-critical systems as well. Therefore, although ONE has a strong backbone of XML web services but at the same time they (Sun) has kept conventional applications services in it.

Key Points

  • Java is the basis of Sun ONE architecture.
  • XML web services are there in both Sun ONE and partner products.
  • Sun has remained loyal with its past standard and all the services that were previously provided, are there in ONE as well.

Sun wants to sell software, based on open standards, to connect all company's endpoints. Whether these endpoints happen to be huge SunFire servers running Solaris, Windows-based web servers, Windows desktops, Linux machines, or portable devices, Sun can help. Sun's history tells us that company likes to glue firmly with the standards and this is what they did here as well. Firstly, XML is a key part of Sun ONE, as you have support for creating objects from XML documents, accessing XML documents, parsing them, formatting XML and so forth. Then secondly, several standards are picked up; HTTP for Web server, IMAP, POP3 and SMTP for mail server, NNTP for news server et cetra. Then although Java is not a standard for server side programming but its distinguished quality of being portable, made it an ideal choice for the same. Also, J2SE provides a robust set of classes for implementing client-server applications, Java Server Pages, Java Servlet API and Java Beans for developing state-of-the-art web applications and services.

Products

Now Sun don't have that much amount of products that Microsoft has, so what they did they moved almost all their products under ONE umbrella and even renamed some products to include the term Sun ONE. We are putting a spotlight on three products.

Sun ONE Studio

Yes! Here comes rival of Microsoft Visual Studio .NET. This product was initially called Forte but to make it a member of Sun ONE family, it is renamed as above. Like Visual Studio, it's a single IDE for three languages; Java, C++ and FORTRAN. Obviously, this is a big achievement of Sun that they put in market something that is challenging one of the masterpieces of Microsoft---Visual Studio .NET. But at the same time, they are in dilemma. Before ONE Studio, Borland's JBuilder and IBM's VisualAge IDE were two top choices of Java programmers, as both Borland and IBM were key partners of Sun and had continually support Java for long. But now when Sun ONE Studio is in market, this is posing a challenge to partners--IBM and Borland's products as well.

Solaris

The latest version introduced Solaris 9 is a true part of ONE. Build on the tradition of a stable, high-end operating system most appropriate for databases, mission-critical applications and Internet infrastructure servers such as Web, e-mail or directory-Solaris 9 is a really a good choice for many. But at the same time, Sun does not require that companies using its Sun ONE products must deploy this on their operating system (Solaris) unlike Microsoft!


Similar Articles