The following is a definition from http://www.techweb.com/enc
tightly coupled
Refers to two or more computers linked together and dependent on each other. One computer may control the other, or both computers may monitor each other. For example, a database machine is tightly coupled to the main processor. Two computers tied together for multiprocessing are tightly coupled. Contrast with loosely coupled, such as personal computers in a LAN.
In terms of application software, the meaning is similar - an app or component which is tightly coupled depends on another app or component and if the other app has changed it will not function properly. Tight coupling is a Bad Thing. Loose coupling is desirable, it enables an app to change the way it works internally without affecting other components which use it.
JMS is loosely coupled because it allows disparate systems to subscribe to a queue or topic unlike RMI which directly uses the objects that it needs.
Cheers,
Jonathan
Main Topics
Browse All Topics





by: Prasanna_HebbarPosted on 2001-07-03 at 23:28:57ID: 6251454
Loosely coupled applications : Each of the applications can be modified independently. Easy for maintainance. For example, if you are using xml for data transfer between two applications, in future you can add two more tags to your xml. So one application(server) can change, not requiring the other application(client) to change.
But in case of tightly coupled applications, ie RMI. the method signature is defined. Eg:
process(String firstName, String lastName);
Suppose tomorrow if you want to change the signature, say add one more parameter.
process(String firstName, String lastName, String middleInitial);
Then the server application and the client application has to be changed simultaneously.
So changing one application requires the changes to other applications in tightly coupled applications. Whereas this is mostly not required in loosely coupled applications.