Java.Net - a realization of a Microsoft.net framework based on Java

zhaozj2021-02-08  434

By the end of 2000, Microsoft began to release the details of the new application development architecture related to .NET, these details were initially blurred, so that many ridicules were deemed to be "worried, unreliable, doubt" (FUD). However, when the new version of the beta version Visual Studio - Visual Studio.NET occurs in front of the developer, combined with the reality, .NET framework value is obvious, and is never fud. With the official announcement of "hail" (a set of Microsoft plans to provide other vendors can be compatible with their own application network services), .NET presented in front of the public. In fact, as an unambiguous initiative, Microsoft also emphasizes that it will fully support non-Windows platforms, including UNIX and Linux, and more. Others do not speak, and the commitment to support non-Windows platforms and increase the reliability and simpler terminal user experience only highlights the other gradual progressive process of the application of application software development.

Halcyon Software, Inc. (http://www.halcyonsoft.com) Followed the IASP (Microsoft ASP Java architecture, you can run the ASP in any support for Java), which provides a new development environment for Microsoft. NET, HalcyonSoft is committed to transplanting Microsoft.NET cross-platform.

First, let us basically understand the Microsoft.NET framework and it implies the developer and end users. Second, describing HalcyonSoft's development proceedings for .NET, especially how to rebuild .NET framework on the basis of Java and temporarily named "Instant.Net". benefit.

.NET's general structure

In general, .net can be divided into three parts:

--.NET Framework - a new design development environment that makes developers easier to establish web applications and network services.

--.NET Products - Application software developed based on .NET platform, including Office and Visual Studio.

--.NET Service - Assist third-party developers to create .NET platform services (online services are the tax form of state, county, city), these forms are provided to e-commerce shopping cart developers, so they can The sales tax for the agency online shopping and avoiding the worry of huge data maintenance management. The "hail" of Microsoft is actually in the brand name of "Microsoft" in the first place.

The new .NET development framework can also be subdivided, which is roughly divided into three parts:

- A runtime engine, called "Public Language Runtime" (CLR), which handles store allocation, error restrictions, and busy work encountered in all programming.

- A wide range of libraries, from the foundation, covering any features you need.

- Two high-level development "Stages", provide web application software (ASP.NET) and conventional Windows Forms.

For more detailed information about the various elements of the .NET framework and the interrelationships between them, please see the following charts:

The .NET framework can shorten the development cycle (code reuse, reduce programming challenge, support multiple programming languages), or make it easier configuration (simple XCOPY installation is possible), and the real garbage collector has caused the error to decrease, And is in a more flexible and reliable application. Now let's take a closer look at the various parts of the .NET framework.

Public language runtime (CLR)

The .NET application software is compiled into a well-known Microsoft Intermediate Language (MIL or IL). The CLR process compiles IL into a machine language and is executed at this time. The CLR architecture has the following advantages: • Less less involve internal measurement

· A wide range of tools support

· Simple configuration ("DLL Hell" ends)

· More precise scale

· Support multiple programming languages

· Have a public data type system

See the figure below for the characteristics of the CLR.

Of course, these concepts are not true revolutions, and it has already been made for decades. The CLR looks like a Java virtual machine, and IL is similar to Java byte code. Despite this, the changes in programmers who are accustomed to developing a Microsoft platform are fundamentally, and they are also very beautiful.

Multilingual support

The CLR allows the development group to use multiple languages ​​in one project, and these languages ​​work together. Because of the additional translations of the metadata, there is no need to interface definition language. (Former data includes various information: using software description (name, version, common keyword, output type, from), etc.); base class, etc., the use interface; custom properties (user-defined and editor definition ). Now use COBOL, FORTRAN, C , C # and Perl to complete a single project is bad or bad is another problem, but for old system integration, multi-language support is in the snow. (The third party has already supported Cobol (Fujitsu), Perl, and Python (ActiveState) language. There are more than 50 items in the actual plan.) In addition, Microsoft further improves two core programming languages: C push C to enter the 21st century It abandoned many language liabilities (support indicator and selection case failure, such as Java, etc.) VB.NET is a large-scale fix, and is now a true object-oriented language that supports polymorphism, inheritance, etc.

Public Type System (CTS)

.NET Public Type System (CTS) is a new type of public data type that has been defined in the CLR. Includes all standard types, int, float, double, etc .; However, CTS can make programmers to better complete data type conversions at lower levels. In addition, there is no strange type conversion or call specification from one language to another language.

.NET framework class

Combined with CLR, Microsoft has also developed a comprehensive framework class, which are as follows:

The biggest advantage of these frameworks is that no matter what language you can reach the same effect, like a square root operation call. In addition, various languages ​​can achieve the same functionality. Functionality in the framework includes user interface (Windows Forms); Web Forms (ASP.NET form engine); Server Controls (server-side re-use user interface); console application software and program Interface - Web Services for third-party applications available on the Internet.

WinForms and ASP.NET

WinForms is just a noun for depicting standard Win32 applications. Now developers have a single coordinated class frame, and no longer rely on three different APIs: COM components (ADO, MSXML, etc.), platform-related (Win32, Win16, etc.) and language (VBRun, MFC, etc.).

The ASP network development framework under .NET has undergone major changes. For example, ripe VB or C # (or any supported .NET language) is the selection of programming languages, VBScript and JScript support are only licenses for old compatibility. Other major changes include: new support for HTML server control (server support session state)

Server can handle customer events

The new control series includes enhanced Intrinsics, Rich controls, List controls, DataGrid controls, REATER controls, Data List controls, and confirmation controls.

New support for development network services - ready-to-use application logic that can be reached through the Internet, which can be integrated into .NET applications with a Simple Object Acquisition Control Protocol (SOAP).

Why use Java to implement .NET?

Two essential reasons:

- Instant cross-platform support

- Integration with mature supported Java technology

From the above description, Microsoft hides each foundation. From the perspective of development, this is certain;

But from the perspective, there is an obstacle: cross-platform support. Microsoft's .NET system

Similar to Java, CLR corresponds to the Java virtual machine, at least in theory, in theory, in a plurality of platforms.

Use Java Virtual Machine CLR and .NET Framework Class to be transferred to the target platform, and this conversion is not an insignificant task. For example, a widely rumored Corel is working on a Linux.NET port, although it has recently been frustrated, any specific timetable is just a wishbug. In this goal, HalcyonSoft (http://www.halcyonsoft.com) starts using Java's many platforms supported by the framework to develop .NET frameworks. The advantage of HalcyonSoft Instance.net project is that once it is completely converted to Java, .NET application will be able to run in any platform supporting Java, from S / 390 host to IBM Linux-based watch.

Cross-platform support has become more and more important for the deployment of .NET network services. The .NET network service can be integrated into other application software via the Internet, in nature, it needs to be configured to a good environment with the largest running time. For example, when the network service main platform restarts, the transaction periodic interrupt is caused, and if you purchase the previously mentioned tax form apps included in the company's shopping cart software, the situation will be optimistic. Network service sellence does need to be responsible for system shutdown at a certain service contract (I hope to have this contract). Network services to this transplant key task are of great significance to both Solaris or OS / 400. In fact, such a heavy load function like IBM is used as a network service server as a host of thousands of Linux virtual machines.

There is also an additional benefit that .NET application can also bundle Java-based technologies such as JavaBeans, EJBs, and CORBA components. These .NET applications also can also do a large application server from Oracle, BEA, IBM, and Sybase.

How does JavyonSoft's Java.net work?

Although the development efforts required to use Java replication .Net framework is huge, it should be simple from the actual operation from the developer's perspective. Using a "IL2JAVA" command line utility, developers can directly convert their .NET application's intermediate language to Java byte code or Java source code (or convert to both code according to the situation). The software package will then be generated and configured to run the Java platform by the runtime software package that is converted for Java.NET applications and the necessary support libraries.

When you can't find a specific service on the Java platform, like Microsoft Office, we will use and update our Java Bridge-Rjax. Rjax is a high-performance bridge server that is set on the Windows machine that allows Java applications to access .NET applications and old COM / COM / ActiveX objects and DLLs. Now the 2.1 version of Rjax is a good, high-speed, easy-to-upgrade solution that enables us to find any WINDOWS specialty from the substitute.

The following charts represent the HalcyonSoft's .NET architecture that links to Microsoft's .NET system:

The arrow between the Java.net engine and the Microsoft background service indicates the RJAX Bridge discussed above.

Other services, like MSMQ and MTS are classified as their Java relative part, respectively, respectively, because their SOAP communication interface will be consistent in Java and the original .NET, network services will have obvious processing. .

The following figure describes the execution architecture of HalcyonSoft .NET in more detail:

Currently, HalcyonSoft is working on developing Java.net and will officially launch some of them in October this year. In order to obtain more applications, HalcyonSoft invites its original IASP (Microsoft ASP Java architecture, intermittent platform) users and more developers as their testers, HalcyonSoft will be free for its Beta version of the tester. ASP.NET case study.

HalcyonSoft currently has two branches in Dongguan, China. If you want to be an inet tester, please visit http://www.halcyonsoft.com to get more messages. Domestic testers can contact Henry@halcyonsoft.com or jacky@halcyonsoft.com.

转载请注明原文地址:https://www.9cbs.com/read-512.html

New Post(0)