Loose coupling

From Wikipedia, the free encyclopedia

(Redirected from Loosely coupled)
Jump to: navigation, search

Loose coupling describes a resilient relationship between two or more systems or organizations with some kind of exchange relationship. Each end of the transaction makes its requirements explicit and makes few assumptions about the other end. The notion of loose coupling is found in computer systems, and was introduced into organizational studies by Karl Weick.

Contents

Loosely coupled systems are considered useful when either the source or the destination computer systems are subject to frequent changes.

Loose coupling is a design goal most sought by organizations that are implementing an Enterprise Messaging System (EMS). Loose coupling is often achieved by programming to an interface.

The Loose coupling concept has multiple dimensions. For example, integration between two applications may be loosely coupled in time using Message-oriented middleware - meaning the availability of one system does not affect the other. Alternatively, integration may be loosely coupled in format using middleware to perform Data transformation - meaning differences in data models do not prevent integration. In Web Services or Service Oriented Architecture, loose coupling may mean simply that the implementation is hidden from the caller.

Loose coupling can be applied to any friction-free linking enabled by open architectures. Loosely coupled services, even if they use incompatible system technologies, may be able to be joined together on demand to create composite services, or disassembled just as easily into their functional components. Participants can establish (normatively or inceptively) a shared semantic framework to ensure messages retain a consistent meaning across participating services.

Loose coupling describes an approach where integration interfaces are developed with minimal assumptions between the sending/receiving parties, thus reducing the risk that a change in one application/module will force a change in another application/module.

Loose coupling also describes a computer system where two or more physical processors are sharing storage disks with each other in a real time environment. The system must be designed such that the code to be shared is reentrant and that the records to be shared are protected by record locking.

The degree of loose coupling can be measured by noting the number of changes in data elements that could occur in the sending or receiving systems and determining if the computers would still continue communicating correctly. These changes include items such as:

  1. new data elements being added to messages
  2. data element order being changed
  3. names or structures of data elements being changed
  4. data elements being omitted

Loose coupling of interfaces can be dramatically enhanced when publishers of data transmit messages using a flexible file format such as XML to enable subscribers to publish clear definitions of how they subsequently use this data. For example, a subscriber could publish the collection of statements used to extract information from a publisher's messages by sharing the relevant XPath expressions used for data transformation. This would allow a responsible data publisher to test whether their subscriber's extraction methods would fail when a published format changes.

Loose coupling of services can be enhanced by reducing the information passed into a service to the key data. For example, a service that sends a letter is most reusable when just the customer identifier is passed and the customer address is obtained within the service. This decouples services because services do not need to be called in a specific order (e.g. GetCustomerAddress, SendLetter)

Note that loose coupling is not universally positive. If systems are de-coupled in time using Message-oriented middleware, it is difficult to also provide transactional integrity. Data replication across different systems provides loose coupling (in availability), but created issues in maintaining synchronisation.

The notion of loose coupling was introduced into organizational studies by Karl Weick.

  • Loosely Coupled: The Missing Pieces of Web Services by Doug Kaye
  • Service Oriented Architecture: A field Guide to Integrating XML and Web Services by Thomas Erl
  • Karl Weick, "Educational organizations as loosely coupled systems", Administrative Science Quarterly, 21 (1976), 1-9 (part).
  • "The Management of Organizational Change among Loosely Coupled Elements" (1982) by Karl Weick reprinted in his book Making Sense of the Organization (2001)
  • James Douglas Orton and Karl E. Weick, Loosely Coupled Systems: A Reconceptualization, Academy of Management Review 15 (2):203-223 1990

Advanced Search
Included Web Search Engines


Safe Search

close

Top Matching Results

Occasionally Search.com will highlight specialized results that are based on the context of your query. Examples of specialized results include specific links to news, images, or video.

Top Matching Results may highlight information from other Search.com pages, content from the CNET Network of sites, or third party content. The listings are based purely on relevance. Search.com does not receive payment for listings in this section but our partners that provide this data may get paid for listing these products.

Sponsored Links

This section contains paid listings which have been purchased by companies that want to have their sites appear for specific search terms and related content. These listings are administered, sorted and maintained by a third party and are not endorsed by Search.com.

Search Results

Search.com sends your search query to several search engines at one time and integrates the results into one list which has been sorted by relevance using Search.com's proprietary algorithm. You can customize the list of search engines included in your metasearch from the preferences.

The search engines that are used in your metasearch may allow companies to pay to have their Web sites included within the results. To view the Paid Inclusion policy for a specific search engine, please visit their Web site. Search.com does not accept payment or share revenue with any search engine partner for listings in this section.