At that time, we called the traditional desktop software rich client software and Program It is called thin client, so it should be clarified that the rich client program of C/S is not an RIA program. Do not equate "rich client" with "rich experience ", the core of RIA is "rich experience". This "rich experience" not only represents the interface (UI) experience.
In the past two years or so, people have been interested in building a "rich client": This is a user interface, it is more robust, responsive, and visually interesting than HTML interfaces. Rich Internet application (RIA) technology allows us to deploy rich client programs on the Internet in a simple way like using web. Whether or not Ria can completely replace the HTML Application System as people have guessed in the future, for those institutions that use the fat client technology to run complex application systems, RIA does provide a cheap option.
In this column, I will list some of the current Ria products and technologies and provide some inspiration for how to start using these products and technologies. At the devtrends site and the upcoming Oracle magazine, I will discuss in detail specific technologies and strategies for deploying Ria using the Oracle platform.
Why Ria?
The reason why HTML-based applications become popular is that the deployment cost of application systems is low, the structure is simple, and HTML is easy to learn and use. Many users and developers are willing to give up the user interface improvement brought about by the desktop computer to achieve quick access to new data and application systems. Compared with the loss of some important UI functions, the web-based approach brings more benefits.
However, some application systems are not fully suited to HTML technology. Complex application systems may require multiple web pages to complete a transaction. In some fields, such as medicine and finance, this often leads to low interaction speeds. Let me consider a project management system: we can implement it as an HTML application system, but if you can see and operate charts, schedules, and various hierarchies, it will obviously work better.
In addition, although HTML is simple, even simple interaction activities still require a lot of scripts. Even after careful arrangement and comprehensive script design, an input form can only send simple "name/value" pairs from a browser. If an HTML form can send and receive more complex data structures in XML format, it will be much better.
Ria uses a relatively robust client description engine, which provides content-intensive, fast response speed, and rich graphic user interfaces. In addition to an interface with various controls (slide, date selector, window, tab, fine-tuning controller, and ruler), Ria generally allows the use of SVG (Scalable Vector Graphics, scalable Vector graphs) or other technologies to build images at any time. Some RIA technologies can even provide full-activity animations to respond to data changes.
Another advantage of RIA is that the data can be cached on the client, which enables a user interface that is faster than HTML-based response and has less data to and from the server. For wireless devices and devices that need to be connected occasionally, the trend in the future is certainly to the direction of rich clients, and will gradually stay away from text-based web clients. Application Systems running on laptops can be designed to work offline, or at least work offline when the connection is lost.
Figure 1 shows a typical RIA architecture. XML is usually used as the format for data transmission and is sometimes used to describe the layout of a form. In many instances, the client can maintain a connection with the data source, so that the server can update the client data in real time. You can call a web service to access an ORACLE data.
Technology for rich clients
Below are some available RIA technologies:
Java: some very complex client applications (Oracle's jdeveloper, eclipse) are written in Java, this shows that Java can be used to build almost any imaginary rich client application. So far, Java has been around for a few years and supports creating a form-based user interface. In addition to the user interface components in the Java basic class (jfc/swing), developers can also use the SWT toolbox from the Eclipse project and many third-party toolboxes for development. For graphics, you can use Java 2D API-a very complete and complex graphic API.
Java also supports unmatched XML and web services. You can use a web browser to use Java Plug-in software, or use a newer Java Web Start Technology in the Java Runtime Environment to deploy applications. The main drawback of using Java to build rich client programs is its complexity (even for simple forms and graphics, writing is cumbersomeCode). It has the advantages of Java's full support for web standards and Profound Connotation of the language and class library.
XUL: XUL (read as "Zool ") is an XML-based user interface language from Mozilla's open source project. It can be used to create a form application. These applications can run not only on the Mozilla browser, but also on other description engines, such as Zulu (a Flash MX component) and thinleys (a Java implementation ). The XUL description engine is very small (less than KB). It can use XML data or generate XML data. Like java, XUL also has a very large user group with a large number of open source tools, such as Theodore thinleteditor (see "Next ") -- a Java application that allows you to layout user interfaces in a graphical manner and generate corresponding XUL. A major drawback of XUL is that it has not yet been supported by a major commercial entity. The biggest advantage of XUL is its integration with the gecko engine (opening the door to a large number of web standards ), compared with most other XML user interface description languages, it is a very expressive and concise language.
Macromedia Flash and flex: Flash is a mature commercial product that can introduce interactive graphic interfaces to web pages. After the upgrade, the new version includes the function of creating a form-style application. Although flash is still controversial as the most widely deployed front-end technology on the Web (depending on the selected Flash Player version), it is said that more than 98% of desktop systems support falsh. The Flash tool used to create animated images is powerful and visualized (in contrast to other technical requirements for low-level graphic coding), so graphic designers are very handy. The script language used by flah is a variant of ActionScript -- ecmascript 1.5, which is also called JavaScript. The flex product adds an XML Description Language for Flash so that the user interface can be compiled and described at any time using Flash Player. Flex enables traditional development institutions to better understand and use flash. The biggest disadvantage of flex and flash is that they have limited support for standards such as XML and web services, and the environment as an application development tool is not yet mature. The advantage of flex and flash is that it can be easily used to create complex animated displays and third-party attachments.
Oracle Forms: Oracle Forms is a mature commercial product used to build a database-centric Internet application system. With Oracle Forms, you can use a visual designer of the output form module File to create a form. To facilitate further processing outside the design tool, module files are either in private FMT Format or XML format. These module files drive a Java Runtime Environment that describes the form. In addition to the standard widgets of all forms, you can also integrate additional pluggable Java components and custom an to implement more functionality. Oracle Forms uses the PL/SQL scripting language, and Oracle databases use the same scripting language. An interesting feature of Oracle Forms is that it is used to create, edit, and compile Java APIs for form module files. developers can create scripts to generate many forms applications, or make global changes. The main disadvantage of Oracle Forms is that web deployment requires the use permission of the Oracle Application Server. It has the advantage that it can be closely integrated with Oracle databases and other parts of the Oracle platform (such as single sign-on and Enterprise Manager, extensive international support and extremely efficient creation of data-centric applications.
Start to select and use Ria Technology
Here we only discuss some representative examples of technologies that can be used to create Ria, and there are many other technologies. When selecting an RIA technology, you need to weigh the following factors:
Comparison between open source products and commercial products;
Mature features are compared with the latest features;
The range of lightweight features is compared with the richness of the UI;
Comparison between media-centric applications and data-centric applications;
No matter which technology you choose, I can provide the best practical experience in creating Ria applications:
Obtain data in the background thread. For a rich client application, the expected performance is very high. If the application is paused when it collects data from a Web service, it will be considered as unresponsive.
Maintain synchronization between the client and remote data. Since the page is no longer refreshed frequently, it is very important to push data changes to the client asynchronously if possible.
Hire a graphic artist or at least a good uidesigner. Of course, along with the ability to create a visual and interesting UI, it also brings opportunities to confuse things.