Java架构 - 关于解决方案设计的问题

时间:2010-11-11 16:24:16

标签: eclipse architecture java-ee weblogic

这似乎是一个非常愚蠢的问题,但自从我开始新工作以来,事情对我来说非常复杂。

在我早期的运营商中作为jr。软件开发人员,我所使用的应用程序主要包括Hibernate,Spring和UI(JSF,YUI等)。我正在开发的应用程序非常庞大,在BeaWebLogic服务器上运行。

早期应用程序的设计就像2-3个项目,将应用程序分为 DAO 服务 UI 层,部署在Tomcat和可以从Eclipse中构建运行。易于调试和所有这些。

然而,当前的应用程序正在使用Python脚本进行部署,BEAServer是单独运行的,而且我必须使用一些参数连接到远程Java应用程序。

我的问题是“为什么这里采用这种设计” - 我也会在组织内讨论这个问题,但我想在此讨论它。

1 个答案:

答案 0 :(得分:3)

我认为您应该首先在您的组织内提出您的问题(利用您在工作中的新事实)。毕竟,您的组织应该知道他们为什么按照他们的方式设计应用程序。

然而,我会冒险猜测(而且只是一个猜测,因为你对细节含糊不清):你现在正在寻找的应用程序的复杂性和目的只是你之前工作的一步。如果你仔细观察,我想你会再次找到DAO,服务和UI层 - 但是,它们将不再是同一个应用程序。相反,您可能会发现将UI放入专用客户端应用程序,而服务器则实现服务和DAO层。一个直接的优点是服务器计算机可以完全专用于提供数据,而UI则在用户的计算机上处​​理。您可能还会发现某些应用程序客户端根本不是人类,而是其他计算机系统(逻辑上不需要UI)。

编辑以回答alee的后续评论:

简短的回答是:这取决于。

我在设计企业系统时要做的第一件事就是找到在这类事情上有更多经验的人。但是留给我自己的设备,我首先要看看系统应该做什么;有多少50M用户同时在线;需要什么样的UI等等。根据这些信息,我将绘制初始架构,并决定使用哪些技术。

很可能,我会使用Springs和Hibernate作为服务器的内部,因为这两种技术都很强大,已经很成熟,但也因为我对它们有点熟悉。 EJB-or-not问题将再次取决于具体情况 - 请注意,可以仅使用EJB工具来实现客户端/服务器通信,而系统的其余部分则以更轻量级的方式编写。