首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >希望构建一个2 java应用程序。它是基于网络的应用程序还是独立的应用程序?

希望构建一个2 java应用程序。它是基于网络的应用程序还是独立的应用程序?
EN

Software Engineering用户
提问于 2013-03-07 21:09:31
回答 6查看 1.5K关注 0票数 0

第一个应用程序(基于网络)将位于site1,一旦信息被处理,它将被发送到位于site2的第二个应用程序(基于web)。Application2需要能够与application1做同样的事情。因此,必须有一种方法来共享数据库,使数据保持同步。我想为这两种应用程序建立网络,但问题出现了,如果互联网瘫痪了怎么办?如果application1因停电或网络丢失而瘫痪,application2应该仍然能够做它需要做的事情。我以为数据库/服务器将在亚马逊的EC2上。

即使我为site1和site2提供了一个独立的应用程序,它仍然需要某种互联网连接才能与共享数据库/服务器对话,对吗?因此,我不明白为什么它不应该仅仅是一个基于网络的应用程序。这就是我和我的团队之间的分歧。

我想知道做这两个应用程序的利弊,要么是独立的,要么是基于网络的。

EN

回答 6

Software Engineering用户

发布于 2013-03-08 19:20:32

在上网或独立之前,先弄清楚你的业务领域。

  • 应用程序与服务器对话的频率(同步用户工作区、获取数据、更新数据等)
  • 用户访问该应用程序的频率(每天1次或100次)。
  • 用户将在应用程序上花费多少时间(5分钟或2小时)。

的利弊使这两个应用程序.

可以有一个庞大的列表,但这里只有几点是独立的:

优点:

  • 离线工作(很大的优势)。
  • 不需要考虑诸如跨浏览器的可兼容性等问题。
  • 不需要再进入一个JEE层(接吻原则)
  • 更简单的安全模型(例如,不需要担心xss攻击等)。

缺点:

  • 可访问性(必须安装在独立的机器上,如家庭、办公室)。
  • 可用性(在其他设备上(如平板电脑、智能手机)是不可缺少的)。
  • 升级
票数 1
EN

Software Engineering用户

发布于 2013-03-07 22:16:12

听起来应该是一个基于功能的多个模块的web应用程序。用户将在不同的域下输入,并根据角色和权限访问某些数据。如果创建单独的代码库,那么在创建冗余代码时可能会浪费大量的时间和精力(因此也会浪费金钱)。

票数 0
EN

Software Engineering用户

发布于 2013-03-09 05:13:37

除非你运行的是某种可能会失败的代理服务器,否则互联网崩溃就意味着一个网络分区。由于HTTP是通过TCP的,所以"internet关机“可能意味着您无法在这两个节点之间建立TCP连接。我倾向于基于web的,因为端口80和443通常是通过防火墙打开的,而在某些环境中,奇怪的端口可能是一个问题。

无论哪种方式,您都可能需要通过计算如何表示更改来处理分区(也就是说,每条消息都是要在目标节点上执行的序列化方法调用)。当您检测到一个分区(因为您无法建立网络连接)时,您将消息排队。棘手的部分是检测分区已被治愈,现在您可以将积压的消息刷新到目的地。

然而,这就是CAP的发展方向,一旦您有了一个网络分区,您就必须在可用性和一致性之间做出选择。http://en.wikipedia.org/wiki/CAP_定理。这是一个比运输层更大、更棘手的问题。

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/189662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档