Loosely Coupled glossary http://looselycoupled.com/glossary/ Definitions of terms and concepts in web services and process automation Loosely Coupled editors Copyright 2003 Procullux Media Limited 2006-07-26T15:00:00-00:00 MVC http://looselycoupled.com/glossary/MVC (Model View Controller) A design pattern used in services architectures. MVC expresses the separation of a software architecture into three distinct elements. The 'Model' is how the underlying data is structured. The 'View' is what is presented to the user or consumer. The 'Controller' is the element that performs the processing. Separating these three elements makes it easier to achieve loose coupling, because it makes it possible for the controller to work with multiple different Model and View components. 2006-07-26T15:00:00-00:00 RIA http://looselycoupled.com/glossary/RIA (Rich Internet Application) Fully featured software package that runs in a browser. Early generations of Internet-hosted, browser-based applications were notoriously basic compared to equivalent software that ran on a Windows or Mac desktop. This led to the evolution of RIA platforms (also known as rich client platforms), which boost the core functionality of the basic browser by temporarily downloading extra software to the client. This makes it possible to develop applications with the look and feel of a full-fledged Windows or Mac application, making them faster and more convenient to use. RIAs are distinct from 'smart clients', which require extra software pre-installed on the client machine. The leading RIA platforms today are AJAX, based on JavaScript and XML messaging, and Adobe Flex, based on Macromedia's Flash technology. 2006-07-26T15:00:00-00:00 semantics http://looselycoupled.com/glossary/semantics Intended meaning. In computing, semantics is the assumed or explicit set of understandings used in a system to give meaning to data. One of the biggest challenges when integrating separate computer systems and applications is to correctly match up the intended meanings within each system. Simple metadata classifications such as 'price' or 'location' may have wildly different meanings in each system, while apparently different terms, such as 'client' and 'patient' may turn out to be effectively equivalent. 2006-01-02T14:00:00-00:00 EJB http://looselycoupled.com/glossary/EJB (Enterprise JavaBeans) Software components for networked Java applications. Defined by the Enterprise JavaBeans specification, EJBs are the basic building blocks of software applications on the J2EE platform, which has been the preferred choice for many enterprises when building large-scale, web-accessed applications. Recently, however, many developers have been turning away from the complexity of EJBs in favor of simpler alternatives. The new EJB 3.0 specification attempts to answer these criticisms by simplifying EJB development. 2005-11-11T12:00:00-00:00 AJAX http://looselycoupled.com/glossary/AJAX (Asynchronous Javascript And Xml) Technique for dynamically updating web pages. AJAX is the term coined in February 2005 to describe a collection of technologies used to automatically update and manipulate the information on a web page while it is being viewed in a browser (ie without the user having to manually refresh the page). This allows developers to create more sophisticated web pages and applications without having to add to the native capabilities of the browser. A key component is the use of XMLHttpRequest, a function originally added to browsers by Microsoft, to exchange data in the background with one or more web servers. 2005-10-12T14:00:00-00:00 AON http://looselycoupled.com/glossary/AON (Application-Oriented Networking) Using network devices to help with integration. Application-oriented networking has arisen in response to increasing use of XML messaging (combined with related standards such as XSLT, XPath and XQuery) to link miscellaneous applications, data sources and other computing assets. Many of the operations required to mediate between these different participants, or to monitor their exchanges, can be built into network devices that are optimized for the purpose. The rules and policies for performing these operations, also expressed in XML, are specified separately and downloaded as required. Network equipment vendor Cisco has adopted the AON acronym as the name of a family of products that function in this way. 2005-08-11T11:00:00-00:00 XBRL http://looselycoupled.com/glossary/XBRL (eXtensible Business Reporting Language) Standard format for reporting financial data. XBRL is an internationally agreed, open specification that uses XML to structure financial information for automated electronic processing. It is being adopted by major accounting standards bodies, regulators, tax authorities, banks and credit organizations around the world to streamline the reporting and analysis of statutory financial statements and other business financial information. 2005-06-27T14:00:00-00:00 BI http://looselycoupled.com/glossary/BI (Business Intelligence) Analysis of business data. BI is the name given to a class of software tools specifically designed to aid analysis of business data. BI tools have traditionally been associated with in-depth analysis of historical transaction data, supplied by either a data warehouse or an online analytical processing (OLAP) server linked to a database system. BI has a wide range of commercial and non-commercial applications, with the most common being the analysis of patterns such as sales and stock trends, pricing and customer behavior to inform business decision-making. For this reason it is sometimes referred to as decision support software. 2005-06-27T14:00:00-00:00 EII http://looselycoupled.com/glossary/EII (Enterprise Information Integration) Linking information within an enterprise. In most enterprises, information is stored in separate databases, data warehouses and applications. EII products make it possible to combine information from these different data sources on demand. They do this by establishing an intermediate data services layer that makes it possible to access the data in a standardized way, instead of having to interact directly with each separate back-end data source. Although EII is named after EAI, a class of technologies for linking applications, it follows a much more service-oriented model than traditional EAI products. 2005-06-10T19:00:00-00:00 governance http://looselycoupled.com/glossary/governance How an organization controls its actions. Governance describes the mechanisms an organization uses to ensure that its constituents follow its established processes and policies. It is the primary means of maintaining oversight and accountability in a loosely coupled organizational structure. A proper governance strategy implements systems to monitor and record what is going on, takes steps to ensure compliance with agreed policies, and provides for corrective action in cases where the rules have been ignored or misconstrued. 2005-06-06T17:00:00-00:00 data warehouse http://looselycoupled.com/glossary/data%20warehouse A large store of data for analysis. Organizations use data warehouses (and smaller 'data marts') to help them analyze historic transaction data to detect useful patterns and trends. First of all the data is transferred into the data warehouse using a process called extracting, transforming and loading (ETL). Then it is organized and stored in the data warehouse in ways that optimize it for high-performance analysis. The transfer to a separate data warehouse system, which is usually performed as a regular batch job every night or at some other interval, insulates the live transaction systems from any side-effects of the analysis, but at the cost of not having the very latest data included in the analysis. 2005-05-17T14:00:00-00:00 object-oriented http://looselycoupled.com/glossary/object-oriented (OO) Structured around functional units. Object-oriented programming languages such as C++, SmallTalk and Java are designed to build software made up of objects: discrete bundles of functionality that can act on data only in certain pre-defined ways. This modular building-block approach makes complex software development tasks more flexible and easier to manage within a given programming environment. The emergence of object-oriented programming was a stepping stone to the development of componentization and subsequently of service-oriented architectures. 2005-05-17T14:00:00-00:00 metadata http://looselycoupled.com/glossary/metadata Data about data. In common usage as a generic term, metadata stores data about the structure, context and meaning of raw data, and computers use it to help organize and interpret data, turning it into meaningful information. The WorldWide Web has driven usage of metadata to new levels, as the tags used in HTML and XML are a form of metadata, although the meaning they convey is often limited because the metadata means different things to different people. 2005-02-18T15:00:00-00:00 registry http://looselycoupled.com/glossary/registry Recognized service directory. A registry stores information about services in an SOA. At a minimum, the registry includes information that other participants can look up to find out the location of the service and what it does (the UDDI specification defines a web services standard for this functionality). A registry may also include information about policies that are applied to the service, such as security requirements, quality of service commitments and billing. Some registries are extended with document repositories, providing more detailed information about the operation and constraints of the service that may be useful to developers, administrators or users. 2005-02-01T19:00:00-00:00 cache http://looselycoupled.com/glossary/cache Short-term storage. A cache is used to speed up certain computer operations by temporarily placing data, or a copy of it, in a location where it can be accessed more rapidly than normal. For example, data from a storage disk may be cached temporarily in high-speed memory so that it can be read and written more quickly than if it had to come directly from the disk itself; or a microprocessor may use an an on-board memory cache to store temporary data for use during operations. 'Cache' is derived from the French word for a hiding place, and so is pronounced like 'cash'. 2005-01-15T20:00:00-00:00 middleware http://looselycoupled.com/glossary/middleware Integration software. Middleware is the term coined to describe software that connects other software together. In the early days of computing, each software system in an organization was a separate 'stovepipe' or 'silo' that stood alone and was dedicated to automating a specific part of the business or its IT operations. Middleware aims to connect those individual islands of automation, both within an enterprise and out to external systems (for example at customers and suppliers). For a long while, middleware has either been custom coded for individual projects or has come in the form of proprietary products or suites, most notably as enterprise application integration (EAI) software. The emergence of industry-agreed web services specifications is now enabling convergence on standards-based distributed middleware, which in theory should allow all systems to automatically connect together on demand. 2005-01-15T20:00:00-00:00 MOM http://looselycoupled.com/glossary/MOM (Message Oriented Middleware) Software plumbing. Message-oriented middleware is the term for software that connects separate systems in a network by carrying and distributing messages between them. The messages may contain data, software instructions, or both together. MOM infrastructure is typically built around a queuing system that stores messages pending delivery, and keeps track of whether and when each message has been delivered. Most MOM systems also support autonomous publish-subscribe messaging. MOM products frequently use proprietary messaging technologies -- well-known examples include IBM MQSeries, MSMQ from Microsoft and Tibco Rendezvous -- but emerging standards specifications such as JMS and WS-ReliableMessaging are now enabling standards-based MOM infrastructures. 2005-01-15T20:00:00-00:00 endpoint http://looselycoupled.com/glossary/endpoint Where a service connects to the network. In a service oriented architecture, any single network interaction involves two endpoints: one to provide a service, and the other to consume it. In web services, an endpoint is specified by a URI. 2004-11-01T19:00:00-00:00 granularity http://looselycoupled.com/glossary/granularity How small the pieces are. When a system is split into components, it's important to get the right degree of componentization. Small, fine-grained components give much greater flexibility in assembling precisely the right combination of functionality, but they are more difficult to co-ordinate. Much larger, coarse-grained components are easier to manage but may become too unwieldy. Performance and management considerations tend to favor the use of more coarsely grained messages in a service oriented architecture, whereas earlier generations of distributed computing have preferred a much finer level of granularity. 2004-09-28T15:00:00-00:00 componentization http://looselycoupled.com/glossary/componentization Breaking down into interchangeable pieces. For many years, software innovators have been trying to make software more like computer hardware, which is assembled from cheap, mass-produced components that connect together using standard interfaces. Component-based development (CBD) uses this approach to assemble software from reusable components within frameworks such as CORBA, Sun's Enterprise Java Beans (EJBs) and Microsoft COM. Today's service oriented architectures, based on web services, go a step further by encapsulating components in a standards-based service interface, which allows components to be reused outside their native framework. Componentization is not limited to software; through the use of subcontracting and outsourcing, it can also apply to business organizations and processes. 2004-09-28T15:00:00-00:00 grid computing http://looselycoupled.com/glossary/grid%20computing Pooled computer resources. Grid computing, or simply grid, is the generic term given to techniques and technologies designed to make pools of distributed computer resources available on-demand. Grid computing was originally conceived by research scientists as a way of combining computers across a network to form a distributed supercomputer to tackle complex computations. In the commercial world, grid aims to maximize the utilization of an organization's computing resources by making them shareable across applications (sometimes called virtualization) and, potentially, provide computing on demand to third parties as a utility service. When used with specifications such as WSRF and WS-Notification, grid resources can appear as web services within a service-oriented architecture. 2004-08-30T00:00:00-00:00 WSRF http://looselycoupled.com/glossary/WSRF (Web Services Resource Framework) Web services for grid computing. WSRF defines conventions for managing 'state' so that applications can reliably share changing information. In combination with WS-Notification and other WS-* standards, the result is to make grid resources accessible within a web services architecture. Coupled with WS-Notification, the specification is a response to, and supersedes, the grid community's own first effort to converge grid and web services, the Open Grid Service Infrastructure (OGSI), which the Global Grid Forum (GGF) and others released in 2003. Announced by the Globus Alliance and IBM (with contributions from HP, SAP, Akamai, Tibco and Sonic) in January 2004, WSRF is due to be implemented in version 4.0 of the open source Globus Toolkit for grid computing, as well as several commercial packages. It consists of several component specifications, including WS-Resource Properties, WS-ResourceLifetime, WS-ServiceGroup and WS-BaseFaults. 2004-08-30T00:00:00-00:00 COBOL http://looselycoupled.com/glossary/COBOL (COmmon Business Oriented Language) World's favorite mainframe programming language. Despite its venerable roots as one of the earliest high-level compiled languages, COBOL today still underpins some of the world's most important commercial and government operations, as it remains the most widely used programming language on mainframe computers. Created in 1959 by a cross-industry group of computer manufacturers under the auspices of the US Department of Defense, COBOL was designed as a machine-independent, industry-standard programming language for business data processing -- although in practice there were various incompatibilities between individual makers' versions. It has continued to evolve under the management of US and international standards bodies. The latest revision is COBOL 2002, with the next planned for 2008. 2004-07-26T18:00:00-00:00 CORBA http://looselycoupled.com/glossary/CORBA (Common Object Request Broker Architecture) Pioneering integration architecture. Developed during the 1990s by the Object Management Group (OMG), CORBA was the first major attempt to define a platform-neutral architecture for combining heterogenous software resources across a network. A forerunner of today's service-oriented architectures, CORBA was designed for high-end, transaction-heavy, enterprise deployments, and thus it works best for tight coupling of software resources written in traditional programming languages such as C, C++, Java, Smalltalk and COBOL. Although the addition of IIOP (Internet Inter-ORB Protocol) extended CORBA to run over the Internet, it is less flexible than today's more loosely coupled SOAs, which are based on the exchange of XML documents using web services. 2004-06-30T17:00:00-00:00 Liberty Alliance http://looselycoupled.com/glossary/Liberty%20Alliance Digital identity standards group. Set up at the instigation of Sun Microsystems in 2001, the Liberty Alliance Project is a consortium of technology vendors and consumer-facing enterprises formed "to establish an open standard for federated network identity." It aims to make it easier for consumers to access networked services from multiple suppliers while safeguarding security and privacy. Its specifications have been published in three phases: the Identity Federation Framework (ID-FF) came first; the Identity Web Services Framework (ID-WSF) followed in November 2003; and work is in progress on the Identity Services Interface Specifications (ID-SIS). Liberty Alliance specifications are closely linked to the SAML single sign-on standard, and overlap with elements of WS-Security. 2003-12-07T15:00:00-00:00 QoS http://looselycoupled.com/glossary/QoS (Quality of Service) Consistent performance. Certain network services need to be delivered at a certain minimum performance level to be useable -- for example, a video or audio clip will stutter and break up if the bandwidth is inadequate. QoS refers to a network system's ability to sustain a given service at or above its required minimum performance level. 2003-09-08T10:00:00-00:00 SLA http://looselycoupled.com/glossary/SLA (Service Level Agreement) Contractual service commitment. An SLA is a document that describes the minimum performance criteria a provider promises to meet while delivering a service. It typically also sets out the remedial action and any penalties that will take effect if performance falls below the promised standard. It is an essential component of the legal contract between a service consumer and the provider. 2003-08-27T23:00:00-00:00 interoperability http://looselycoupled.com/glossary/interoperability Ability to work with each other. In the loosely coupled environment of a service-oriented architecture, separate resources don't need to know the details of how they each work, but they need to have enough common ground to reliably exchange messages without error or misunderstanding. Standardized specifications go a long way towards creating this common ground, but differences in implementation may still lead to breakdowns in communication. Interoperability is when services can interact with each other without encountering such problems. 2003-08-07T17:00:00-00:00 J2EE http://looselycoupled.com/glossary/J2EE (Java 2 Platform Enterprise Edition) Java-based software infrastructure. A standardized set of infrastructure software components written in the 'run-anywhere' Java programming language. Although owned by Sun, J2EE has been defined in collaboration with other leading vendors including IBM, Oracle and BEA. Today, it forms the basis of many of the leading web systems software platforms, including IBM WebSphere, BEA WebLogic, Sun ONE and the open-source JBoss. J2EE version 1.4, in beta until late summer 2003, incorporates full support for web services standards and introduces a J2EE version of the Java Connector Architecture (JCA), which simplifies connections and messaging from external resources. 2003-08-07T17:00:00-00:00 ASP http://looselycoupled.com/glossary/ASP (Application Service Provider) Hosted software contractor. An ASP operates software at its data center, which customers access online under a service contract. The first wave of ASPs were application outsourcers, who hosted software packages from established enterprise software vendors such as SAP, Peoplesoft and Oracle. They are being superceded by a larger group of 'web-native' or 'net-native' ASPs, who have developed their own software, often using open-source platforms such as Linux, Apache and Perl, specifically for delivery as a hosted service. 2003-07-22T12:00:00-00:00 XSLT http://looselycoupled.com/glossary/XSLT (eXtensible Stylesheet Language Transformations) Reformats XML data. Endorsed as a standard by the W3C, XSLT is a language for transforming data extracted from an XML document into a new document. The destination format can be in simple text, HTML or XML. The most common use of XSLT is in conjunction with XML Path Language (XPath) in e-business integration, when its role is to transform XML data between the different XML structures used by each participant. XSLT is also widely used in website content management, to convert raw XML into HTML pages. 2003-07-16T10:00:00-00:00 ESB http://looselycoupled.com/glossary/ESB (Enterprise Service Bus) Universal integration backbone. An ESB acts as a shared messaging layer for connecting applications and other services throughout an enterprise computing infrastructure. It supplements its core asynchronous messaging backbone with intelligent transformation and routing to ensure messages are passed reliably. Services participate in the ESB using either web services messaging standards or the Java Message System (JMS). Originally defined by analysts at Gartner, ESB is increasingly seen as a core component in a service-oriented infrastructure. 2003-07-16T10:00:00-00:00