In February 2002, Microsoft finally launched .NET, and defeated many people who love to look at Vaporware.
The emergence of .NET, representing the software development of the window platform will enter a new field, developing on the window platform
Tool manufacturers also have a profound impact, because .net is a biggest window platform that has changed. the first time,
Microsoft turns the window into a virtual execution environment, through SOAP / Web Service technology, putting the window and various
Action and electronic devices are integrated together, providing the next generation of integrated virtual digital world. This impact is far-reaching
It not only impacted the operating system, which affects the development direction of the next generation window operating system, and has changed its development.
Tools in this virtual execution environment. Development tool manufacturers must redefine and position development tools in .NET
The role and future development trends.
Windows 3.0 and 3.1 have brought the most brilliant era for the window platform, which creates C / C four kings (Borland,
Symantec, Watcom and Microsoft, C / S Double Heroes (Powerbuilder and Gupta), COBOL two major homes (RM
Cobol and ACU Cobol and countless vibrant development tools. The prevalence of the graphical user interface also makes various
Framework is filled in the city. With the popularity of C / C language, other languages are quickly returned to 2 lines. The emergence of MFC
Symantec and Watcom exits the market, the rapid growth of VB and Delphi makes C / S doubles. development tools
The market has a rapid and huge change after Windows 98. Finally, in addition to Microsoft and Borland
Outside a few vendors, most of the development tools makers have gradually withdrawn from this competition, the highest threshold.
market. With the launch of .Net, Microsoft raised the competition threshold again. This time Microsoft is aimed at
The company's information market and the Java platform, the competition of the programming language and development tools is no longer the weight of Microsoft.
Point, Microsoft's focus is how to provide similar Java has developed a computational environment in the window platform.
However, this goal has suffered from the development of tool manufacturers because they have to face new virtual implementation platforms, new edits
Translation technology and new Framework. Worse, development tool manufacturers must find a new life in .NET.
Save the way, because .net contains:
■ A virtual execution environment - Common Language Runtime (CLR)
■ A huge and perfect Framework ---.net Framework
Therefore, development tool manufacturers must find new technologies, new technologies, new technologies, new
Applying and new nickels can continue to survive in .NET. What is more trouble is that Microsoft has provided a
Development Tool Sample - Visual Studio.NET, which is better than the original Sun's failure works Java Workshop
too much. This not only proves that Microsoft is a manufacturer that is more refined than Sun, but also other openings.
Working tools must highlight its products more in Visual Studio.net, will also be a more difficult job.
Maybe .NET's emergence will accelerate more developing tools manufacturers, let the development tool manufacturers on the .NET platform more pure
After the last thing, only the most powerful manufacturer is left. How does the manufacturers of various developments are adapted to the impact of .NET?
What new software technology will compete with Microsoft and other manufacturers? Who will be the last winner?
This will be very interesting things, carefully observe and analyze these issues, maybe you can learn a lot from it.
experience.
The development process of .NET and Java offer many intriguing things. Interestingly, .NET and Java although in now
There are many similar performances as well as future development, but there are some important differences in the bones of these two platforms. The most obvious is how JVM and CLR do the end application and a single language.
Test. In addition, Java and .NET's confrontation of middleware components technology is also the most intense.
The middleware technology will be the main factor in the future dominate system architecture, Sun and Microsoft want their own push.
Taiwan has become a new application standard.
Java and .net competition, although from virtual execution environments, programming language, Framework has continued until the latest
Software Technology - Soap / Web Service and Data Access Technology, but the component model is still the most important,
Because of its representative target market - the business information is the land. Java and .NET components
Type is the extensive language design, the beauty of DESIGN PATTERN, the wide and design concepts of data access
Crystallization. The component model is not only the key to the Sun and Microsoft markets, but also the software of the two leadership manufacturers.
Technical strength and ideological logic of system architecture. Therefore, when discussing Java and .NET competition, fully understand J2EE
And .NET is important in the development of the component model. By understanding these two camp competition in component technology,
We can also easily master the development trend of future Java and .NET. So subsequent articles will be from Microsoft
The history and trend of the Sun Development Component model began to discuss, let readers understand key status in Java and .NET
Technical evolution, and how component model affects the future direction of Java and .NET. In the second half of this article, we
Will discuss the impact of .NET for development tool manufacturers in window platforms, as well as the adaptation and development of future development tools.
Potential.
Microsoft COM Component Model
Microsoft's COM component model has been very stable. After abandoning the complicated Ole details, COM is true
I have laid the core of the Windows component model, and the ability to make the logic objects can be provided. DCOM
Start providing remote access and distributed computing and object recycling mechanisms, allowing the COM component model to provide companies
Level calculation capacity. However, in the era of DCOM, the client is still directly and COM objects through Proxy / Stub.
Move, not to reach the virtual server controlled by the virtual server to provide system services such as the EJB component model. but,
Microsoft quickly joined this feature in the MTS 1.0, to this, the COM component model can be smoothly added
Enterprise core services, such as Object Pooling, Role-based security permissions, and transaction management. strict
Gee said that after the MTS comes out, the COM component model is eligible to become a core component model of a critical system. and also
Because MTS, there is a later Microsoft DNA architecture. In Windows 2000, MTS is formally mature.
COM 1.0, in addition to the MTS adjustment and operating system, the most important advancement is greatly improved
Efficiency, so Microsoft's TCPP data is mostly written in COM plus VC .
In the Windows XP launched not long ago, COM progress to version 1.5. In COM 1.5, Microsoft
Com has made many improvements, the most important thing is to raise COM execution efficiency, let it be more than COM 1.0
Faster. In addition, the ductility is also the focus of COM 1.5. Microsoft adds Partitioning for COM 1.5
Function, trying to let COM Application can be held in different Container servers (DLLHOST.exe)
Opening, providing an architecture in parallel to increase the ductility of the COM application system. However, from the extent of COM 1.5, this should be a preliminary plan, and there should be a lot of progress space in the future.
In addition, COM 1.5 also joins the mechanism of Application Pool, allowing programmers to control COM
Container
The number of execution of the server. When the number of executives of the Container server reaches the number of currents in the right image,
The Windows operating system will reuse the existing Container servers without allowing the client to continue
Establish a new Container server, so that you will not let the client start too much Container server
Drag the Windows operating system.
The application recycling function is Microsoft to overcome the COM memory leak.
(Memory Leak) issues. In COM 1.5, programmers can specify COM Application in one
Time, or the memory used in COM Application to reach a certain amount, or called a certain
The number of times, or after being started, then restart the COM Application. this is okay
Let the Container server run, while the operating system can recover the memory for COM objects. in
COM does not have a Garbage Collection before the virtual execution environment like EJB or .NET, this is not
Loss is a good way because Windows 2000 and XP have a substantial improvement in process security control.
In addition, the Component Server of COM 1.5 also allows programmers to directly manage and set old COM / DCOM components, not
Need to use the DCMCNFG.EXE program. 1.5 components service procedures integrate all types of COM components,
When a good function.
From the development of COM 1.5, many other functions belong to small progress, and future COM will be very small.
Furthermore, COM truly transitions to one of Windows core services. Future Windows component model should be
The component architecture of the .NET comes to take a rod because Microsoft still needs a component architecture that provides a virtual execution environment.
To provide good Garbage Collection and Partitioning features, further and EJB Competition
The ductility of the system, and this sign can be seen from the .NET development later.
Sun's EJB Component Model
After nearly 2 years, Sun finally launched a new version of EJB 2.0 function specification, soon
Realized by BEA and Borland's BES. Sun proposes many advanced and complicated functions in EJB 2.0.
In order to significantly strengthen EJB as the cost of the company's core component architecture to in the enterprise system and Microsoft
The next generation of .NET components compete.
Starting from the SUN definition EJB specification, it exhibits its differences and COM. EJB attaches great importance to
Design Pattern and component types, such as session beans, and Entity Beans are their own responsible for different roles.
By the use of Java's Garbage Collection, it provides the basis for enterprise information system components. but
Yes, in EJB 1.x, all the calls between Bean Instance are used using the Remote Interface mode.
Therefore, large overhead has been paid in many applications, resulting in poor implementation efficiency in some cases. In EJB 1.x
There are many Design Pattern to improve this phenomenon, such as encouraging the use of coarse-grained objects to reduce the number of calls between network Round-TRIP and beans.
In EJB 2.0, Sun finally proposed Local Interface for improving this issue. Local
Interface, means that when Bean Instance is in the same EJB Container, EJB Container can
Use local interface calls to replace Remote Interface calls, which can increase 3 times more
Like startup efficiency. In addition, the important reason for Sun joining the Local Interface function is to support EJB 2.0
A largely enhanced CMP (Container Managed Persistence) feature.
Simply put, the CMP in EJB 2.0 allows programmers to use EJB Query Language to define the relationship between beans.
system. As long as the programmer uses EJB QL to define a bean and another bean relationship (RELATIONSHIP),
That client can pass the first bean after you have access to the primary bean, the Finder defined by the bean or the Selector method.
Get all the dependent beans. If the reader does not understand this meaning, you can refer to the following schematic. In the customer
After the main CMP is established, all the subordinate beans can be obtained through the primary CMP's Finder or the Selector method.
At this point, the main CMP can query all related data via EJB QL to the data source, and then the EJB Container root
According to the query data automatically establishes the dependent bean and the main CMP is associated. In this way, 2.0 CMP can
Exemption from the programmer to write access data and build CMP program code, and allow EJB Container
Use the optimized way to access data from the data source and establish CMP. In order to increase the performance efficiency of this process, EJB
2.0 The functional specification requires that this bean must support Local Interface, of course, this also represents these
The bean that establishes the relationship must be performed in an identical EJB Container. EJB 2.0 CMP adds a function
And efficiency, but also increased the relationship between Bean's mutual relying, which affects the EJB programmer when designing the system.
Layout. In addition, although the CMP of EJB 2.0 provides such a powerful function, this is also achieved by different manufacturers.
The EJB server has a gap between execution efficiency. Different EJB servers use the implementation method of implementation, will be big
Performance efficiency. That's why SUN defines the EcPerf standard to verify and evaluate the true implementation of the EJB server.
The reason for efficiency, this will be talking later.
Therefore, in the EJB 2.0 function specification, Sun defines several mechanisms to increase the efficiency of the EJB server.
It is natural next step in the ejb architecture that has been very complete. Of course, in addition to the above functions, EJB
2.0 Functional Specifications also add MDB (Message Driven-bean), MDB allows programmers to use asynchronous way
Transfer information, in fact, add the functionality of the original JMS to the functional specification of EJB, is to fight Microsoft
Integrate MSMQ into COM . Please see the EJB evolutionary diagram, I think EJB 2.0 is the most important progress is to perform effect.
Rate, or mapping, and EJB query language. EJB's query language has opened the future and JDO (Java Data)
Object) Integration, the purpose is to compete with Microsoft's opath and data objects defined in .NET, this
Also explain later. As for or mapping, it is a very complex mechanism. It specifies bean
The relationship between instance and data sources, this standard may have many small EJB server vendors to exit the EJB market, or unable to support EJB 2.0 functional specifications.
Look at the meaning of local interface. In EJB 1.x, when the client calls bean instance,
In the container, beans and beans are called using the Remote Interface, as shown below:
In fact, the startup mode shown in the figure is very wasteful, because the bean in the figure belongs to the same
In the Container, why should the slow REMOTE call mode? So defined in EJB 2.0
Local interface. As shown below, now there is only a need to cross the network or cross different Container.
Using the Remote call mode, this greatly improves the use of resources and call efficiency.
Better is in EJB 2.0, a bean can simultaneously define Remote Interface and Local Interface.
As a result, Bean's user and combiners (Assembler) can be more elabically distributed and deployed EJB Bean.
In EJB 2.0, Bean can have local interface as long as it inherits from EjBlocalobject.
Features. For example, the programmer can provide the Local Interface function with the following program code. Essentially,
Implement and define the way Local Interface and the original Remote Interface very similar, so EJB
The programmer can naturally learn this new EJB function.
Public Interface YourObjectClass Extends EJBLOCALOBJECT
Public Interface YourObjectClass Extends EJBLOCALHOME
After understanding the features of EJB 2.0, you can go back to the front friends asking me, why
Didn't you see anything like COM in the EJB? In fact, this is very simple, because EJB is a
Standard feature specifications do not include details of how to implement, of course similar in general EJB books
thing. Moreover, COM has such a complex variety of thread models because of the burden of COM development and history.
The factors are caused. However, this does not mean that there is no thread model in EJB, because the EJB manufacturer
Implementing the EJB function specification will deeply affect the efficiency of the EJB server. Therefore, the thread model is converted to the EJB programmer
What you should know, just have different results based on different manufacturers, unlike COM function specifications
Microsoft is defined, and it is implemented by Microsoft, so there is a consistent execution behavior.
EJB's thread model should be a model using Object Per Client. This means, EJB Container
A separate Bean service will be created for each request client. Therefore, if the EJB manufacturer does not take special
The best work is optimized, the model used by EJB should be similar to the STA in COM, that is, only one
The Worker thread is executed in Bean Instance. The following figure shows this architecture, for each client
Start a pair of Worker Thread / bean instance.
The figure above is a normal situation, and if the two clients are allowed to access a bean instance at the same time,
What happened? The following figure shows this architecture. In this case, if there are two clients to be simultaneous
Access Bean Instance, how do EJB Container control? In the general EJB book, it seems that there is no example of synchronous processing. Do you say that two clients can be simultaneous without any processing?
Acquisition? This is of course not, because the EJB Container will manage, synchronize with STA mode.
Acquisition, so the client's access must be selected (queued) to call bean instance.
This situation can also be seen directly from the implementation program code of the bean, such as the following program code is the standard of EJB.
Examples of the Example Entity Bean implementation program code. Please note that several private are defined in this bean category.
Variables, and directly access and deal with these private variables in Beans, do not need to consider any
Synchronous processing mechanism, this is because EJB Container is generally model using Object Per Client.
And a thread control model similar to the STA similar to COM.
This is just a model that the general EJB Container may use, but some EJB servers provide optimization.
Mechanism may provide more efficient ways. The following table lists the COM / COM and EJB in the thread model
Comparison of aspects:
Different application server manufacturers are different
Readers must pay attention to that the above table does not mean that COM is better, can only say COM provides more choices,
You can make experienced programmers adjust the performance efficiency. However, the situation is complicated in the opposite situation, and COM
The MTA thread model is not easy to implement.
Because the EJB functional specification is different because of different EJB vendors, there is different, except for the EJB mentioned in the previous
2.0 CMP and or mapping will affect the EJB server execution efficiency, if the thread model and the right
As the technology established, the problem listed below is an important factor affecting the efficiency:
● How to implement and control the Worker Thread. In fact, this is the mechanism for thread pooling in EJB Server.
● How to implement and control the EJB Bean Instance. This is the mechanism of Object Pooling in EJB Server
In order to make the EJB server a fair efficiency basis, Sun defines the EcPerf standard to make users can be used.
The amount of EJB servers is performed to avoid the circumstances of each other. It can also be seen from this point.
The implementation efficiency factor in focusing on the EJB server.
Why do I say that the thread model will be different because of different EJB servers? Let us now take an example.
The behavior of the EJB server. The picture below is the client application I have established by 4 Delphi and uses SIDL skills.
The results of the STATELESS SESSION bean in Borland Application Server-BAS.
As can be seen from the figure, even in the case of 4 clients, BAS still uses the MTA mode.
Only one STATELESS SESSION bean is established and 4 Worker threads are used at the same time, so perform the effect.
The rate is very high, and the memory resources used are very small.
The following picture uses 4 Delphi client applications to call the Stateless COM object (using the Both thread model),
As you can see from the figure, COM uses the Object Per Client mode, built 4 COM object services 4
The client, although the execution efficiency is also very high, but the resources used are slightly more than BAS.
Next, let us discuss the future of Microsoft's component model and the evolution trend of Sun's component model.
Data Access Technology In the future, the Component model of Microsoft and Sun will emphasize the technology of data accepted because of the previous discussion.
We can know in the contents of EJB 2.0 CMP, now Sun has been established between objects and data.
Technology, the future JDO technology will further closely combine the concept of data objects, let the programmer face all
Everything is an object, no longer have data and object different ideas and ways.
But don't think that Microsoft will only stay in place, Microsoft has declared future ADO.NET in PDC 2002.
Development direction. ADO.NET will combine the concept of data and components in the future, let .NET's programmer's view
Read the data, just like the CMP / BMP in EJB. In this way, .NET programmers can be like ejb
Declare the data type representing the data in the data source, and using the data enabled narrative device in XML format (DATA
Descriptor) To connect data from data objects and data sources. In this way, the component model of .NET also enhances
To EJB 2.0, the same level is the same as the future JDO.
For example, programmers can define the following data types:
Public Abstract Class Customer {
Public Abstract string name {get; set;}
[LINK (Account)] public abstract ilist accounts {get;}
}
Public Abstract Class Account {
Public Abstract float amount {get; set;}
Public void calculatotal () {
// Business logic
}
}
And define the connection relationship between the above Customer and Account, which is the same as the new CMP function in EJB2.0.
Then define the following object / data gouth, connect the object and data source, please pay special attention to the following
Part of RelationShip:
Finally, the programmer can use the data object to access data by data objects in the following form, and automatically
Form a relationship of the association. This is very powerful, and the EJB / JDO is inconsistent. In fact, ADO.NET and EJB / JDO
The idea of achieving is very similar, is this coincidence or imitation? Basically, these two major camps have
Reference to each other's technology.
The following figure is the future ADO.NET data object architecture, and the programmer only needs to modify the Schema Mapper.
To different data sources, such as MS SQL Server or Oracle, etc..
In addition to the data objects of ADO.NET, Microsoft also begins to define object query languages similar to EJB QL.
It is temporarily called OPATH. Of course, we can further discuss more in-depth technical issues, but
For the limitations of the space, let us continue to explain it in a book specially discussed technology.
The following figure clearly shows the development trend of Microsoft and Sun component models. From the figure, we can almost know
The two are very similar, the direction of development is also consistent. Factors of future comparison may be performing efficiency, extension
Sex, can be implemented, and the level of support of development tools and convenience of use.
Comprehensive content, from the recent launch of Microsoft's COM /. NET, Sun's EJB 2.0 functional specification is completed,
And the EJB application server implemented by the middleware manufacturer, Microsoft seems to have begun to use similar
Java's virtual execution environment and EJB models are re-shaped .NET's component model. COM will gradually return
After providing system core services, it will slowly disappear in the future .NET's execution platform. However, due to the low entry of .NET, there is still a lot of native windows developers and Windows applications,
Therefore, this process of complete switching from the COM component model to .NET may still take a few years, while COM is now
It is still the most important intermediate technology on the Windows platform in the beginning of the year.
According to the investigation and estimation of Gartner Group, the Java application system developed using EJB technology from 2003 to 2004 will
With around 40% of the entire Java platform, this means that EJB technology has obtained large enterprises and professional software vendors.
Approved, it is an enterprise component model. EJB 2.0 must begin to increase execution efficiency, so that Local has been added
Interface. In addition, ductility has also become the development focus of the EJB application server, because EJB application services
The potential will bound more access to undertake the key application of the company. Therefore, EJB vendors began to serve EJB
Cut the virtual servo environment in the unit and perform different software in each virtual servo environment. For example, a virtual
The proposed servo environment is responsible for performing JSP / Servlet Container, while additional virtual servo environments perform EJB
Container et al, as shown below. The benefits of doing this are not only safer, but also
The ductility of the program server will be more excellent, because in the multi-CPU machine, you can assign a dedicated CPU to different
Container, and multiple EJB Container can be performed simultaneously in an EJB server.
Here is a very interesting difference, that is because Microsoft masters the operating system, Microsoft can do
Move the .NET virtual execution environment to the core of the operating system, providing more effective efficiency;
The manufacturer of EJB does not have this advantage, so it is necessary to develop EJB application services in a better implementation.
Why is the Sun's EcPerf's execution efficiency of each of the EJB application servers
the reason. But from the current achievement and technology of the EJB server, it is still ahead of Microsoft .NET.
But don't underestimate Microsoft, although .NET launched in the first quarter of 2002, but Microsoft is already
The 2nd version of .NET is developed, and the development of .NET is very fast.
The middleware technology will continue to develop, and various new component concepts and implementation techniques will continue to appear.
Component model techniques and middleware have gradually replaced early programming language and database servers, becoming the current information stand
The dominant force, Microsoft and Sun want to be leaders in this field. But thank you for your information market.
Competitive power, so that these two major plants can not eliminate each other, but due to the strength of competition, the component model is constantly
Innovation, enabling information personnel to achieve new, better, more mature intermediate technology,
The incurred information system, although this study process is hard, but this is also interesting information industry
Place of taste, because you don't always feel that the work is constant.
Just Now the Web Service's rise makes the boundaries of the component model began to be blurred, and the Web Service is also
Microsoft.Net and the next version of Java JDK emphasizes key features. It seems that web service technology will open
The component model gradually converts the component service to the component service, allowing the demand point of the component model to gradually turn from the function-oriented function.
Service-oriented service. Which component model will provide an enterprise-class service model, which will be used by the system.
The key point of the architecture, and this phenomenon can be seen in the most recent movement of some middleware manufacturers.
.NET for the impact of development tool manufacturers
The launch of .NET is a major challenge for all developing tools, in addition to the technical level, there is also a problem of complex product positioning. Each development tool factory is launched relative to the initial WINDOWS 3.0 / 3.1
Compared with the grand event of Baidian, now .Net platform is much inferior. Of course, this is the main reason
Language in .NET is no longer a focus, coupled with language in Visual Studio.NET in Microsoft,
This time, many development tools manufacturers have lost their positioning and competitive advantage. If the development tool manufacturer is just a
In the language of Plug-in to Visual Studio.NET, it will be difficult to survive.
How to do in new one for Delphi, C Builder and Sybase's Powerbuilder,
The competitive advantage in the .NET environment is very important. Because in .NET, application execution environment, Common
Language runtime (CLR) and .NET Framework are all mastered by Microsoft, other tools
How do people create a competitive advantage in the Microsoft's hand-controlled environment? In addition to .NET, development tools
Vendors must compile the application into a format of Common Intermediate Language (CIL), and then edit by JIT
The translation is compiled into a native mechanical code, as shown in the following figure.
Therefore, if the development tool manufacturer will continue to provide competition products in the .NET environment, it must be at least in the following three
The answer is found in the field and make practical solutions:
■ Compiler competition - how to compile the program language to CIL
■ Competition of .NET Framework - How to get value on .NET Framework and positioning
Competitiveness
■ Development tool itself set (Feature Set) competition
From the compiler point of view, due to the Virtual Execution System (VES) support for .NET's CLR.
The program language function, but also provides a rich object model support to provide object-oriented language
The ability to CLR, so .NET can be said to be an OOP-Friendly executive environment, which is very helpful to object-oriented
Program language is implemented in .NET, such as a good news for true OOP, etc., etc. for C / C , Object Pascal.
And Microsoft's new language C # is a good OOP implementation example. But for the use of scripting languages as skeletons
For development tools (such as Powerbuilder), you may need to spend a lot of effort to re-standardize, so that
Specifically use the characteristics of the CLR suitable. Of course, in addition to the program language, how to develop an efficient CLR compilation
It is more expensive to develop tool manufacturers.
In Framework, Microsoft's .NET Framework sets to SUN J2EE / J2SE / JEME, etc.
Competition, and spend many resources to create .NET Framework, strive to provide the best development of programmers
Features. However, there is a happy worries for development tool manufacturers. On the one hand, Microsoft provides
Good .NET Framework, can reduce the cost of development tool manufacturers to spend; on the other hand, develop
Framework's power is in the hand of Microsoft, especially Microsoft also has Visual Studio.net.
For the competitive product, how to locate it has become an important issue. As far as my opinion, if the development tool manufacturer cannot
In the .NET Framework, the value of value is made, and it is still difficult to escape the fate of the eliminated.
Even if the development tool manufacturer can overcome the two problems discussed earlier, it is still necessary to return to the competitiveness of the product itself. There is no integrated development environment, component architecture, debugging environment and high productivity, still unable to be able to
Studio
.NET competition. Development tool manufacturers not only provide an integrated development environment like ever, even must do
Better than Visual Studio.net, more creative. This is not an easy thing, because this must have
Broken idea. For example, one of them may extend the versatility of .NET, except for .NET
The difference in words is used as the focus, nor does the results produced by CIL as differences. Since CIL is a set of standard intermediaries
Information, development tool vendors can continue to convert CIL into .NET, native window applications, Linux applications,
Even the program code on the mobile device, as shown below.
As a result, this development tool will be more extensive and practical, and it is also an excellent competitive advantage of development tools, especially
There are still many software vendors that need to continue to develop small and fast native window applications.
The emergence of Microsoft .NET is not only available for Microsoft itself, and all on the window platform
Development tools and Sun have a huge impact. Development tools manufacturers are the most strih of strictly launched from Windows
The test of the grid, this is a competition of life and death. For Sun, .NET represented by Microsoft officially comprehensive
To the Java platform challenge, time will determine the winners of JVM and CLR, and the versatility of the Java single language will also face
The test of .NET language neutrality. As for the traditional window program designer, maybe just like the "Legend of the Rings"
Like the Harbi, knowing the future, there must still choose to go to the cold snowy mountain or the jully authentic, because
There is only one: I find a way of survival in the new wave of software technology and platform.