First look at: http://www.microsoft.com/china/msdn/library/dn_voicees_webservice/html/netjava.asp#net10
Microsoft is a little summary: We believe that .NET implementation is not only a more advanced design pattern than J2EE BMP models, but also provides better performance and scalability than it. The two versions of the application confirmed this.
My point of view: Any layer of J2EE does not rely on a specific product, so it is not because of the stored procedure, not because of design mode. Articles repeatedly emphasized .NET Benefits: Cache, Stored Procedure, XML Web Service, Habu and High Performance is also exaggerated by the author (28 times higher than some tests) based on J2EE-based solutions to introduce these characteristics At least I also use Cache and XML Web Service in the Java project, I don't think it is very troublesome. On the contrary, I can configure themselves, in-depth transactions. Moreover, EJB2.0 greatly increases compatibility of CMP applications, this is not there (no similar features in the ASP.NET server control)
The following is a slight more than two solutions: (following the following parental point of view)
Performance: The only standard measured by end users: Performance bottlenecks are mainly below the intermediate layer: EJB1.0 or EJB1.1 is really unsatisfactory, it is worse than lightweight solution performance, such as: hardcod directly Access Database , Object relationship mapping, adoption of stored procedure package business logic, using object depot storage. In particular, BMP manages code files, which requires reconfigurable servers when business changes, affects the continuity of the business, but .NET solutions are not good! Page Cache and Object Cache: J2EE does not have the corresponding standard, but some application server extensions provide corresponding standards, and the usage is different. The function is not the same. I only use object cache and a small amount of page cache, and the effect is quite Good (I just upgraded yesterday, you can reload an object or page in the store directly in the page online, but there is no two page display cache that supports login and unregistered, I will use FilterServlet to provide this. Features)
Development efficiency: The most need for us to choose development tools is this factor: the performance layer development: J2EE is very lacking, throwing this task to the application server manufacturer and programmer, is not like .NET ownership Very cattle .NET Studio, but JBuilder 6 has come out, support EJB2.0 is not too late, but there is no solution is the page user control (of course, Turbine's Action Event is also a kind of visual design and The servlet application framework is generated. One way I expect is that the editing template (Template) that can be seen like .NET Studio, binds the user button event processing. Currently, you can use the JavaScript library, the model library and the macro library slightly relieve the development of the servlet. Both ASP .NET and Servlet support dynamically updated performance layers. (Currently I have supported some template for customization of real-time modified templates to be modified by database)
Business Logic Layer Development: At this layer, the work should be the focus of advanced programmers and should be protected as company property. Everyone's energy is mainly to maintain the upgrade and functional expansion of the company's commercial library, and carry out good configuration management (should With ClearCase, CVS is too bad to manage the library!). Configuration and Publish: Publishing and Configuration should be completely independent, all configuration items should be adjustable (path, database connection, EJB description file, etc.), which is likely to formally released database table name, field definitions are not developers Consistency (if you develop products, this is very important!). NET can only provide a so-called solution by stored procedure, while J2EE is very comprehensive, if the commercial library is in line with the release of the registration, system administrator It can be done at all details. This process requires the efforts of commercial logic developers.
XML support capabilities: .NET has always been called XML and Web Service, but JDK1.4 also has a XML specification, which is almost like, but .NET is easy to use, and then this, Programmers don't have to pay attention to components or products. In developing models using XML and XSLT: Microsoft's SQL Server 2000 provides the function of HTTP Query to XML data, but I can do this with DBXML, and it is also suitable for most mainstream RDBMs, but also! This development model should be the future direction.
Distributed components, message services and transaction services support: My experience is not enough to evaluate. .NET with COM, DCOM, MSMQ and MTSJ2EE with EJB, JMS, and JTS
Safety: Validation methods supported by web page: Windows, Forms, Passport, Nonservlet supports these, and easy to integrate into their own solutions through extension, and through rich encryption algorithms (such as AES) China Passport is enough to show Microsoft's ambitions, but their security has a vulnerability, and it will have problems last month, stop for three days. Sun is in combination with several large manufacturers to develop the same product specifications for Passport.