如果现在的互联网速度足以完成“传统”操作,为什么还要费心多层 RIA呢?胖客户端C/S?

发布于 2024-09-04 04:04:36 字数 314 浏览 10 评论 0原文

如果现在的互联网速度足以实现“传统”胖客户端 C/S,为什么还要费心多层 RIA呢?

仅仅使用普通的 C++/Delphi/Oracle Forms/JAVA-Swing 应用程序通过 Internet 直接与 RDBMS 对话会怎样?

在 Delphi 中编译的一个非常复杂的 exe 程序大约有 10MB,在一个像样的 1MB ADSL 连接中几分钟内就可以下载这个数量的代码。

毕竟,我们正在使用 AJAX / BlazeDS / JSON / 等通过 http/https 协议推送,但有很多层和很多故障点......

请发表评论......

Why bother with multi-layer RIA if Internet now is fast enougth to do "traditional" fat client C/S?

What just use a plain C++ / Delphi / Oracle Forms / JAVA-Swing application talking directly to RDBMS thru Internet?

A very complex compiled exe program in Delphi is about 10MB, that amount of code downloads in a couple of minutes in a decent 1MB ADSL connection.

After all what is what we are doing with AJAX / BlazeDS / JSON / etc pushing thru http/https protocol but with a lot of layers and a lot of points of failure...

Comments please...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

笨死的猪 2024-09-11 04:04:36

首先了解一下术语,您所说的“传统胖客户端”可能是桌面软件。 Web 应用程序通常编写为瘦客户端,但也可以编写为胖客户端。胖客户端富互联网应用程序以客户端为中心,这意味着很多工作都是在客户端(浏览器)中完成的。胖客户端 RIA 可以借助 AJAX 或 Adob​​e Flash 等技术来编写。

比较基于 Web 的应用程序相对于桌面软件的优势:

可维护性:基于 Web 的应用程序的优点之一是其可维护性。您只需安装一次该应用程序,然后所有用户都可以直接使用它。软件更新也是如此,您只需更新服务器上的软件即可确保每个用户都使用最新版本的软件。这样就无需更新用户计算机上的应用程序的单独安装。

安全性:使用基于网络的应用程序有两个积极的安全含义。如前所述,您只需在一处更新软件即可。这意味着用户始终使用最新版本的软件,从而消除了人们使用过时的、易受攻击的应用程序版本的问题。

更重要的是,胖客户端应用程序是不安全的。它们暴露应用程序逻辑和可能的敏感数据,例如数据库凭据。胖客户端可以被逆向工程,并且可以根据获得的信息来设计攻击。为了使应用程序真正安全,应用程序逻辑应该保留在服务器上,而客户端应该很瘦,并且仅将服务器作为应用程序中处理的信息的表示层。请记住,应用程序逻辑的暴露也会影响富互联网应用程序。以公开应用程序逻辑的方式编写 RIA 很容易。因此,重要的是要记住应用程序的状态应始终保留在服务器上,如上所述,浏览器只是呈现数据的手段。换句话说,基于 Web 的应用程序和桌面应用程序都可以是(不)安全的,我只是说在编写桌面软件时将应用程序逻辑推送到客户端存在更大的风险。

平台无关:基于 Web 的应用程序是平台无关的(使用平台特定功能的应用程序除外,例如 activex)。这意味着您的用户可以在 Mac、Windows 或 Linux 计算机上使用该应用程序,这并不重要。当然,不幸的是,创建无法运行/只能在特定浏览器(例如 Internet Explorer)上运行的 Web 应用程序很容易。尽管如此,使 Web 应用程序跨浏览器兼容比编写真正跨平台兼容的桌面软件要容易得多。

可访问性:如果您连接到 Internet/Intranet,则可以访问该应用程序。无论您借用了朋友的笔记本电脑还是坐在台式计算机旁,您仍然可以访问该应用程序,因为它不需要您在计算机上安装任何内容。只需浏览到应用程序 URL。

First a bit about terminology, what you refer as "traditional fat clients" are probably desktop software. Web applications are often written as thin clients, but they can also be written as fat clients. A fat client rich internet application are client centric, which means that a lot of the work is done in the client (browser). Fat client RIAs can be written with the help of technologies such as AJAX or Adobe Flash.

To compare the advantages of web based applications over desktop software:

Maintainability: One of the advantages of web based applications is the maintainability of them. You only have to make one installation of the application and then it is directly available for all users. Same goes for updating of the software, you only need to update the software on the server and then you can be sure that every single user is using the latest version of the software. This eliminates the need to update individual installments of the application on the users' computers.

Security: There are two positive security implication in using web based application. As said previously, you only need to update the software in one place. This means that the users always have the most up-to-date version of the software in use, thus eliminating the problem of people using outdated, vulnerable version of the application.

What is more important, is that fat client applications are insecure. They expose application logic and possibly sensitive data such as database credentials. Fat clients can be reverse engineered and attacks can be crafted based on the gained information. For an application to be truly secure, the application logic should stay on the server and the client should be thin and only server as a presentation layer for the information handled in the application. Do remember the exposure of application logic can also affect rich internet applications. It is easy to write RIA in a way that it exposes application logic. Hence it is important to remember that the application's state should always stay on the server, the browser is, as said, only means for presenting the data. In other words, both web based applications and desktop applications can be (in)secure, I'd just say that there is a greater risk of pushing application logic to the client when writing desktop software.

Platform independent: Web based applications are platform independent (with the exception in application that use platform specific functionality, such as activex). This means that your users can be using the application from a mac, a windows or a linux computer, it doesn't matter. Of course, it is unfortunately easy to create web applications that do not work/only works on specific browsers, such as Internet Explorer. Although, it is much easier to make a web application cross-browser compatible than to write a desktop software to be truly cross-platform compatible.

Accessability: If you are connected to the Internet/Intranet, you have access to the application. It doesn't matter if you have borrowed your friend's laptop or if you are sitting by your desktop computer, you still have access to the application since it doesn't require you to install anything on the computer. Just browse to the application URL.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文