In wiki, it says:
Java Platform, Enterprise Edition [...] to deploy [...] distributed, multi-tier Java software, based largely on modular components running on an application server.
As far as i know, distributed means "multiple computers" which is equal to "multiple servers", so why it says in the end "running on an application server" (so only 1 server) ?
Does a Java EE application have to be multi-tier ?
Are application based on a Service-oriented architecture also Java EE applications ?
Applications using RMI and sockets, are they Java EE applications (since there are calls between different processes which can be on different servers)?
multi-tier and/or ditstributed do they have the same meaning ?
When we talk about layers in these apps, is it physical layers ( database, browser, web server,...) or logical layers (data access layer, business layer,...) ?