Riia Technical Introduction
--Rich Internet Applications
9/15/2004 Version1.0
1 RIA technology introduction ... 1
1.1 RIA production ... 1
1.2 RIA technology development history ... 2
1.2.1 representation of the development of layers ... 2
1.2.2 Tools, Standards and Models Development History ... 3
1.3 Existing RIA technology ... 4
2 JDNC. 5
2.1 Technical Structure ... 5
2.2 JDNC demonstration ... 6
3 flex technology ... 7
3.1 flex application ... 8
3.1.1 Flex Development Model ... 8
3.1.2flex and N layer model ... 8
3.1.3Flex deployment and management ... 8
3.2 Flex Product Overview ... 8
3.2.1 Flex Application Framework ... 9
3.2.2 MXML: Flex Markup Language ... 9
3.2.3 FLEX runtime service ... 9
1 RIA technology introduction
1.1 RIA production
Since the B / S architecture rapidly spread (this is very grateful to IE, IE's absolute market share determines that we can consider the difference between different browsers, especially for enterprise software), we have been Faced with such a question: How to do the exact control and a good user experience? Of course, a large number of DHTMLs and JavaScript we can achieve a representation of the C / S era, such as Bindows, but we need to pay more human resources than the C / S era to close the C / S client. Performance, this customer experience is not satisfactory, because the web model is a model based on the HTML page, which lacks client intelligence, so it is relatively simple things (such as online shopping). Moreover, it is almost unable to complete complex user interactions (such as traditional client / server applications, and user interactions in desktop applications). Such techniques make it difficult for a generation of web applications, high support costs, and cannot function in many ways.
In order to improve the user experience, a new type of Internet application has appeared. That is Rich Internet Applications. These applications combine the fast and interactive advantages of desktop applications, and the range of communication ranges from web applications and easily propagate. Rich Internet Applications simplifies and improves user interaction of web applications, thereby promoting investment income (ROI) growth. In this way, the application developed by the user can provide a richer, more interactive and responsive user experience.
1.2 RIA technology development history
Early RIA technology can consider OCX, including the Applet and Windows platforms of the Java platform (developed to the current ActiveX). These two technologies are implemented in the first limit browser security model, only limited access to desktop applications and data. If you want to provide more desktop integration, you must use a certificate to install the browser's digital certificate by the authority. This model is very troublesome. At the same time, Applet must support JVM, and most of our browsers we use do not support the latest JVM (JDK1.1.5 in IE), users want to run Applet
Also download and install JVM separately. ActiveX technology can only be used in IE, which limits the user to use the Windows platform. In order to overcome these problems, people have explored in-depth exploration.
1.2.1 Representation of the development of layers
There is a lot of limitations that use HTML to submit applications on the Web, which brings more and more setbacks to users and IT organizations. The pressure of technology and business has driven the emergence of new solutions, the new solution overcomes the limitations of HTML while maintaining a centralized deployment management model, and adds the richness and control of desktop applications. The benefits of a wonderful user experience
For most successful companies, it is critical to providing superior customer experience, and the rapid development of the Internet has increased the proportion of customer and partner online interaction. This means that online experience is replacing private interactions, this trend has increased. On the surface, this trend brings potential benefits due to reducing costs, but it is hard to say if the specific per company will benefit from it. This is because on the Internet, the cost of changing the product selection is very low, so the quality of the user experience has become an important factor in establishing and maintaining online customer relationships.
Wonderful user experience has always been the characteristics of most lead brands. If organizations understand the benefits of a wonderful user experience, they will focus on attracting and maintaining online customer relationships.
Wide range and richness
Our industry has experienced important transformations in several system architectures. In this process, the client's performance features have fallen. Figure 1 shows the changes in the application experience of each phase of the computing function, which starts from the mainframe to the emergence of Rich Internet Applications.
Figure 1: Development of RICH Internet Applications
Figure 1 shows the following changes in the client application:
2 Host-based applications - interactive applications developed by hosting (can be large computers or small computers). The business needs of this phase are promoted from the company's internal business automation, such as wage forms. The application is localized in the interior private network, and the richness of the user interface is limited to text.
2 Customer / Server Applications - Customer / Server Applications Developed very quickly, because we need to access information and applications within the corporate organization. Applications can still be accessed locally in the enterprise organization, but with the application of the graphical user interface and the application of the client processing, the application has greatly improved.
2 Web Application - WEB Application Global Application, and models based on host centralized management applications, solve the main limitations of the client / server model - but for users, this requires huge input. From the perspective of processing, the web application model transforms the client to a virtual terminal. The main interaction problem used to provide the best user experience disappeared. These major issues include direct control, client processing, and local storage.
As each enterprise organization recognizes that the Rich Internet Applications model produces significant business profits, improve productivity and reduced cost advantages, the development momentum of this model is getting more violent. These applications combine the fast and interactive advantages of desktop applications, and the range of communication ranges from web applications and easily propagate. The next step in the development of the system architecture is Rich Internet Applications, which maximizes extensive and richness.
1.2.2 Development of tools, standards and models
Although the prospect of Rich Internet Applications is attracted, the organizations of each enterprise require new technologies to be existing.
The field structure and processing process are suitable. New technologies must meet or exceed the following requirements:
Provide a user-familiar programming model. Enterprise developers are familiar with the use of object-oriented languages (such as Java or
C #) Develop business logic and backend, and use tagged languages (such as JSP, ASP, and
CFML) Development of user interface. New products must be created based on existing models to make full use
Existing technologies and ensure low cost.
Use the existing infrastructure. Many business organizations have made a lot of investment in server applications. According to major
Industry analysts' investigations: Most enterprise organizations will be used internally to use J2EE and .NET technology internally. Most corporate organizations also need to use and comply with this infrastructure.
Use standard protocols and APIs. One of the many advantages of the Web is to use a wider standard in the entire technical stack.
quasi. These standards include, but are not limited to, industry standards such as HTML / HTTP, XML, SOAP / online service
, CSS, SVG, as well as J2EE and .NET, etc. Most corporate organizations should also follow
Keep the above criteria.
Keep existing tools. For developers using representative layer solutions, key issues are capable of ensuring use
Some editors or integrated development environments (IDEs) to write applications. Developers want to take advantage of the main IDE (such as
Eclipse, Borland Jbuilder, JetBrains Intellij Idea, Microsoft Visual
Studio) and the main web application development products (such as Macromedia Dreamweaver MX)
To write code.
Support the main design model. Enterprises Develop business development with design models when creating an application. in
Over the past few years, similar models - view - Controller (MVC) models in J2EE and .NET enterprise applications
The order development is increasingly common. Representation layer solution must adapt to these existing model-based architectures.
Due to architectural consistency and standard-based solutions, Rich Internet Applications has never been able to
Most enterprise applications developers. This situation has changed until now.
1.3 Existing RIA technology
With the advancement of technology, people have developed new RIA technology, including JDNC, Flex (MXML), XAML, XUL, JSF, etc.
2 These technologies have some common, including:
2 use ripe HTTP communication modes;
2 based on XML grammar and label language TAG technology;
2 rich desktop application integration;
2 Whenever the system is installed and maintained, the software is automatically upgraded.
MXML is a markup language that Macromedia has just launched this year is the basis of Flex technology. In the next generation of RELEASE MS next-generation operating system Longhorn, the next-generation operating system LONGHORN, will include XAML technology (XML Application Markup Language). MXML and XAML are based on XML-based user interface tag language, and there is also XUL (XML User Interface Language). In these techniques, only FLEX is applicable. XAML and XUL still have to wait and see.
JDNC (Java Desktop Network Component is a new Java community, based on Java technology big RIA technology, which can use the Java desktop side power to provide users with a perfect experience.
The content below this article will briefly introduce JDNC and FLEX technology. Both techniques may represent future RIA technology towards.
2 JDNC
2.1 Technical Structure
JDNC (JDESKTOP NetWork Components) https://jdnc.dev.java.net/ is an open source RIA implementation technology launched by the Java community. The current version is 0.6. A RIA application similar to JDNC is deployed in the Internet web server side, running in a customer's desktop operating system. The rendering of the interface and the user I / O operation are in the client, not the server. The UI-related information will not transmit the data in the user and server side as each request response is transmitted each time. This greatly reduces network traffic, reducing the computational power requirements of the server, and the client response speed is extraordinary. At the same time, JDNC uses Swing components that can provide users with a rich UI interface, which can be comparable to the C / S system. The following figure is the technical structure of JDNC:
Figure 2 JDNC technology structure
The bottom, JDNC still needs a JVM, which can be JRE or J2SDK, which is similar to Applet / Java Web Start. In fact, the most widely apparent application of JDNC is based on Java Web Start, and its boot script still requires JNLP (MIME protocol used by Java Web Start) to be implemented.
2 SWING EXTENS: JDNC is data-centric, and the Swing component is implemented in MVC mode. It is not completely Data-Centric, so JDNC is necessary to make a layer of extension on Swing, let RIA Program support data is centered on. This also saves the developer a lot of time because the data and UI bindings JDNC have been done for us. Swing Extension is the technical level to complete this feature
2 JDNC API: For ordinary web application developers, most of them are not familiar with SWING components. Swing Extension has made some packages for Swing, but basic grammar is still Swing programming languages, which is not enough for users, but also understands AWT and SWING programming knowledge. To this end, JDNC encapsulates a variety of common components on Swing, such as JTREE, JTABLE, JBUTTON, making them easier for the RIA application, these new components are in the org.jdesktop.jdnc package, such as Jxtable packaging The function of MVC, such as JTABLE and TABLEMODEL, and provides data binding functions for Table components. The JDNC API is a high-level package for Swing components for Web developers.
2 JDNC Markup Language: This scalable markup is also based on XML syntax, but it is more dedicated than XUL / XAML, which provides a custom TAG tag, similar to the TAG tag in JSP. Different from this TAG in JSP is that the JSP TAG is executed after the server is compiled by the JSP / Servlet container, generating a standard HTML page to output to the client browser for browser rendering. The JDNC marker language itself is an XML document or XML output stream (JNLP MIME type), which triggers Java Web Start in the client's browser, Java Web Start will analyze this JNLP file, see if there is legal JDNC access, if Yes, the JDNC API is triggered. Of course, JDNC not only supports Java Web START technology, but it can also be performed as an applet and a separate client program.
2.2 JDNC Demonstration
This section shows a simple RIA spreadsheet. This exemplary program only contains a JNLP file, a JDNC file, and a data source in a text format weather.txt. Here is this jnlp file SimpleTable.jnlp: XML Version = "1.0" encoding = "UTF-8"?>
href = "demo / simpletable.jnlp">
information>
resources>
application-desc>
jnlp>
This file is a standard Java Web Start application tag file. First, it is worth noting that the standard execution environment for the specified JDNC API is required in
Here is a SimpleTable.jdnc file, which is very simple:
XML Version = '1.0'?>
XMLns = "http://www.jdesktop.org/2004/05/jdnc">