Middleware (distributed applications): Difference between revisions

Content deleted Content added
m Reverted 1 edit by 112.134.96.200 (talk) to last revision by BrownHairedGirl (TW)
Monkbot (talk | contribs)
m Task 16: replaced (4×) / removed (0×) deprecated |dead-url= and |deadurl= with |url-status=;
Line 10:
Software that provides a link between separate software applications. Middleware is sometimes called plumbing because it connects two applications and passes data between them. Middleware allows data contained in one database to be accessed through another. This definition would fit [[enterprise application integration]] and [[data integration]] software.
 
ObjectWeb defines middleware as: "The software layer that lies between the [[operating system]] and applications on each side of a distributed computing system in a network."<ref>{{Cite web|first=Sacha|last=Krakowiak|url=http://middleware.objectweb.org/|title=What's middleware?|accessdate=2005-05-06|publisher=ObjectWeb.org|deadurlurl-status=yesdead|archiveurl=https://web.archive.org/web/20050507151935/http://middleware.objectweb.org/|archivedate=2005-05-07|df=}}</ref>
 
== Origins ==
Line 32:
Databases. Journal of Database Management, 17(4), 20-39,41-46. Retrieved March 7,
2009, from ABI/INFORM Global database. (Document ID: 1155773301).
</ref> In the highly competitive healthcare community, laboratories make extensive use of middleware applications for [[data mining]], [[laboratory information system]] (LIS) backup, and to combine systems during hospital mergers. Middleware helps bridge the gap between separate LISs in a newly formed healthcare network following a hospital buyout.<ref>Bagwell, H. (2008). [http://www.devicelink.com/ivdt/archive/08/07/007.html Middleware: providing value beyond autoverification] {{Webarchive|url=https://web.archive.org/web/20091012130823/http://www.devicelink.com/ivdt/archive/08/07/007.html |date=2009-10-12 }}. IVDT. Retrieved March 3, 2009. {{Cite web |url=http://www.devicelink.com/ivdt/archive/08/07/007.html |title=Archived copy |access-date=2009-03-09 |archive-url=https://web.archive.org/web/20091012130823/http://www.devicelink.com/ivdt/archive/08/07/007.html |archive-date=2009-10-12 |deadurl-url=yes |dfstatus=dead }}.</ref>
 
Middleware can help software developers avoid having to write [[application programming interface]]s (API) for every control program, by serving as an independent programming interface for their applications.
Line 53:
 
===Intelligent middleware===
<ref>[http://www.cougaarsoftware.com/files/CSI_ActiveEdge.pdf Choosing the Right Middleware] {{Webarchive|url=https://web.archive.org/web/20120402121113/http://www.cougaarsoftware.com/files/CSI_ActiveEdge.pdf |date=2012-04-02 }} {{Cite web |url=http://www.cougaarsoftware.com/files/CSI_ActiveEdge.pdf |title=Archived copy |access-date=2011-09-15 |archive-url=https://web.archive.org/web/20120402121113/http://www.cougaarsoftware.com/files/CSI_ActiveEdge.pdf |archive-date=2012-04-02 |deadurl-url=yes |dfstatus=dead }}</ref>
Intelligent [[Middleware]] (IMW) provides [[real-time intelligence]] and event management through [[intelligent agents]]. The IMW manages the [[real-time processing]] of high volume sensor signals and turns these signals into intelligent and actionable business information. The actionable information is then delivered in end-user power dashboards to individual users or is pushed to systems within or outside the enterprise. It is able to support various heterogeneous types of hardware and software and provides an API for interfacing with external systems. It should have a highly scalable, [[distributed architecture]] which embeds intelligence throughout the network to transform raw data systematically into actionable and relevant knowledge. It can also be packaged with tools to view and manage operations and build advanced network applications most effectively.
 
==={{Anchor|EMBEDDED}}Content-centric middleware===
Content-centric middleware offers a simple ''provider-consumer'' abstraction through which applications can issue requests for uniquely identified content, without worrying about where or how it is obtained. Juno is one example, which allows applications to generate content requests associated with high-level delivery requirements.<ref>[http://www.dcs.kcl.ac.uk/staff/tysong/files/PhD.pdf Juno] {{Webarchive|url=https://web.archive.org/web/20110426045143/http://www.dcs.kcl.ac.uk/staff/tysong/files/PhD.pdf |date=2011-04-26 }} {{Cite web |url=http://www.dcs.kcl.ac.uk/staff/tysong/files/PhD.pdf |title=Archived copy |access-date=2011-03-12 |archive-url=https://web.archive.org/web/20110426045143/http://www.dcs.kcl.ac.uk/staff/tysong/files/PhD.pdf |archive-date=2011-04-26 |deadurl-url=yes |dfstatus=dead }}, Gareth Tyson, A Middleware Approach to Building Content-Centric Applications. PhD Thesis, Lancaster University (2010).</ref> The middleware then adapts the underlying delivery to access the content from sources that are best suited to matching the requirements. This is therefore similar to [[Publish/subscribe]] middleware, as well as the [[Content-centric networking]] paradigm.
 
; Remote procedure call