Rich Client Technical Introduction 2
Before
As mentioned above, traditional C / S-based Windows applications always make customers face some problems that feel uncomfortable, such as deployment issues, upgrade difficulties, maintenance difficulties, security issues, but complete web development The state of the HTTP protocol - the browser and server are always unpowered to create a stateful, continuous session, causing people to start love to have more computational power, local storage capabilities and more The client program of stable communication capabilities.
It has to be said that the emergence of broadband networks has contributed to the birth of the Rich Client. Through quick release, specific communication protocol standards, Rich Client is reproducing the advantages of client programs in C / S mode with unstoppable momentum.
Release of Rich Client
Under the C / S architecture, client programs have been difficult and cumbersome. After the version is updated, you need to download and install and configure updates one by one, which is a physical activity, which has always been one of the factors that use a large number of WEB programs.
In the Rich Client era, due to the convenience of the broadband network, the client is exhausted from the server to download the updated program running, without having to treat the process of cumbersome download, installation, and configuration.
It has to mention Java here is WebStart technology.
WebStart is a technique that allows users to run a Java desktop app on the web page to click on a hyperlink. For Java applications with WebStart capabilities, users use it as simple as using web applications, but it has the interface capabilities and local processing capabilities of the web applications that cannot be expected to be back.
The technical knowledge of specific applications can be found from http://java.sun.com, and details will be not described here.
Communication mechanism of Rich Client
In addition to fast and convenient release, Rich Client also needs to establish a fast, reliable, powerful, and easy-to-use communication interaction mechanism with the server side. However, when we develop web applications, the performance layer and business service layer often is only different objects in the same process, and the interaction between them is just the Java method call. When the performance layer logic is distributed to the computer around the world, customers The interaction between the end and the server has become a big problem - the previous C / S is eliminated, and it is largely blamed on the complexity of Socket communication.
Now, the shape of RPC (remote procedure call, Remote Procedure Call) has a mensive role in a unique advantage. The communication mechanisms that can be used in several RICH Clients are listed below.
CORBA and RMI
CORBA (General Object Request Broker Architecture) has been red to a wide range of language, and the negative impact of powerful scalability is complex and cumbersome. If the server side is developed with Java, then the language-independent IDL required by CORBA is completely capable of adding a snake. Of course, it has always been the preferred technology for EAI (enterprise application integration) projects that need to integrate large numbers of enterprises.
RMI can be a Java version of CORBA, but compare this is a lightweight version, which is a very good choice for servers and clients to implement the Java. This is a very good choice.
Corba and RMI have a common defect: usually do not provide services in the system 80 port, so this is very passive in the case of a network of the Internet.
XML-RPC
In order to solve the service of the RPC service in the system's 80-port, it does not affect the WEB service being executed, and people think of the use of the HTTP protocol to transmit the RPC package. For HTTP protocols that are almost specifically designed to transmit text, the most convenient method is to encode the RPC packet into text form - such as an XML file. XML-RPC (http://www.xml-rpc.com) is an RPC protocol assigned by US Userland. It encodes the RPC information package into XML and then transmits a package via an HTTP; it is a simple RPC protocol that only supports some basic data types, which does not support object models, which will ignore complex objects between clients and server. .
SOAP
SOAP is Simple Object Access Protocol (Simple Object Access Protocol) is a simple protocol to exchange information in a disperse or distributed environment, which is an XML-based protocol. It allows all operations to be performed on the 80-port, which also bypass the firewall.
Three basic components in the SOAP specification: SOAP packages, coding rules, and interactive ways between requests and responses.
There are currently Java-based products with SOAP functionality: Apache SOAP, IBM SOAP4J, etc.
To learn more about SOAP, you can visit http://www.w3.org/tr/soap
Herssian
Hessian (http://www.caucho.com) is an RPC protocol made by the developer Caucho of the Resin Application Server, although it is also transmitting the RPC packet through the HTTP protocol, but its RPC packet is encoded in binary form. And it is possible to express an object model and an abnormality system, which makes the HESSian have higher efficiency than XML-RPC.
Specific communication mechanism information, please reader's reference online content and transparency in the 5th issue of "Programmer" magazine in 2004, "Dynasty restoration or bath fire rebirth".
First intimate connection XMLHTTP
Rich Client Open Source Development Platform Laszlo
Laszlo is an open source Rich Client development environment. When using the Laszlo platform, the developer only needs to write a description language named LZX (where XML and JavaScript) are integrated, and the Laszlo platform running on the J2EE application server will compile it into a Flash file and transfer it to the client. From the operation principle, Laszlo and XUL (XML user interface language, XML user interface language), XAML ("longhorn") tag language is very similar. But its biggest advantage is that it compiles the description language into flash, and Flash is a display form supported by any browser, so that the browser is solved with the browser. Moreover, in the future plan, Laszlo can also compile LZX into Java or .NET local code, greatly improve operational efficiency.
Please refer to http://www.openlaszlo.org for details.
The IBM AlphaWorks website has recently released an integrated development environment for developing a Laszlo application (actually an Eclipse plugin) that allows J2EE developers to quickly develop Laszlo-based Rich Client applications in their familiar Eclipse environments. The plugin can be downloaded at the following address:
http://alphaworks.ibm.com/tech/ide4laszlo
In addition, the AlphaWorks website also provides an example application developed by Laszlo, showing the process of developing a Laszlo application in an Eclispe environment. The address of Demo is as follows:
http://dl.alphaworks.ibm.com/technologies/rcb/demo.htmlflex
Flex is developed by Macromedia, which is used for Rich Client development. The principle is to compile MXML (The Macromedia Flex Markup Language) file, then displayed in the browser and communicate with Web Service technology and server. This uses Flash's powerful features to bring a richer user experience.
The official statement of Flex is as follows (taken from the network):
Original Macromediaflex software for "Royal" will combine server software, development guides, and other tools to make traditional web application developers create software units with Macromedia's Flash format. For example, the product's focus is to let developers who use Sun Microfit Java2 Enterprise Edition (J2EE) to create more attractive, easier navigation J2EE application software interface.
Flex will enable J2EE developers to use standard textual development tools to make Flash applications without having to use complex design tools sold by Macromedia. Since the beginning of this year, Macromedia has begun to expand the appeal of the mainstream developer this year, and its goal is to expand the use of Flash and make it a basis for providing Internet applications and establishing an interactive website.
Macromedia plans to launch FLEX server software in the first half of 2004, the price of the software is still not determined. Its primary version will run in J2EE and plans to introduce a version that supports Microsoft's .NET format. The initial supporters include IBM, which will promote FLEX applications with their websitephere software.
Friends who need to know more flex technology can access Flex's homepage:
http://www.macromedia.com/software/flex/
Thinlet
The Thinlet is a parser with applet to parse XUL and provides the corresponding interface. When the event occurs, the user's own event handler (Java program) is required, requiring the client browser to support the applet. More information can be referred to http://www.thinlet.com/
Author: Big Fu, now works at a large domestic software companies
Mailbox: toafu2002@yahoo.com.cn
QQ: 1836566
MSN: toafu@msn.com