Microsoft Corp.'s .Net framework provides a multi-layered application development platform ideal for building XML-based (Extensible Markup Language) Web services, a Microsoft engineer emphasized during a keynote presentation at the Software Development Conference and Expo on Wednesday.
"The .Net framework was built really to support XML Web services," said Anders Hejlsberg, Microsoft distinguished engineer and chief designer of the C# programming language.
The .Net platform, featuring the Visual Studio.Net development tool, exceeds previous Microsoft programming systems, such as Visual Basic and C++, but the platform can incorporate these technologies, according to Hejlsberg.
"We know that our underlying technology was not rich enough," said Hejlsberg, adding, "It was not a particularly friendly world to program in."
Determining the company could not move to XML and Web services in an evolutionary fashion, the company then devised the .Net framework, Hejlsberg said.
.Net, Hejlsberg said, incorporates a layered architecture featuring a common language run time on top of an operating system and also includes layers for base-class libraries for data access, Windows forms, an application server, and ASP (application service provider) services. A unified programming model also is featured, supporting languages such as Visual Basic and C++.
"Your choice of programming model also is your choice of programming model, so to speak," Hejlsberg said.
Varying from the Windows API programming methodology, .Net "is a much more pay-as-you-go model. All of the capabilities are still there but we don't shove them in your face right up front," said Hejlsberg.
Absent from Hejlsberg's presentation, however, was any mention of the rival Java programming environment, other than a graphic noting support of Microsoft's J# Java programming tool. This omission did not go unnoticed by two audience members employed as software engineers at Boeing.
"I didn't see anything about Java" and did not expect to, said one of the Boeing engineers, both of whom did not want their names published.
Although the engineers, both Unix and C++ programmers, said they were interested in .Net, one expressed concern about the framework. "It's Microsoft," the engineer said. "How much are they controlling it?"
Hejlsberg, however, extolled the virtues of .Net, which he said enables developers to focus on writing applications and building better algorithms.
"In .Net, everything can be treated as an object," he said.
Additionally, objects are implicitly garbage collectors, so programmers do not have to worry about freeing up memory for this purpose, said Hejlsberg. Also, the exceptions function encompasses all error handling, and error handling itself becomes mandatory.
"If you don't handle them, we shut your application down," Hejlsberg said. "That dramatically increases the reliability of the system."
Support for multiple Web services standards such as SOAP (Simple Object Access Protocol), UDDI (Universal Description, Discovery, and Integration) and WSDL (Web Services Description Language) are included. XML and SOAP can be paired for communication between .Net systems and other platforms. Programming objects can be turned to XML for on-wire trafficking, Hejlsburg said.
"It really speaks as to how well XML is embedded in the .Net framework," Hejlsburg said.
Type safety for programming is enforced so that developers cannot hold a reference to one object and cast it to another type of object, said Hejlsberg. There also is a zero impact install feature in .Net, he added.
The Web functionality of .Net enables incorporation of legacy code such as Cobol, Hejlsberg said. "With Cobol [included] on a .Net framework, you can actually write Cobol embedded in a Web program," he said.
"For Cobol programmers, that's pretty dramatic," said Hejlsburg.