关于Java EE的问题?

时间:2010-08-09 08:06:31

标签: sockets java-ee distributed rmi n-tier-architecture

wiki中,它说:

Java平台,企业版[...]部署[strong]分布式,多层 Java软件,主要基于在上运行的模块化组件strong>应用程序服务器。

据我所知,分布式意味着“多台计算机”等于“多台服务器”,所以为什么它最终说“在应用服务器上运行”(所以只有1台服务器) )?

Java EE应用程序是否必须是多层的?

基于面向服务的体系结构的应用程序是否也是Java EE应用程序?

使用RMI和套接字的应用程序是Java EE应用程序(因为不同进程之间的调用可能位于不同的服务器上)?

多层和/或ditstributed他们有相同的含义吗?

当我们谈论这些应用中的图层时,它是物理层(数据库,浏览器,Web服务器......)还是逻辑层(数据访问层,业务层......)?

1 个答案:

答案 0 :(得分:2)

JavaEE是一个编程平台,它提供了许多抽象来构建分布式多层系统。

您也可以自己完成所有操作,而无需直接使用JavaEE抽象和使用RMI或套接字等,但您不能认为您的解决方案是JavaEE。

也就是说,术语应用程序服务器是指用于托管其他应用程序的软件。可以把它想象成Tomcat,它是一个可用于托管多个Web应用程序的Web服务器。术语中间件容器有时也用于指代此类软件。这里的术语 server 不得与 server 作为物理机器的概念混淆。

这意味着,网络中的每台计算机都运行一个用于托管JavaEE应用程序的应用程序服务器。

JavaEE应用程序通常遵循分层架构。层是逻辑概念,层是物理/部署考虑因素。所有图层都可以在同一台计算机上,在这种情况下,您不会说真正的多层。您还可以在不同的层上拆分图层。趋势是简化事情,我见过的大部分项目都是分层的,但不是分层的。

最后,SOA是构建大型企业系统的架构风格。 JavaEE应用程序可以集成在SOA体系结构中。同样,JavaEE是一组抽象,您可以使用它们或多或少创造性地编写Web应用程序或其他应用程序,包括可以集成到SOA体系结构中的东西,尤其是Web服务。

希望它能回答你的问题。