As Microsoft .NET is getting more important, its concepts will also influence further development in other areas, like SAP NetWeaver. NetWeaver offers several mechanisms of integrating with .NET. It follows a selective list of .NET concepts I find important.
Cross Language Integration
.NET is not representing a single language. It is integrating many languages under one platform:
- C# (C-Sharp)
- Managed C++
- Visual Basic .NET
Notice that J# is not Java! There are tools available to convert native (SUN) Java code into .NET code. But I assume strongly that this conversion process needs manual redoing afterwards.
The .NET Framework Configuration tool shows the three main security configuration levels of Enterprise, Machine, or User.
With the .NET Framework Configuration tool you can manage the permission of the system.
Runtime Type Safety Checks
The runtime’s security enforcement mechanism ensures that it does not access native code unless it has permission to do so. For that code must be type safe. Java has a similar concept in general (namely, to forbid random access to native code), but implements it differently.
Common Type System
The Common Type System (CTS) allows large teams of developers to work on an application. Each team member can use any of the languages supported by the .NET Framework. That is, the CTS is sort of a global repository fed and used by the developers. It helps keep things consistent and avoid redundant definitions.
Attributes in .NET are similar to Annotations in Java (also see Annotations in Java).
In .NET you can easily convert a plain method to a method able to be used externally as a web service. Just add the attribute WebMethod to it and you are done. An example (as provided by Microsoft):
public String HelloWorld()
Having attributed the HelloWorld method that way it is ready to be called as a web service method.
Connectivity to Databases
Within the .NET framework the mechanism for connecting to databases is ADO.NET (fomerly known as ActiveX Data Objects). ADO.NET is supporting many databases and can be used easily as one was used to with ODBC. So the .NET mechanisms should be quite easy to understand for someone previously working with ODB, JDBC or even Delphi connectivity.
Concepts similar to Java
Without describing specifically, there are several concepts in .NET that can be found in Java, too. These include reflection, remote method invocation, web service directories like LDAP + UDDI, and messaging.
If you are a Java supporter I don’t see a motivation switching to .NET immediately, “just because .NET is there”. If you are a freelancer the decision is more easily: market preasure will show you the way… As an employee the strategy of your company (being embedded into and influenced by the market) will be the leader. IMO, it will be of significant relevancy knowing how to integrate .NET-based applications, services and components with your SAP NetWeaver platform.