As Managing Director of Microsoft India Development Centre, Srini Koppolu and his team is responsible for developing new products that are either independent or crucial to what the Redmond R&D centre develops. In the concluding part of our .Net series, CIOL had an elaborate chat with Srini on the various technologies used in the latest project. What came out was an interesting peep into the future. Excerpts:
By Manoj Chandran and Krithi Aiyappa
Is the Microsoft India Development Centre involved in the .Net project?
Yes. We are working on a product, the details of which I cannot share at this moment. It will have its own set of framework. There is very little that I can speak about.
When will it be launched?
Sometime next year.
Will it be an independent product?
Yes, it will be a product by itself.
There are two basic concepts that seem to be driving the Dot Net — XML and SOAP. I also understand that Microsoft relies on other industry players in a big way for the adoption of these technologies. How much do you think Microsoft will succeed?
I think XML is already a default standard and almost all companies support it and HTTP is also a common standard. SOAP is nothing but XML on top of HTTP. It is basically an object based interoperability protocol and its key benefit is that it does not require any company’s protocol stacks to be installed on the machine. For instance in the case of DCOM you will need a DCOM stack, if it is CORBA, you need a CORBA stack. However, SOAP requires no stack to be installed. Moreover, HTTP, which SOAP uses, is a universal protocol and irrespective of the machine, you can talk through HTTP. SOAP is basically encoding methods, arguments and their values (in fact, everything) in XML format and sending them across using HTTP. In fact, any one can implement SOAP handlers, either on a caller side or a callee side, in a weekend. That is the beauty of SOAP. That is why many companies are standing behind SOAP. As a protocol, it is gaining acceptance. But, you need the tools to be able to use it. Microsoft, as part of Dot Net, is developing tools under VS.net.
Do you expect industry to develop enough tools for SOAP to be popular?
Definitely yes. Once VS.net is ready, building Web services is going to be a straight forward process. We expect an explosion in this area.
Why has Microsoft chosen C# as the language for the Dot Net framework?
C# has the power of C and C++ and the productivity gains of Java as a language.
Developers who have worked on Java and have seen C# say that the latter is strikingly similar to Java.
No. No. It’s not. You see there are of course nice concepts in the Java programming language, some of which got picked up from the existing ideas and framework used in the industry. Similarly, whatever is good (in Java) has been used. We do want to have productivity gains but we do not want to compromise on the performance aspects. We do not want to get stuck to one programming language.
What would be the status of COM and DCOM under the Dot Net architecture?
In Dot Net, we have the Universal Runtime (URT) as the underlying framework.
If we have a COM object the engine (URT engine) will take any COM object and make it appear as a URT class. The engine does an automatic wrapping of COM objects into URT classes. So, looking at COM, it has a tremendous install base. There are so many applications and components built on COM and they are not going to go anywhere. The goal is not to scrap them and start afresh.
COM means that no matter what programming language you use, we want the objects to be interoperable in a standard way. And you have URT, which has features like garbage collection, interception and transaction support. Why should they be limited to one programming language? We should open it up. Let the developer decide on the language and get the benefit of this runtime. No matter what language you have used to write the code, it gets converted into Intermediate language.
Will the compatibility with Dot Net be also extended to other component architecture such as EJB and CORBA?
No. No. That is not possible. However, CORBA to COM conversion is possible. The tools are available. Once the bridge is installed, then the objects will be read as COM components, which can be read by the URT engine.
Does this mean that you want everybody to use COM?
No. No. It’s not that. We can’t solve the whole world’s problem. There are different component architectures.
In the .Net world, what happens to Microsoft’s COM and DCOM initiatives?
Is the distributed computing aspect of .Net en extension to COM? What happens to
those who are using competing distributive computing technologies such as CORBA?
COM/DCOM is the building block. They can be integrated in .Net. COM/DCOM will
not go away. We will continue to work on COM. On the Web server, we will
continue to work with components. DCOM, however, will be replaced with XML/SOAP.
There are still many business applications built around COM. SOAP and XML may
not be a good idea in a closed environment, here COM may be the answer.
Why should other companies accept XML and SOAP as standards?
Today, no two Web servers can communicate. This will become possible with XML
and SOAP. While XML has already been accepted as a standard, once people
understand the advantages of working with SOAP as it is platform independent,
this will also be adopted. It has already been accepted by IBM.
What is the status of Java in the .Net framework? C# looks a lot like
Java, have you incorporated anything from Java?
We have not taken anything from Java. One of the key points of .Net is that it
is language independent. Irrespective of the language you write your code in —
be it C, C#, Java Script, Visual Basic or for that matter even COBOL — you get
a pseudo machine code called intermediate language, which is executed on the
.Net framework. The same code can run on multiple devices–PCs, pocket PCs,
phones etc. There is no (specific) runtime (for the codes). You can also have
multiple executables running on a single process.
C# was created from C++ with some extra features, such as automatic garbage
collection.
When do you think the acceptance of .Net will be complete?
It is an evolution and would not be completed. Some of the .Net framework is
being accepted. It is not before 12-18 months that we will see major adoption of
the framework and products coming up.
From the Microsoft side, you will see Office.Net and the .Net version of
Windows 2000 being released during the end of 2001. Visual Studio is expected in
the second half of 2001. Parallel to this, you will see us supporting several
devices such as smartcards, in the .Net framework.