Where is the world of geographic information?
In the field of GIS development, development from the underlying to the application system, from the data acquisition to spatial analysis, from a single machine to the network release, do we really need .NET or J2EE? Despite a sound of drum noise, although there is already a conversion platform Successful precedent, we still need cool considerations and make careful choices. Because GIS shows the professional software in two major computer scientific research in the field, the application field is too wide, and our developers need to consider too much.
We can divide the development of GIS into several levels: data, basic software platform, application business logic, and data performance. In order to quickly build the GIS application system, the GIS platform developers provide a wide range of secondary development languages, such as ESRI AML, Avenue, Intergraph, and MicroStation Development Language (MDL), as well as MapInfo's Mapasic. These development languages have their own grammatical and structures that can only be operated in a fixed developer's software environment, although they have glorious, although they do represent an era, they are inevitable. GIS is an open collaborative system, data and applications to be separated. The functionality of the software is to be separated, and when we need it, they should be able to cooperate with each other. Isn't this the idea of componentization? So the objects and components began to flood our left and right, there is nothing is not an object, there is nothing to develop, do not component, we have entered the era of components. When the network becomes everywhere, all applications can be available for web, suitable for embedded devices, suitable for mobile devices; we still require stronger interoperability, we hope that even focus on a business logic The system developed can also be easily reused. There is no doubt that .NET and J2EE provide us with this purpose, the development of GIS, and the world of Web Service is an irreversible trend. In the world of Web Service, data and applications are completely separated, and build applications are passing messages through XML or SOAP. We don't have to buy data, do not have to maintain databases, just provide Web Service and use Web Service, the world has become well in order . .Netßàj2ee
So, is it .NET or J2EE? We still can't avoid this problem. Maybe a comparison is a good way to answer questions, even though this is so difficult.
.NET represents the most important change in Microsoft software development environment since 1993. Microsoft's goal is to increase the new technologies necessary for Web applications while retaining and extending existing VBs, ASP technology. Prior to .NET, programmers need to develop desktop applications in an environment and develop server programs in another environment. Developing web applications is an environment. If we need to develop applications on mobile platforms, we have to engage in an environment. The arrival of .NET, in a sense, the transparency of these different development environments is achieved, and the software development in different platforms and different environments has built a straight avenue.
.NET and J2EE have too many similarities: all-oriented development ideas, can create desktops or crossings applications. These similarities are actually focused on: That is what their original intention is to build a development environment that connects to desktops and web applications. In fact, the development of an application system can be used in both .NET and J2EE. People have developed a lot of tool software to improve interoperability between .NET and J2EE. For example, some tools can convert the .NET code to pure Java. Of course, there are also tools that can transfer Java code to C #, JUMP (Microsoft's Java User Migration Path Software) (http://www.microsoft.com/presspass/press/2001/jan01/01-25javaupgradepr.asp). At the end of 2003, Microsoft released a professional publication: Application Interoperability, Microsoft .Net and J2EE, this more than 300-page documents can be found in the Microsoft website download center, which may help us understand .NET and J2EE help. It is worth noting that Microsoft's .NET strategy and .Net integration development environment is something on different levels, but they are tightly bundled, especially with Microsoft's various servers. It can be said that .NET means a comprehensive acceptance of Microsoft's "Back Office" solution. J2EE is a relatively loose structure. Generally, the application system developed by J2EE can be linked to different databases.
Four levels
.NET and J2EE can be divided into four levels.
The first is the basic platform and operating system. J2EE's application can run in Windows, Solaris, Linux. And .NET is currently only running on Windows. However, there is a multi-platform open source version called Mono (http://www.go-mono.com), is being developed.
Secondly, the application operates the environment. J2EE's application is to run under JVM; the same reason, .NET is using CLR. JVM can run on the multiplayer, and the CLR must run under Windows.
The third is the so-called Framework, which refers to some large class libraries or development packages made in the development of the application system. J2EE is like Swing, EJB, JSP, JDBC. In .NET, including ASP.NET, ADO.NET, etc.
The fourth is the application system itself.
There is another point very worth mentioning, that is, Visual Studio .NET. VS.NET is an efficient integrated development environment integrating a variety of development languages and different application hierarchies. For J2EE, using Java to develop applications seem to lack a weapon like VS.NET. Although there are also tools such as Borland JBuilder, IPLANTS NetBeans, and BEA. But VS.NET's power and charm are always difficult to resist.
How to communicate between the web service is a problem. HTML is a pediatric thing for Web Service communication. In order to meet more complicated needs, XML will be delivered. SOAP is a messaging protocol using an XML structure. SOAP enables complex data communication between web components, can also help developers conveniently separate the data layers and application layers. However, there are many things in the structure of XML to be defined for easy interoperability, which is actually unrelated to the information that is really transferred. Sometimes this will make us feel that there is some waste of these "non-substantial" things, but in order to improve interoperability, it is not counting anything. How should I choose?
Since Web Service's architecture is a general trend, then whether it is .NET or J2EE, what role should they play in the world of geographic information? In fact, the card is the separation of data and applications. The most important of GIS is that the amount of geographic data is large, and it is also very difficult to maintain it. If you can do data in GIS - application separation, the development of the application will become simple and efficient, how much it is. Multi-storey structure, loose system, more flexible system, stronger availability, is Web Service not what we want? Many GIS Software has started development of GIS product development .NET or Java. Such as Microsoft's MapPoint Web Services (http://www.microsoft.com/mappoint/webservice/default.mspx), ESRI's Arc Objects Assemblies and MapObjects Java (http://www.esri.com/software/mojava/ Edition INDEX.HTML. There is also MapInfo's MapXtreme. There are also many successful cases on the J2EE platform, such as Laser-Scan Gothic Jade (http://www.laser-scan.com/technologies/gothic/goth_jade.htm). Speaking here, we have not made a conclusion of .NET and J2EE. .NET development is fast and convenient, and closely connected with various services on Windows, some people say that .NET runs faster. J2EE, more flexible, stretchable, and other components have strong ability, of course, is more complicated, and management is also difficult. In fact, there is no advantageous division between them, the key is that it is more appropriate to see who is more suitable.