Experience the fun of distributed programming - [3]

zhaozj2021-02-16  47

Experience the distributed programming

Redstar81 at 9/9/2003 ~ 13/9/2003 81_redstar81@163.com Tomhornson.student@www.sina.com.cn

First modification time: 13/9/2003 personal text: http://www.9cbs.net/develop/author/netAuthor/redstar81/

Third, a few distribution object computing technology

In general, there is no exception of the traditional distribution object technology DCOM / RMI / CORBA / Remoting, based on the agent / stub structure. Based on the client and server-side base service controller to pass RPC or class RPC (there are many specific situations here, such as early DCOM also involve LPC, more importantly, due to historical and technical operation platform evolution, technology It has achieved the difference in nature of itself.) To column / distribution (serialization technology / reverse sequencing).

DCOM is the basis for distributed calculations of MS COM .

RMI is a distributed object computing technology adopted by Sun Jini underlying communication.

Remoting is a new technology for MS DotNet platform distribution objects.

Here I would like to talk about the problem of the so-called platform evolution perspective from the above-mentioned so-called platform evolution, and we don't talk about the comparison of Remoting, because Basic, RMI and Remoting are in this perspective, there is no difference. Com (Component Object Model) The original intention is to seek software multiplexing on the second-level level, and the technique that overcomes the surprises caused by the language / compilation system. From history, the COM-based technology and applications are more mature. Of course, it is also an abnormally complex, the architecture is very large. Where is the reason? Individual feeling, this is just a technology, always evade the binding and influence of the underlying system, and pile a lot of technology details from the basic binary heavy use, one The layer is superimposed, and finally inevitable, the system institution is very complicated. However, Java is coming, DOTNET is coming, they are all based on the Virtual platform, a class, natural is an Assembly, which is reusable, no need for any additional technology stand by. The strangeness of the big is starting here. Today's Java Applet / .NET, the development complexity and functions of multiple Control are more superiority than COM-based Control. This way, COM-based DCOM naturally inherits this. Disadvantage. Another point: RMI / Remoting can be said to be an object view to the customer, and DCOM is an interface view. This is also an essential difference.

Four, a few distributed language profile

What kind of language can call distributed languages?

Java? C #? SmallTalk? Dejay?

Do you notice what is the form of current distributed development? As started, our current distributed computing technology walks: deploy distributed computing environments on the network (deployment in the form of middleware, this may MS DCOM The system has high integration), and provides development tools and public services, support distributed applications, realizing the sharing of resources, and works this road. The current distributed development core is basically positioned in what kind of infrastructure Development, you use the language of native support distributed calculations? The two typical languages ​​mentioned below: Emerald and DEJAY. Among them, only Emerald is a pure distributed programming language, and Dejay is based on the Voyager and Java developed by the ObjectSpace mentioned above. Of course, from the grammar, it is more close to the distributed programming language than RMI. This layer.

Emerald is a language-oriented and distributed language developed by Washington University, which provides convenience for distributed application programming. One of its research and development is a distributed process. This language is first, one of the purely object-oriented languages, of course, when you have your own contact it, please don't look at it in modern OO languages, don't say it is very weird, because after all, don't talk about distributed features OO In the 1980s, it is also a very new technology. It is based on a single object model. All structural and data types are represented by an object. For details, please refer to: http://www.cs. Ubc.ca/nest/dsg/emerald.html or http://www.eci.ie/first.asp. Dejay is a research project in Hamburg University. It is based on VOVAGER and Java language. Dejay follows the development of a Java-based distributed programming language to promote the development of distributed applications. This language is based on Voyager, from the grammar level, it is easy to support remote objects, object migration, name service, Persistence, abnormal treatment and other characteristics. Behind we will use this language to experience the fun of distributed programming. Please visit www.dejay.org.

PART2. Practice 5, distributed programming practice

Below, let's take the excitement and fun of distributed programming. Of course, here is basically, with a more basic example, and then add an explanation. I want the system and in-depth to master these technologies, you need to go to the relevant professional books yourself.. This article focuses on guiding and stimulating everyone's learning interest.

1. Objectspace Voyager

Voyager is basically, it is a library and a running period. It is served as a bottom plate existing on the system (OS and JVM). Support various behavioral features for distributed applications. You can get this product from www.objectsapce.com or www.dejay.org. After decompression, you will get the following file:

/ bin Voyager Utilities

/ DOC Documentation Files

/ Examples Example Files

/ lib voyager2.0.0.jar file (Voyager .class files)

/ VoyagerDB Support Distributed Data Persistence

Like setting JDK, you need to set up PATH and CLASSPATH environment variables. (Note: I downloaded from Dejay, discovery / bin files are not executable, the reason is unclear. There are two gadgets in this CGEN / IGEN and a Voyager runtime launch program. Since the file here is unauthorized, then the case will be launched from the console will not be able to implement it.)

1) Cheng realizes the launch of the runtime environment

Import com.Objectspace.voyager. *;

Public class voyagerStart {

Public static void main (String [] args) {

Try {

Voyager.startup ();

} catCH (StartUpexception Exception) {

System.err.Println ("Voyager is already running.");

}

Voyager.shutdown ();

}

}

Note that the above program demonstrates the startup of a client runtime environment, to start a Voyager on the server, you need to specify the port number so that you can add it to its service. Such as:

Voyager.startup ("9000");

Renewed: 2. DCOM

3. CORBA

4. WebServices

5. Sun RMI vs. DOTNET Remoting

6. Linda and Sun Javaspace, IBM TSPACE

7. Jini

8. Emerald vs. dejay

9. Pjama

10. IBM Mobile Computing Interface: Aglets 6. Comprehensive application analysis

1. Calculate technology to simulate high performance parallel computing with multi-threaded and distributed objects

2. Calculate geometric fractal graphs using Vdejay

statement:

1. I am not specializing in the distribution, completely written down this article. I will help distributed computing applicants. 2. Welcome to the level, welcome to correct. 3. Since this paper tells more content, many tells that it is impossible to be too meticulous. And taking into account the problem of the reader group, the theoretical content is omitted as much as possible. If the reader is interested, you can refer to the list of reference books and network resources.

4. Arbitrary reproduced, but please indicate the source; not available for commercial purposes.

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

New Post(0)