【问题标题】:Questions about Java EE?关于 Java EE 的问题?
【发布时间】:2011-03-27 04:21:22
【问题描述】:

wiki 中,它说:

Java Platform, Enterprise Edition [...] 部署 [...] 分布式多层 Java 软件,主要基于运行在 应用服务器。

据我所知,分布式的意思是“多台计算机”,等于“多台服务器”,所以为什么它最后说“在应用程序服务器上运行”(所以只有一台服务器) ?

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

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

使用 RMI 和套接字的应用程序,它们是 Java EE 应用程序吗(因为在不同服务器上的不同进程之间存在调用)?

多层和/或分布式它们的含义相同吗?

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    也就是说,网络中的每台计算机都运行一个用于托管 JavaEE 应用程序的应用程序服务器。

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

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

    希望它能回答你的问题。

    【讨论】:

    • 为什么 RMI 或套接字不被认为是 JavaEE?
    • AFAIK,它们被认为是 Java SE 平台的一部分。 Java EE 是在 Java SE 之上添加的一堆 API,如 EJB、JTA、JMS、JSP/Servlet、JSF 等。API 列表在这里download.oracle.com/javaee/5/api。如果您不使用其中之一,则不能真正说您在使用 JavaEE。这并不意味着您没有在做企业级的顶级软件。我见过使用 RMI 和 Java SE 编写的出色后端软件。
    • 那么,您没有使用 JavaEE 的 API 之一的事实意味着您没有使用 Java EE 吗?但是使用 RMI 和套接字,您可以开发多层分布式应用程序吗?
    • 多层和/或分布式它们是否具有相同的含义?当我们谈论这些应用程序中的层时,是物理层(数据库、浏览器、Web 服务器……)还是逻辑层(数据访问层、业务层……)?
    • @mohamida 最后一条评论本身就是一个问题,所以我建议你再提出一个问题。我的回答太长了,无法发表评论:)
    猜你喜欢
    • 2011-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-30
    • 2012-03-15
    相关资源
    最近更新 更多