根据我的需要,正确的java应用程序类型是什么?

时间:2012-03-09 10:45:02

标签: java web-applications desktop-application java-web-start

我想在Java技术上创建一个应用程序,可以是任何一个:

  1. Swing上的独立桌面应用程序,
  2. 一个webstart应用程序,
  3. 部署在Apache Tomcat或Google App Engine上的Web应用程序。
  4. 回到应用程序的类型和性质,它是一个基于网络的应用程序,例如基于三层的Retail ApplicationEmployeeManagerAdministrator

    现在确定的事情是:

    1. Administrator将为整个申请单身。
    2. Managers被指定为每个分支(或者说每个商店)。
    3. 每个分店/商店都有4-5 Employees
    4. 各个ManagerEmployees将通过LAN连接。
    5. 每个分支的Manager都将连接到Administrator,反之亦然。
    6. Administrator应用程序将是一个基于网络的应用程序,管理员可以在任何地方访问。
    7. 现在我对EmployeeManager控制台感到困惑,我希望只有一个应用程序可以由员工和经理根据身份验证访问,因为他们在同一个分支上,但我对应用程序的类型感到困惑。

2 个答案:

答案 0 :(得分:2)

任何类型的应用程序都可以用于任何角色。

您需要了解每种方法的优缺点,并做出自己的选择。最终,它归结为一个问题,即您是否需要在用户的PC上安装Java和/或Java应用程序。

  • 纯粹基于Web的UI不需要安装Java,但这意味着您需要使用HTML,CSS和Javascript等技术来实现大部分UI代码。

  • Swing要求您在用户的PC上安装BOTH Java和应用程序。您还需要处理让用户安装更新。另一方面,您不需要处理浏览器不兼容性,只能用Java实现。

  • WebStart要求您只安装Java和一个小型JNLP文件。 Webstart负责从中央服务器下载和缓存应用程序,并处理更新。


无论您为UI实现选择什么,您还需要某种后端(至少)接受和处理来自用户的请求,以及管理数据/数据库。您可以使用GAE或Tomcat或任意数量的替代方法来实现此目的。

答案 1 :(得分:2)

我建议使用NetBeans平台(基于Swing的RCP)编写Java Web Start应用程序:

http://netbeans.org/features/platform/

然后,桌面应用程序可以访问已部署到GlassFish等Java EE应用程序服务器的Web服务(Internet)或远程EJB(LAN)。