Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Client-server, or with the inclusion of database, 3-tier architecture is a design pattern itself. The question is rather which technology should be used in the communication. There are many choices, e.g. HTTP, TCP, UDP, JMS, XMLRPC, RMI, CORBA, C RPC or flash-drives carried by post pigeons. In general, it is advised to </p> <ul> <li>use a technology that has a tooling to define your message/data format, like SOAP (WSDL), CORBA (IDL), XML (XSD, Relax NG, Schematron,..) over JMS/HTTP/....</li> <li>choose a text-based format (XML, JSON, ..) instead of a binary (RMI, CORBA, ..) when performance is not a major issue. Text formats are easier to understand for the programmers writing the next version or a brand new client. It is also easier to debug or audit such an interface.</li> <li>use an open, standard technology, don't re-invent the wheel.</li> <li>choose an underlying transport that suits your communication model. E.g. JMS is well suited for fire-and-forget communication, while HTTP is well suited for synchronous request-reply. </li> <li>keep in mind higher-level architecture. E.g. if your server (service) is one of many maintained by the same IT department, it is advised to use the same communication technology for all of them (see also SOA).</li> </ul> <p>Regarding your question on dependency on the chosen persistence framework, I think there is none. Your choice of using e.g. Hibernate does not enforce or exclude any client-server communication technologies.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload