Download (PPT, 708KB)


store.theartofservice.com/the-middleware-toolkit.html

Middleware

Oracle Corporation Oracle Fusion Middleware

Oracle Fusion Middleware

Data dictionary Middleware

middleware, which communicates with the underlying DBMS data dictionary

Data dictionary Middleware

Software frameworks aimed at rapid application development sometimes include high-level data dictionary facilities, which can substantially reduce the amount of programming required to build menus, forms, reports, and other components of a database application, including the database itself

Aspect-oriented software development Aspect-oriented middleware

support for the application developer, which includes

Aspect-oriented software development Aspect-oriented middleware

the crucial concepts of aspect supporting middleware,

Aspect-oriented software development Aspect-oriented middleware

aspect-oriented software development using a specific middleware, involving the aspect programming model, aspect deployment model, platform infrastructure, and services of the middleware, and

Aspect-oriented software development Aspect-oriented middleware

Product Family Engineering (methods, architectures, techniques) in distributed and ambient computing, and

Aspect-oriented software development Aspect-oriented middleware

support for the middleware developer with respect to

Aspect-oriented software development Aspect-oriented middleware

host-infrastructure middleware,

Aspect-oriented software development Aspect-oriented middleware

distribution middleware,

Grid computing – Software implementations and middleware

Advanced Resource Connector (NorduGrid’s ARC)

Grid computing – Software implementations and middleware

Berkeley Open Infrastructure for Network Computing (BOINC)

Grid computing – Software implementations and middleware

European Middleware Initiative

Grid computing – Software implementations and middleware

SDSC Storage resource broker (data grid)

Oracle Certification Program – Oracle Java and Middleware Certifications

(Formerly, Sun Certifications)

Oracle Certification Program – Oracle Java and Middleware Certifications

Java SE 5 Programmer Certified Professional Upgrade Exam

Oracle Certification Program – Oracle Java and Middleware Certifications

Java SE 6 Programmer Certified Professional Upgrade Exam

Oracle Certification Program – Oracle Java and Middleware Certifications

Java EE 5 Web Component Developer Certified Professional Upgrade Exam

Oracle Certification Program – Oracle Java and Middleware Certifications

Java EE 5 Business Component Developer Certified Professional Exam

Oracle Certification Program – Oracle Java and Middleware Certifications

Java EE 5 Web Services Developer Certified Professional Upgrade Exam

Oracle Certification Program – Oracle Java and Middleware Certifications

Java SE 6 Developer Certified Master Assignment for Resubmission

Oracle Certification Program – Oracle Java and Middleware Certifications

Java Enterprise Architect Certified Master Assignment for Resubmission

Oracle Certification Program – Oracle Java and Middleware Certifications

The old certification was formed by Sun Technologies.

Middleware analyst

Middleware analysts are computer software engineers with a specialization in products that connect two different computer systems together. These products can be open-source or proprietary. As the term implies, the software, tools, and technologies used by Middleware analysts sit “in-the-middle”, between two or more systems; the purpose being to enable two systems to communicate and share information.

Middleware analyst – Roles and Responsibilities

SOA is a central theme in most middleware analyst roles within organizations.

Middleware analyst – Best practices for implementations

Middleware best practices encompass generally accepted principles to promote usability and maintainability. A selected few examples of best practices are included here to provide valuable insight and enlightenment as to how middleware addresses key principles of standards-based computing.

Middleware analyst – Best practices for implementations

A common problem new implementations of middleware stumble into is how user-defined applications are configured so that queue references bypass queue alias definitions referring directly to the queue local or queue remote definition

Middleware analyst – Best practices for implementations

For example, if a queue local were overflowing, a middleware admin could change the queue alias to point to a temporary queue local, thereby allowing the user-defined application to continue its processing without interruption while the underlying root cause is corrected.

Middleware analyst – Best practices for implementations

By pointing all user-defined application references to queue aliases, it preserves the flexibility that middleware admins would have to help with production issues that may occur. If the best practice of queue aliases were not followed, the ability of a middleware admin to help with a production outage would be hindered.

Middleware analyst – Skills

Message queuing (“MQ”) is a middleware technology that greatly simplifies communication between the nodes of a system and between the nodes that connect systems together. Information system consultants use message queuing as their skill base. Upon this base, information system consultants add workflow management, message brokering, and cutting edge J2EE implementations using java virtual machines (JVMs) and Message Driven Beans (MDBs).

Middleware analyst – Skills

Middleware analysts perform crucial evangelization of this concept.

Middleware analyst – Skills

Middleware analysts rely on an SOA reference architecture to lay out an SOA environment that meets the company’s needs and priorities

Middleware analyst – Generic common practices

Because middleware is a cross-platform tool, the sophistication of your middleware analysts are expected to be acute. People that are designing and implementing the middleware message flow need to fully understand how the security model on each target platform works. This may include Windows, Unix, z/OS or AS/400.

Middleware analyst – Generic common practices

Middleware protects data in transit through PKI and SSL technology. Security certificates are procured from a certification authority and regularly deployed and updated on servers. This protects data while it is in-transit as it leaves one Server and arrives on the next server in the chain. It does not protect data while data is at rest.

Middleware analyst – Generic common practices

Supplemental transmission security can augment the primary SSL measures that exist on your server

Middleware analyst – Generic common practices

When data is at rest in queues, it is not protected by MQ

Middleware analyst – Generic common practices

Middleware data channels can be set up to provide varying degrees of protection

Middleware analyst – HIPAA-specific considerations

If your enterprise handles HIPAA ePHI data, then your middleware analysts need to know and understand the requirements set forth by law. Failure to protect data at-rest may subject your organization to fines and penalties levied by the Federal government or other authority. This requires application-level data encryption prior to delivering the data to the queuing system for transport.

Middleware analyst – HIPAA-specific considerations

System administrators, including middleware analysts, are not permitted to view unprotected ePHI data. Therefore, whenever ePHI data is present in any information system, it must be protected from the ability of an administrator to view it. It is not permissible to allow ePHI data to be kept in a queue unprotected.

Volunteer computing – Middleware for volunteer computing

The client software of the early volunteer computing projects consisted of a single program that combined the scientific computation and the distributed computing infrastructure. This monolithic architecture was inflexible; for example, it was difficult to deploy new application versions.

Volunteer computing – Middleware for volunteer computing

More recently, volunteer computing has moved to middleware systems that provide a distributed computing infrastructure independently of the scientific computation. Examples include:

Volunteer computing – Middleware for volunteer computing

The Berkeley Open Infrastructure for Network Computing (BOINC) is the most widely used middleware system. It offers client software for Windows, Mac OS X, Linux, and other Unix variants.

Volunteer computing – Middleware for volunteer computing

XtremWeb is used primarily as a research tool. It is developed by a group based at the University of Paris-South.

Volunteer computing – Middleware for volunteer computing

Xgrid is developed by Apple. Its client and server components run only on Mac OS X.

Volunteer computing – Middleware for volunteer computing

Grid MP is a commercial middleware platform developed by United Devices and was used in volunteer computing projects including grid.org, World Community Grid, Cell Computing, and Hikari Grid.

Volunteer computing – Middleware for volunteer computing

Most of these systems have the same basic structure: a client program runs on the volunteer’s computer. It periodically contacts project-operated servers over the Internet, requesting jobs and reporting the results of completed jobs. This “pull” model is necessary because many volunteer computers are behind firewalls that do not allow incoming connections. The system keeps track of each user’s “credit”, a numerical measure of how much work that user’s computers have done for the project.

Volunteer computing – Middleware for volunteer computing

Volunteer computing systems must deal with several problematic aspects of the volunteered computers: their heterogeneity, their churn (that is, the arrival and departure of hosts), their sporadic availability, and the need to not interfere with their performance during regular use.

Volunteer computing – Middleware for volunteer computing

In addition, volunteer computing systems must deal with problems related to correctness:

Volunteer computing – Middleware for volunteer computing

Volunteers are unaccountable and essentially anonymous.

Volunteer computing – Middleware for volunteer computing

Some volunteer computers (especially those that are overclocked) occasionally malfunction and return incorrect results.

Volunteer computing – Middleware for volunteer computing

Some volunteers intentionally return incorrect results or claim excessive credit for results.

Volunteer computing – Middleware for volunteer computing

One common approach to these problems is “replicated computing”, in which each job is performed on at least two computers. The results (and the corresponding credit) are accepted only if they agree sufficiently.

Message-oriented middleware

The middleware creates a distributed communications layer that insulates the application developer from the details of the various Operating Systems and network interfaces

Message-oriented middleware

MOM provides software elements that reside in all communicating components of a client/server architecture and typically support asynchronous calls between the client and server applications. MOM reduces the involvement of application developers with the complexity of the master-slave nature of the client/server mechanism.

Message-oriented middleware – Advantages

Central reasons for using a message-based communications protocol include its ability to store (buffer), route, or transform messages while conveying them from senders to receivers.

Message-oriented middleware – Asynchronicity

MOM comprises a category of inter-application communication software that generally relies on asynchronous message-passing, as opposed to a request-response architecture

Message-oriented middleware – Routing

Many message-oriented middleware implementations depend on a message queue system. Some implementations permit routing logic to be provided by the messaging layer itself, while others depend on client applications to provide routing information or allow for a mix of both paradigms. Some implementations make use of broadcast or multicast distribution paradigms.

Message-oriented middleware – Transformation

In a message-based middleware system, the recipient’s message need not replicate the sender’s message exactly

Message-oriented middleware – Disadvantages

The primary disadvantage of many message oriented middleware systems is that they require an extra component in the architecture, the message transfer agent (message broker). As with any system, adding another component can lead to reductions in performance and reliability, and can also make the system as a whole more difficult and expensive to maintain.

Message-oriented middleware – Disadvantages

In addition, many inter-application communications have an intrinsically synchronous aspect, with the sender specifically wanting to wait for a reply to a message before continuing (see real-time computing and near-real-time for extreme cases). Because message-based communication inherently functions asynchronously, it may not fit well in such situations. That said, most MOM systems have facilities to group a request and a response as a single pseudo-synchronous transaction.

Message-oriented middleware – Standards

Historically, there was a lack of standards governing the use of message-oriented middleware that has caused problems. Most of the major vendors have their own implementations, each with its own application programming interface (API) and management tools.

Message-oriented middleware – Standards

The Advanced Message Queuing Protocol (AMQP) is an emerging standard that defines the protocol and formats used in the messaging server and client, so implementations are interoperable

Message-oriented middleware – Standards

The Object Management Group’s Data Distribution Service (DDS) provides message-oriented Publish/Subscribe (P/S) middleware standard that aims to enable scalable, real-time, dependable, high performance and interoperable data exchanges between publishers and subscribers. The standard provides interfaces to C++, C++11, C, Ada, Java and Ruby.

Message-oriented middleware – Standards

The eXtensible Messaging and Presence Protocol (XMPP) is a communications protocol for message-oriented middleware based on XML (Extensible Markup Language)

Message-oriented middleware – Standards

The Java EE programming environment provides a standard API called JMS (Java Message Service), which is implemented by most MOM vendors and aims to hide the particular MOM API implementations; however, JMS does not define the format of the messages that are exchanged, so JMS systems are not interoperable.

Message-oriented middleware – Standards

A similar effort is with the actively evolving OpenMAMA project, which aims to provide a common API, particularly to C clients. However, at the moment it is primarily appropriate for distributing market-oriented data (e.g. stock quotes) over pub-sub middleware.

Message-oriented middleware – Trends

Advanced Message Queuing Protocol (AMQP) provides an open standard application layer protocol for message-oriented middleware

Message-oriented middleware – Trends

The Object Management Group’s Data Distribution Service (DDS) has added many new standards to the basic DDS specification. See Catalog of OMG Data Distribution Service (DDS) Specifications for more details.

Message-oriented middleware – Trends

XMPP is a communications protocol for message-oriented middleware based on XML (Extensible Markup Language).

Message-oriented middleware – Trends

Streaming Text Oriented Messaging Protocol (STOMP), formerly known as TTMP, is a simple text-based protocol, provides an interoperable wire format that allows STOMP clients to talk with any Message Broker supporting the protocol

Message-oriented middleware – Trends

An additional trend sees message-oriented middleware functions being implemented in hardware – usually FPGAs or other specialized silicon chips.

Scaleform – Other middleware

*Wwise|Audiokinetic Wwise

XMPP – XMPP as an extensible Message Oriented Middleware (xMOM) platform

XMPP provides a general framework for messaging across a network. Not surprisingly, this has a multitude of applications beyond traditional Instant Messaging (IM) and the distribution of Presence data. While several Service Discovery protocols exist today (such as Bonjour, or the Service Location Protocol), XMPP provides a solid base for the Discovery of Services (see XEP-0030 DISCO) residing locally or across a network, and the Availability of these Services (via Presence).

XMPP – XMPP as an extensible Message Oriented Middleware (xMOM) platform

Along with authentication and in-transit data protection, XMPP can be applied at a variety of levels and may prove ideal as an extensible middleware or Message Oriented Middleware (MOM) protocol

Nanohub – Middleware

The web server uses a daemon to dynamically relay incoming VNC connections to the execution host on which an application session is running

Nanohub – Middleware

One disadvantage of consolidating most communication through the web server is the lack of scalability when too much data is transferred by individual users. In order to avoid a network traffic jam, the web server can be replicated and clustered into one name by means of DNS round-robin selection.

Nanohub – Middleware

The backend execution hosts that support Maxwell can operate with conventional Unix systems, Xen virtual machines, and a form of virtualization based on OpenVZ

Middleware

‘Middleware’ is computer software that provides services to software applications beyond those available from the operating system. It can be described as software glue. Middleware makes it easier for software developers to perform communication and input/output, so they can focus on the specific purpose of their application.

Middleware – Middleware in distributed applications

The term is most commonly used for software that enables communication and management of data in distributed applications. In this more specific sense middleware can be described as “the dash in ‘client-server’” (or the ‘-to-‘ in peer-to-peer for that matter).

Middleware – Middleware in distributed applications

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. Services that can be regarded as middleware include enterprise application integration, data integration, message oriented middleware (MOM), object request brokers (ORBs), and the enterprise service bus (ESB).

Middleware – Middleware in distributed applications

Distributed computing system middleware can loosely be divided into two categories – those that provide human-time services (such as web request servicing) and those that perform in machine-time. This latter middleware is somewhat standardized through the SA Forum|Service Availability Forum and is commonly used in complex, embedded systems within telecom, defense and aerospace industries.

Middleware – Other examples of middleware

The term middleware is used in other contexts as well. Middleware is sometimes used in a similar sense to a software driver, an abstraction layer that hides detail about hardware devices or other software from an application.

Middleware – Other examples of middleware

* The Mer (software distribution)|mer software distribution is a middleware: it lacks the Linux kernel and it also lacks a UI. Mer is targeted at hardware vendors mobile-oriented Operating Systems.

Middleware – Other examples of middleware

Android’s middleware layer also contains the Dalvik (software)|Dalvik virtual machine and its core Java application libraries.Charlie Collins, Michael Galpin and Matthias Kaeppler, Android in Practice, Manning Publications, 2011

Middleware – Other examples of middleware

* Game engine software such as Gamebryo and Renderware are sometimes described as middleware, because they provide many services to simplify game development.

Middleware – Other examples of middleware

Middleware generally consists of a library of functions, and enables a number of applications—simulations or federates in HLA terminology—to paging|page these functions from the common library rather than re-create them for each application.

Middleware – Other examples of middleware

* Wireless networking developers can use middleware to meet the challenges associated with wireless sensor network (WSN), or WSN technologies. Implementing a middleware application allows WSN Middleware Analysts|developers to integrate Operating Systems and hardware with the wide variety of various applications that are currently available.Hadim, S. and Mohamed, N. (2006). Middleware challenges and approaches for wireless sensor

Middleware – Other examples of middleware

networks. IEEE Distributed Systems Online vol 7. Issue 3. Retrieved March 4, 2009 from

Middleware – Other examples of middleware

[http://dsonline.computer.org/portal/site/dsonline/menuitem.3a529f3832e8f1e13587e0606bcd45f3/index.jsp iEEE Distributed Systems Online]

Middleware – Other examples of middleware

* The QNX Operating System offers middleware for providing multimedia services for use in automobiles, aircraft and other envien middleware system standard designed by the DVB project for interactive digital television. The MHP enables the reception and execution of interactive, Java-based applications on a television set.

Middleware – Other examples of middleware

* Universal Home API, or UHAPI, is an application programming interface (API) for consumer electronics appliances, created by the UHAPI Forum. The objective of UHAPI is to enable standard middleware to run on audio/video streaming platforms via a hardware-independent industry standard API.

Middleware – Other examples of middleware

* The Miles Sound System provided a middleware software driver allowing developers to build software that worked with a range of different sound cards, without concerning themselves with the details of each card.

Middleware – Other examples of middleware

* Radio-frequency identification software toolkits provide middleware to filter noisy and redundant raw data.

Middleware – Other examples of middleware

* Iland project|ILAND is a service-based middleware dedicated to real-time applications. It offers deterministic reconfiguration support in bounded time.

Middleware – Boundaries

The distinction between operating system and middleware functionality is, to some extent, arbitrary. While core kernel functionality can only be provided by the operating system itself, some functionality previously provided by separately sold middleware is now integrated in operating systems. A typical example is the TCP/IP stack for telecommunications, nowadays included in virtually every operating system.

Middleware – Origins

Middleware is a relatively new addition to the computing landscape. It gained popularity in the 1980s as a solution to the problem of how to link newer applications to older legacy systems, although the term had been in use since 1968. It also facilitated distributed processing, the connection of multiple applications to create a larger application, usually over a network.

IBM mainframe – Middleware

Current IBM mainframes run all the major enterprise transaction processing environments and databases, including CICS, Information Management System|IMS, WebSphere Application Server, IBM DB2|DB2, and Oracle Database|Oracle. In many cases these software subsystems can run on more than one mainframe Operating System.

WordPerfect – Application integration and middleware

While Microsoft offered something that looked like a fully integrated office suite in Microsoft Office, a common complaint about early Windows versions of WordPerfect Office was that it looked like a collection of separate applications from different vendors cobbled together, with inconsistent user interfaces from one application to another.

WordPerfect – Application integration and middleware

This ‘middleware’ strategy would make software vendors and customers independent from operating system vendors, like Microsoft, thus posing a real threat.

WordPerfect – Application integration and middleware

Contrary to Microsoft with its MS Office however, starting with WordPerfect Office 9, Corel successfully integrated the components of WordPerfect Office almost seamlessly. PerfectScript and the middleware PerfectFit play the major role here. Elements of applications like CorelDraw and Ventura desktop publishing were also integrated and enriched the document format.

SQLite – Middleware

* ADO.NET adapter, initially developed by Robert Simpson, is maintained jointly with the SQLite developers since April 2010. system.data.sqlite.org/index.html/doc/trunk/www/index.wiki

SQLite – Middleware

* ODBC driver has been developed and is maintained separately by Christian Werner. www.ch-werner.de/sqliteodbc/ Werner’s ODBC driver is the recommended connection method for accessing SQLite from OpenOffice.org. documentation.openoffice.org/HOW_TO/data_source/SQLite.pdf

SQLite – Middleware

* Component Object Model|COM (ActiveX) wrapper making SQLite accessible on Windows to scripted languages such as JScript and VBScript. This adds database capabilities to HTML Applications (HTA).

Middleware (distributed applications)

Middleware is especially integral to modern information technology based on XML, SOAP, Web services, and service-oriented architecture.

Middleware (distributed applications)

Middleware sits in the middle between application software that may be working on different operating systems

Middleware (distributed applications) – Definitions

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.

Middleware (distributed applications) – Origins

Middleware is a relatively new addition to the computing landscape. It gained popularity in the 1980s as a ‘solution to the problem of how to link newer applications to older legacy systems,’ although the term had been in use since 1968. It also facilitated distributed processing, the connection of multiple applications to create a larger application, usually over a network.

Middleware (distributed applications) – Organizations

StormMQ provides Message Oriented Middleware as a service.

Middleware (distributed applications) – Use of middleware

Middleware services provide a more functional set of application programming interfaces to allow an application to:

Middleware (distributed applications) – Use of middleware

*Locate transparently across the network, thus providing interaction with another service or application

Middleware (distributed applications) – Use of middleware

*Filter data to make them friendly usable or public via Anonymization#Anonymity on the Internet|anonymization process for privacy protection (for example)

Middleware (distributed applications) – Use of middleware

*Add complementary attributes like semantics

Middleware (distributed applications) – Use of middleware

Middleware facilitates transparent access to legacy database management systems (DBMSs) or applications via a web server without regard to database-specific characteristics.Peng, C, Chen, S, Chung, J, Roy-Chowdhury, A, and Srinivasan, V

Middleware (distributed applications) – Use of middleware

existing business data from the World Wide Web. IBM Systems Journal, 37(1), 115-132.

Middleware (distributed applications) – Use of middleware

Retrieved March 7, 2009, from ABI/INFORM Global database. (Document ID: 26217517)

Middleware (distributed applications) – Use of middleware

Businesses frequently use middleware applications to link information from departmental databases, such as payroll, sales, and accounting, or databases housed in multiple geographic locations.Bougettaya, A, Malik, Z, Rezgui, A, and Korff, L. (2006). A Scalable Middleware for Web

Middleware (distributed applications) – Use of middleware

Databases. Journal of Database Management, 17(4), 20-39,41-46. Retrieved March 7,

Middleware (distributed applications) – Use of middleware

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.Bagwell, H. (2008). [ www.devicelink.com/ivdt/archive/08/07/007.html Middleware: providing value beyond autoverification]. IVDT. Retrieved

Middleware (distributed applications) – Use of middleware

For Future Internet network operation through traffic monitoring in Network management|multi-domain scenarios, using mediator tools (middleware) is a powerful help since they allow Telecommunications service provider|operators, searchers and service providers to supervise Quality of service and analyse eventual failures in telecommunication services.

Middleware (distributed applications) – Use of middleware

Finally, e-commerce uses middleware to assist in handling rapid and secure transactions over many different types of computer environments.Charles, J. (1999). [ ieeexplore.ieee.org/ielx5/2/16523/00762786.pdf Middleware moves to the forefront]. Technology News. Retrieved March 2,

Middleware (distributed applications) – Use of middleware

2009. In short, middleware has become a critical element across a broad range of industries, thanks to its ability to bring together resources across dissimilar networks or computing platforms.

Middleware (distributed applications) – Use of middleware

In 2004 members of the European Broadcasting Union (EBU) carried out a study of Middleware with respect to system integration in broadcast environments

Middleware (distributed applications) – Message-Oriented Middleware

ISBN 978-0-470-86206-3 is middleware where transactions or event notifications are delivered between disparate systems or components by way of messages, often via an enterprise messaging system

Middleware (distributed applications) – Enterprise messaging system

An enterprise messaging system is a type of middleware that facilitates message passing between disparate systems or components in standard formats, often using XML, SOAP or web services.

Middleware (distributed applications) – Message broker

Part of an enterprise messaging system, message broker software may queue, duplicate, translate and deliver messages to disparate systems or components in a messaging system.

Middleware (distributed applications) – Enterprise Service Bus

Enterprise Service Bus (ESB) is defined by the Burton Group as some type of integration middleware product that supports both Message-oriented middleware|MOM and Web services.

Middleware (distributed applications) – Intelligent Middleware

[http://www.cougaarsoftware.com/files/CSI_ActiveEdge.pdf Choosing the Right Middleware]

Middleware (distributed applications) – Intelligent Middleware

Intelligent Middleware (IMW) provides real-time intelligence and event management through intelligent agents

Middleware (distributed applications) – Content-Centric Middleware

This is therefore similar to Publish/subscribe middleware, as well as the Content-centric networking paradigm.

Middleware (distributed applications) – Remote Procedure Call

With Remote Procedure Call middleware, a client makes calls to procedures running on remote systems. Can be asynchronous or Synchronization (computer science)|synchronous.

Middleware (distributed applications) – Object Request Broker

With Object Request Broker middleware, it is possible for applications to send objects and request services in an object-oriented system.

Middleware (distributed applications) – Embedded middleware

Embedded middleware provides communication services and integration interface software/firmware that operates between embedded applications and the real time op.

Middleware (distributed applications) – Other

Other sources include these additional classifications:

Middleware (distributed applications) – Other

*Transaction Processing System|Transaction processing monitors — Provides tools and an environment to develop and Software deployment|deploy distributed applications.

Middleware (distributed applications) – Other

*Application servers — software installed on a computer to facilitate the serving (running) of other applications.

List of free and open-source software packages – Middleware

* Bonita Open Solution(software) — a J2EE web application and java BPMN2 compliant engine

List of IBM products – Middleware and applications

*IBM Audio Distribution System

List of IBM products – Middleware and applications

*CICS|IBM CICS (Customer Information Control System)

List of IBM products – Middleware and applications

*Apache Derby|IBM Cloudscape Pure Java Database Server. Now open source Apache Derby

List of IBM products – Middleware and applications

*IBM Concurrent Copy, backup software

List of IBM products – Middleware and applications

*IBM DB2 Document Manager

List of IBM products – Middleware and applications

*IBM Deep Computing Visualization for Linux V1.2

List of IBM products – Middleware and applications

*IBM Document Composition Facility (DCF), previously known as SCRIPT (markup)|SCRIPT

List of IBM products – Middleware and applications

*IBM Document Library Facility (DLF)

List of IBM products – Middleware and applications

*FileNet|IBM FileNet products, P8 Business Process Management and Enterprise Content Management(FileNet bought by IBM)

List of IBM products – Middleware and applications

*IBM Websphere Host On-Demand (HOD) Host On-Demand Web-based TN3270, TN5250 and VT440 Terminal Emulation.

List of IBM products – Middleware and applications

*IBM Lotus QuickPlace

List of IBM products – Middleware and applications

*IBM Lotus Notes (Lotus Software|Lotus Development was bought by IBM in 1995)

List of IBM products – Middleware and applications

*IBM Lotus SmartSuite Office Suite

List of IBM products – Middleware and applications

*IBM Personal Communications Emulator, also known as Host Access Client

List of IBM products – Middleware and applications

*IBM QualityStage Acquired from Ascential

List of IBM products – Middleware and applications

*Rational Software’s products (Rational bought by IBM in 2003)

List of IBM products – Middleware and applications

*IBM Rational Automation Framework Previously known as IBM Rational Automation Framework for WebSphere

List of IBM products – Middleware and applications

*IBM RFID Information Center (RFIDIC) Tracking and tracing products through supply chains

List of IBM products – Middleware and applications

*IBM SearchManager text search, successor to STAIRS

List of IBM products – Middleware and applications

*IBM Tivoli Framework (Tivoli Systems, Inc.|Tivoli Systems was bought by IBM in 1995)

List of IBM products – Middleware and applications

*IBM Tivoli Change and Configuration Management Database (CCMDB)

List of IBM products – Middleware and applications

*IBM Tivoli Workload Scheduler

List of IBM products – Middleware and applications

*IBM Tivoli System Automation

List of IBM products – Middleware and applications

*IBM U2, including IBM UniVerse and IBM UniData Dimensional database DBMS

List of IBM products – Middleware and applications

*IBM Virtualization Engine

List of IBM products – Middleware and applications

*IBM WebSphere MQ (previously known as IBM MQSeries)

List of IBM products – Middleware and applications

*IBM Workplace Web Content Management (IWWCM) Web content management for WebSphere Portal and Domino servers (Presence Online dba Aptrix bought by IBM in 2003)

List of IBM products – Middleware and applications

*ICCF Interactive Computing and Control Facility. An interactive editor that runs under CICS on DOS/VSE. Now included as part of VSE Central Functions.

List of IBM products – Middleware and applications

*NCCF Network Communications Control Facility. A network monitoring and control subsystem

Configurable Network Computing – JDENET and JDEBASE Middleware

JDENET and JDEBase middleware are the two elements in the CNC architecture that allow JDE applications to communicate across heterogeneous distributed computing environments. JDENET handles communications at the presentation layer with other internal JDE application, while JDEBASE is the JDE middleware that provides platform-independent multi-vendor SQL database access.

Game Engine – Game middleware

Some game middleware does only one thing but does it more convincingly or more efficiently than general purpose middleware

Game Engine – Game middleware

The four most widely used middleware packages that provide subsystems of functionality include RAD Game Tools’ Bink, Firelight FMOD, Havok (software)|Havok, and Scaleform GFx

Game Engine – Game middleware

Some middleware contains full source code, others just provide an application programming interface|API reference for a compiled binary library (computer science)|library. Some middleware programs can be licensed either way, usually for a higher fee for full source code.

WebSphere MQ – Message-oriented middleware

WebSphere MQ, a member of the IBM WebSphere|WebSphere family from IBM, was the most popularTypically reported as ~40% market share www.capitalware.biz/forecast_AI_market.html system for messaging across multiple platforms in 2000, including Windows, Linux, OS/2, IBM mainframe and midrange, and Unix. WebSphere MQ is often referred to as MQ or MQ Series.

WebSphere MQ – Message-oriented middleware

* Messages are collections of binary file|binary or character (for instance ASCII or EBCDIC) data that have some meaning to a participating program. As in other communications protocols, storage, routing, and delivery information is added to the message before transmission and stripped from the message prior to delivery to the receiving application.

WebSphere MQ – Message-oriented middleware

* Message queues are objects that store messages in an application.

WebSphere MQ – Message-oriented middleware

A queue Manager, although not strictly required for message-oriented middleware, is a WebSphere MQ prerequisite and system service that provides a logical container for the message queue and is responsible for transferring data to other queue managers via message channels.

WebSphere MQ – Message-oriented middleware

* Messages do not depend on pure Packet (information technology)|packet-based transmissions, such as TCP/IP. This allows the sending and receiving ends to be decoupled and potentially operate asynchronously.

WebSphere MQ – Message-oriented middleware

Programs integrated with WebSphere MQ use a

JDBC driver – Type 3 Driver – Network-Protocol Driver(MiddleWare Driver)

The JDBC type 3 driver, also known as the Pure Java Driver for Database ‘Middleware’, is a database driver implementation which makes use of a middle tier between the calling program and the database. The middle-tier (application server) converts JDBC calls directly or indirectly into the vendor-specific database protocol.

JDBC driver – Type 3 Driver – Network-Protocol Driver(MiddleWare Driver)

This differs from the type 4 driver in that the protocol conversion logic resides not at the client, but in the middle-tier. Like type 4 drivers, the type 3 driver is written entirely in Java.

JDBC driver – Type 3 Driver – Network-Protocol Driver(MiddleWare Driver)

The same driver can be used for multiple databases. It depends on the number of databases the middleware has been configured to support. The type 3 driver is platform-independent as the platform-related differences are taken care of by the middleware. Also, making use of the middleware provides additional advantages of security and firewall access.

Message Oriented Middleware

In Middleware for Communications, ed

Message Oriented Middleware – Advantages

Central reasons for using a message-based communications protocol (computing)|protocol include its ability to store (buffer), route, or transform messages while conveying them from senders to receivers.

Message Oriented Middleware – Asynchronicity

MOM comprises a category of inter-application software|application communication software that generally relies on asynchronous message passing|message-passing, as opposed to a request-response architecture

Message Oriented Middleware – Routing

Many message-oriented middleware implementations depend on a message queue system. Some implementations permit routing logic to be provided by the messaging layer itself, while others depend on client applications to provide routing information or allow for a mix of both paradigms. Some implementations make use of Broadcasting (networks)|broadcast or multicast distribution paradigms.

Message Oriented Middleware – Transformation

Lyons, Extending Message-Oriented Middleware using Interception, presented at Third International Workshop on Distributed Event-Based Systems (DEBS ’04), ICSE ’04, Edinburgh, Scotland, UK, 2004.] In conjunction with the routing and broadcast/multicast facilities, one application can send a message in its own native format, and two or more other applications may each receive a copy of the message in their own native format

Message Oriented Middleware – Disadvantages

The primary disadvantage of many message oriented middleware systems is that they require an extra component in the software architecture|architecture, the message transfer agent (message broker). As with any system, adding another component can lead to reductions in computer performance|performance and reliability, and can also make the system as a whole more difficult and expensive to software maintenance|maintain.

Message Oriented Middleware – Disadvantages

In addition, many inter-application communications have an intrinsically Synchronization (computer science)|synchronous aspect, with the sender specifically wanting to wait for a reply to a message before continuing (see real-time computing and near real time|near-real-time for extreme cases)

Message Oriented Middleware – Standards

Historically, there was a lack of standardization|standards governing the use of message-oriented middleware that has caused problems. Most of the major vendors have their own implementations, each with its own application programming interface (API) and management tools.

Message Oriented Middleware – Standards

The Advanced Message Queuing Protocol (AMQP) is an emerging standard that defines the protocol and formats used in the messaging server and client, so implementations are interoperable

Message Oriented Middleware – Standards

The Object Management Group| Object Management Group’s Data Distribution Service| Data Distribution Service (DDS) provides message-oriented Publish–subscribe pattern|Publish/Subscribe (P/S) middleware standard that aims to enable scalable, real-time, dependable, high performance and interoperable data exchanges between publishers and subscribers.Data Distribution Service for Real-time Systems (DDS), Object Management Group, version 1.2, January 2007 The standard provides interfaces to C++, C++11, C, Ada, Java and Ruby.

Message Oriented Middleware – Standards

The eXtensible Messaging and Presence Protocol (XMPP) is a communications protocol for message-oriented middleware based on XML (Extensible Markup Language)

Message Oriented Middleware – Standards

The Java EE programming environment provides a standard API called Java Message Service|JMS (Java Message Service), which is implemented by most MOM vendors and aims to hide the particular MOM API implementations; however, JMS does not define the format of the messages that are exchanged, so JMS systems are not interoperable.

Message Oriented Middleware – Trends

* Advanced Message Queuing Protocol|Advanced Message Queuing Protocol (AMQP) provides an open standard application layer protocol for message-oriented middleware OASIS AMQP version 1.0, sections 2.6.7-2.6.8. OASIS AMQP Technical Committee. Retrieved 18 June 2012.

Message Oriented Middleware – Trends

* The Object Management Group| Object Management Group’s Data Distribution Service| Data Distribution Service (DDS) has added many new standards to the basic DDS specification. See [ www.omg.org/technology/documents/dds_spec_catalog.htm Catalog of OMG Data Distribution Service (DDS) Specifications] for more details.

Message Oriented Middleware – Trends

* Extensible Messaging and Presence Protocol|XMPP is a communications protocol for message-oriented middleware based on XML (Extensible Markup Language).Johansson, Leif (April 18, 2005). XMPP as MOM. Greater NOrdic MIddleware Symposium (GNOMIS). Oslo: University of Stockholm

Message Oriented Middleware – Trends

* Streaming Text Oriented Messaging Protocol| Streaming Text Oriented Messaging Protocol (STOMP), formerly known as TTMP, is a simple text-based protocol, provides an interoperable wire format that allows STOMP clients to talk with any Message Broker supporting the protocol STOMP Protocol Specification, Version 1.2, 22 October 2012,

Message Oriented Middleware – Trends

* An additional trend sees message-oriented middleware functions being implemented in hardware – usually FPGAs or other specialized silicon chips.[ advice.cio.com/ralph_frankel/are_you_soft_in_the_middle_the_future_of_enterprise_it_rests_in_hardware_applications?commentpage=1 Are You Soft in the Middle? The future of enterprise IT rests in hardware applications]

Oracle Fusion Middleware

‘Oracle Fusion Middleware’ (OFM, also known as ‘Fusion Middleware’) consists of several software products from Oracle Corporation. OFM spans multiple services, including Java EE and Software development|developer tools, Systems integration|integration services, business intelligence, collaborative software|collaboration, and content management. OFM depends on open standards such as BPEL, SOAP, XML and Java Message Service|JMS.

Oracle Fusion Middleware

Oracle Fusion Middleware provides software for the development, deployment, and management of service-oriented architecture (SOA). It includes what Oracle calls hot-pluggable architecture,

Oracle Fusion Middleware

(Oracle Corporation’s web-page on OFM’s hot-pluggable capabilities.)

Oracle Fusion Middleware

designed to facilitate integration with existing applications and systems from other software vendors such as IBM, Microsoft, and SAP AG.

Oracle Fusion Middleware – Evolution

Many of the products included under the OFM banner do not themselves qualify as middleware products: Fusion Middleware essentially represents a re-branding of many of Oracle products outside of Oracle’s core database and applications-software offeringsmdash;compare Oracle Fusion.

Oracle Fusion Middleware – Evolution

According to Oracle, by 2006 over 30,000 organizations had become Fusion Middleware customers, including over 35 of the world’s 50 largest companies and more than 750 of the BusinessWeek Global 1000, with OFM also supported by 7,500 business partner|partners.[ www.prnewswire.com/cgi-bin/stories.pl?ACCT=104STORY=/www/story/04-25-2006/0004346680 Oracle Marks Key Milestone With Siebel Certification Roadmap for Oracle(R) Fusion Middleware, prnewswire, 2006]

Oracle Fusion Middleware – Evolution

In order to provide standards-based software to assist with business process automation, HP has incorporated OFM into its service-oriented architecture (SOA) portfolio.

Oracle Fusion Middleware – Evolution

Oracle leveraged its Configurable Network Computing (CNC) technology acquired from its PeopleSoft/JD Edwards 2005 purchase.

Oracle Fusion Middleware – Evolution

Oracle Fusion Applications, based on Oracle Fusion Middleware, were finally released in September 2010.

Oracle Fusion Middleware – Assessments

In January 2008 Oracle Universal Content Management won InfoWorld’s Technology of the Year award for Best Enterprise Content Manager, with Oracle SOA Suite winning the award for Best Enterprise Service Bus.[ news.thomasnet.com/companystory/811621 Oracle Fusion Middleware Wins Two InfoWorld Technology of the Year Awards]

Oracle Fusion Middleware – Assessments

In 2007 Gartner| Gartner, Inc. wrote that OFM has reached a degree of completeness that puts it on par with, and in some cases ahead of, competing software stacks, and reported revenue from the suite of over US$1 billion during FY06, estimating the revenue from the genuinely middleware aspects at US$740 million.

Oracle Fusion Middleware – Assessments

Pezzini, Massimo; Barnes, Michael; Cantara, Michele; Iijima, Kimihiko (2007) Oracle Fusion Middleware: On the Road to Service-Oriented Architecture (and Beyond), Gartner RAS Core Research Note G00145119, Gartner, Inc.

Oracle Fusion Middleware – Oracle Fusion Middleware components

** JRockit (a Java Virtual Machine|JVM)

Oracle Fusion Middleware – Oracle Fusion Middleware components

** Business activity monitoring (BAM)

Oracle Fusion Middleware – Oracle Fusion Middleware components

** Business Process Analysis Suite

Oracle Fusion Middleware – Oracle Fusion Middleware components

** Oracle Data Integrator (ODI): an application using the database for set-based data integration

Oracle Fusion Middleware – Oracle Fusion Middleware components

** Oracle Enterprise Service Bus

Oracle Fusion Middleware – Oracle Fusion Middleware components

** Oracle Web Services Manager (OWSM), a security and monitoring product for web services

Oracle Fusion Middleware – Oracle Fusion Middleware components

** Oracle Developer Suite

Oracle Fusion Middleware – Oracle Fusion Middleware components

** Oracle Business Intelligence 11g www.oracle.com/technetwork/middleware/bi-enterprise-edition/overview/index.html

Oracle Fusion Middleware – Oracle Fusion Middleware components

** Oracle Business Activity Monitoring (Oracle BAM)

Oracle Fusion Middleware – Oracle Fusion Middleware components

** Oracle Crystal Ball – enables stochastic forecasting and simulation using spreadsheet models

Oracle Fusion Middleware – Oracle Fusion Middleware components

* User interaction

Oracle Fusion Middleware – Oracle Fusion Middleware components

** Oracle Universal Content Management

Oracle Fusion Middleware – Oracle Fusion Middleware components

** Oracle Virtual Directory

Oracle Fusion Middleware – Oracle Fusion Middleware components

** Application server|application-server security

Oracle Fusion Middleware – Integration, pricing and bundling

Apart from selling licenses to run OFM components,

IBM WebSphere MQ – Message-oriented middleware

WebSphere MQ, a member of the IBM WebSphere|WebSphere family from IBM, was the most popularTypically reported as ~40% market share www.capitalware.biz/forecast_AI_market.html system for messaging across multiple platforms in 2000, including Windows, Linux, OS/2, IBM mainframe and midrange, and Unix. WebSphere MQ is often referred to as MQ or MQ Series.

Python Paste – WSGI middleware

The Web Server Gateway Interface|WSGI standard is an interface that allows applications to use Python code to handle HTTP requests. A ‘WSGI application’ is passed a Python representation of an HTTP request by an application, and returns content which will normally eventually be rendered by a web browser. A common use for this is when a web server serves content created by Python code.

Python Paste – WSGI middleware

Functionality provided by WSGI middleware may include authentication, logging, URL redirection, creation of session (computer science)|sessions, and compression.

Python Paste – WSGI middleware

Paste helps in developing such WSGI middleware systems. For example, it is used in the Pylons project#Pylons Framework|Pylons web application framework.

Procedural generation – Middleware

* Art of Illusion, an open source and free 3D modeler, has an internal node-based procedural texture editor.

Procedural generation – Middleware

* CityEngine, a procedural 3D modeling software, specialized in city modeling.

Procedural generation – Middleware

* Filter Forge, an Adobe Photoshop plugin for designing procedural textures using node-based editing.

Procedural generation – Middleware

* Grome, popular terrain and outdoor scenes modeler for games and simulation software.

Procedural generation – Middleware

* Houdini (software)|Houdini, a procedural 3D animation package. A free version of the software is available.

Procedural generation – Middleware

* Autodesk Softimage|Softimage, a 3D computer graphics application that allows node-based procedural creation and deformation of geometry.

Procedural generation – Middleware

* SpeedTree, a middleware product for procedurally generating trees.

Procedural generation – Middleware

* Terragen, a landscape generation software. Terragen 2 permits procedural generation of an entire world.

Nintendo Web Framework – Middleware

The Nintendo Web Framework currently supports the following middleware plugins:

PrimeSense – PrimeSense Middleware

They are released only as binaries.wiki.debian.org/PrimeSenseNite According to the NiTE Linkedin page: “Including computer vision algorithims, NiTE identifies users and tracks their movements, and provides the framework API for implementing Natural-Interaction UI controls based on gestures.”http://www.linkedin.com/company/primesense/nite-middleware-902678/product The system can then interpret specific gestures, making completely hands-free control of electronic devices a reality

PrimeSense – PrimeSense Middleware

* Identification of people their body properties, movements and gestures

PrimeSense – PrimeSense Middleware

* Classification of objects such as furniture

List of LDAP software – Middleware

* [http://opendj.forgerock.org/opendj-server/doc/admin-guide/index/appendix-rest2ldap.html Rest2LDAP] – a Representational state transfer|REST-to-LDAP gateway (computer program)|gateway

European Middleware Initiative

It is the base for other Grid computing|grid middleware distributions used by scientific research communities and distributed computing infrastructures all over the world especially in Europe, South America and Asia

European Middleware Initiative

The EMI middleware is a cooperation among three general purpose grid platforms, the Advanced Resource Connector, gLite and UNICORE and the dCache storage software.

European Middleware Initiative – Purpose

The purpose of the EMI distribution is to consolidate, harmonize and support the original software platforms, evolve and extend them. Redundant or duplicate services resulting from the merging are deprecated, in favour of new services added to satisfy user requirements or specific consolidation needs, standardizing and developing common interfaces. These include the adoption of a common structure for accounting, resource information exchange or authentication and authorization.

European Middleware Initiative – Purpose

Input for the development activities is taken from users, infrastructures projects, standardization initiatives or changing technological innovations. The software products will be adapted as necessary to comply with standard open source guidelines to facilitate the integration in mainstream operating system distributions.

European Middleware Initiative – Collaborations

A cooperation with FutureGrid, a US distributed testbed for Cloud computing|Clouds, Grids and high-performance computing, was announced in December 2011.

European Middleware Initiative – Collaborations

In January 2012, the EMI project formalized a partnership with the iMarine project to create an open data e-infrastructure for fisheries management and marine conservation.

European Middleware Initiative – Users

By 2008 the EMI software distribution provided most of the middleware components which support the execution and completion of the millions of Batch processing|computational jobs handled by the 350 centers of the European Grid Infrastructure and the tens of petabytes of data transfers occurring between the storage systems of those centers.

European Middleware Initiative – Users

EMI middleware was used in the WLCG infrastructure which supports, for example, the search for the Higgs boson (the God Particle) and new types of matter searches of the physicists at LHC together with other research in astronomy, biology, computational chemistry and other sciences.

European Middleware Initiative – License

There is no common EMI license though all licenses used by EMI are open source. Each product has a long history behind its own license. Most are Apache or BSD.

European Middleware Initiative – License

dCache products are released under the dCache Software License but they adopted the Affero General Public License license from 1 January 2012.

European Middleware Initiative – Products

The EMI products (components of the release) can be grouped in four categories (areas): computing, data, security and infrastructure.

European Middleware Initiative – Products

The first release of the software is composed of 56 products packaged for Scientific Linux 5 (32, 64bit).

European Middleware Initiative – Products

The second release is also made of 56 products which are available for Scientific Linux 5 64bit and Scientific Linux 6 64bit. A subset of services is also available for Debian 6 64bit with more planned with the updates.

European Middleware Initiative – Products

The third and final release contains 61 products for the Scientific Linux 5 64bit (480 packages), Scientific Linux 6 64bit (474 packages) and Debian 6 (233 packages) Linux distributions. All components are supported on the Scientific Linux platforms while some are not on Debian.

European Middleware Initiative – Releases

EMI releases are of two types. Major releases include most if not all components and Component Releases which is related to a single product.

European Middleware Initiative – Releases

A collection of components may be released as an update to a major release.

European Middleware Initiative – Major releases

Major releases are delivered once per year. Three planned major releases were named after European mountains.

European Middleware Initiative – Major releases

Full Support: updates are released to address issues in the code and new features are provided (lasts 12 months)

European Middleware Initiative – Major releases

Standard Updates: updates are released to address issues in the code but no new features are provided (lasts 6 months)

European Middleware Initiative – Major releases

Security Updates and Support: only updates targeting security vulnerabilities are provided (6 months)

European Middleware Initiative – Major releases

As older versions of the EMI products are superseded by newer versions, an end-of-life announcement is made which coincides with the end of the security updates and support period.

European Middleware Initiative – Major releases

As of May 2013, 24 updates were released for EMI 1 Kebnekaise, 13 for EMI 2 Matterhorn and 3 for EMI 3 Monte Bianco.

European Middleware Initiative – Component releases

Minor Releases: contain interface or functional changes that are backwards-compatible with those of the current major release. They are issued a few times per year.

European Middleware Initiative – Component releases

Revision Releases: available every week or two weeks. They contain only bug fixes.

European Middleware Initiative – Component releases

Emergency Releases: contain only very specific bug fixes, typically security-related and are available as need, using emergency release procedures.

Agent-oriented programming – Middleware

This can be achieved via AOP and APIs to middleware agents that can flexibly and dynamically manage communication.

SAGA (computing) – Supported middleware

The following table lists the distributed middleware systems that are currently supported by SAGA. The column labeled Adaptor Suite names the collection (release package) of the (set of) middleware adaptors that provides support for the middleware system.

Stellent – Oracle Fusion Middleware components

** Oracle Business Intelligence

Advanced Resource Connector – European Middleware Initiative

In 2010-2013, several key ARC components – most notably, HED, A-REX, clients and libraries – were included in the European Middleware Initiative (EMI) software stack. Through EMI, ARC became a part of the Unified Middleware Distribution (UMD) of the European Grid Infrastructure (EGI).

Iland project – Middleware functionalities

The merging of the real-time systems and the service-oriented architectures enables more flexible a dynamic distributed systems with real time features. So a number of functionalities have been identified to create a SoA based middleware for deterministic reconfiguration of service based applications:

Iland project – Middleware functionalities

* Service registration/deregistration: Stores in the system the functionalities and the description of the different services.

Iland project – Middleware functionalities

* Service discovery: Enables external actor to discover the services currently stored in the system.

Iland project – Middleware functionalities

* Service composition: Creates the service based application on run-time.

Iland project – Middleware functionalities

* Service based admission test: This functionality checks if there are enough resources for the services execution in the distributed system.

Iland project – Middleware functionalities

* Resource reservation: This functionality acquires the necessary resources in the host machine and the network.

Iland project – Middleware functionalities

* System monitoring: This functionality measures if the resources required for the execution of services are not being exhausted.

Iland project – Middleware functionalities

* System reconfiguration: This functionality changes the services currently running on the system by other services providing same functionality.

Iland project – Middleware architecture

The architecture of the iLAND middleware consists in two layers. The high level one is the Core Functionality Layer. It is oriented to the management of the real time service model. The low layer creates bridges to the system resources and the network resources in order to provide the real time operation. Each of these layers contain different software components

Iland project – Middleware architecture

The middleware architecture is further explained in Marisol García Valls, I. Rodríguez López, L. Fernández Villar. iLAND: An Enhanced Middleware for Real-Time Reconfiguration of Service Oriented Distributed Real-Time Systems. IEEE Transactions on Industrial Informatics where the reconfiguration mechanism of the middleware is also explained.

List of smart TV platforms and middleware software

The following list encompasses notable smart TV platforms and application software that are used as software framework and middleware platforms used by more than just one manufacturers.

List of smart TV platforms and middleware software – Framework platforms managed by standardization bodies or technology consortium

*CE-HTML (as part of Web4CE), by Consumer Electronics Association|CEA (Consumer Electronics Association)

List of smart TV platforms and middleware software – Framework platforms managed by single companies or foundations

*Boxee (popular Fork (software development)|fork of the XBMC media center software with custom Graphical user interface|GUI and some Proprietary software|proprietary application framework for Application software|apps)

List of smart TV platforms and middleware software – Framework platforms managed by single companies or foundations

* Liberty Global#Horizon TV|Horizon TV (by Liberty Global, also known as UPC in Europe) a cross-platform platform based Fork (software development)|fork of the XBMC media center software with proprietary middle-ware framework for video on demand and handling DRM for streaming cable television channels.

List of smart TV platforms and middleware software – Framework platforms managed by single companies or foundations

*MeeGo for smart MeeGo for Smart TV (Linux Foundation, Intel Corporation|Intel, AMD) currently based on a derivative fork of XBMC media center xbmc-gles

List of smart TV platforms and middleware software – Framework platforms managed by single companies or foundations

*Microsoft Mediaroom|Mediaroom (former Microsoft, Acquired by Ericsson in Sept 2013)

List of smart TV platforms and middleware software – Framework platforms managed by single companies or foundations

* OpenTV (by Nagravision, also known as NAGRA, a company of the Kudelski Group)

List of smart TV platforms and middleware software – Framework platforms managed by single companies or foundations

* List of software based on XBMC#ToFu Media Platform and ToFu Media Center by Pivos|ToFu Media Platform (cross-platform fork of XBMC media center licensed to third parties and other commercial partners as OEM)

List of smart TV platforms and middleware software – Framework platforms managed by single companies or foundations

*Ubuntu TV, Unity Next|Unity user interface and Ubuntu (operating system)|Ubuntu operating system based platform by Canonical Ltd.|Canonical.

List of smart TV platforms and middleware software – Framework platforms managed by single companies or foundations

*XBMC|XBMC Media Center, by the XBMC Foundation and its open source community, cross-platform media center and DVR/PVR frontend software.

List of smart TV platforms and middleware software – Framework platforms managed by single companies or foundations

*Plex_(software)|Plex, cross-platform media center with streaming functionality to numerous devices.

List of smart TV platforms and middleware software – Framework platforms managed by single companies or foundations

*Zappiti Media Center, cross-platform media center with local/streaming functionality to numerous devices such as computers, Android/iOS, Media Players.

List of smart TV platforms and middleware software – Vendor specific smart TV platforms

*Samsung Smart TV[http://www.samsung.com/us/article/samsung-2011-ces-wrap-up-products-for-a-smarter-life] Samsung 2011 CES Wrap-up: Products for a Smarter Samsung Smart TV Challenge

List of smart TV platforms and middleware software – Vendor specific smart TV platforms

*Roku (also the name of the company who makes the device)

List of smart TV platforms and middleware software – Vendor specific smart TV platforms

*Xbox 360 (by Microsoft), while primarily a game console, it features many typical smart TV features.

OpenTV – OpenTV 2 Middleware – Broadcast Digital Television Platform

OpenTV’s flagship product is OpenTV 2 (formerly known as OpenTV Core), a widely deployed digital television middleware. OpenTV 2.x software technology contains a hardware abstraction layer to enable hardware independence, Television|TV libraries, a broadcast stack (DVB-T/DVB-C/DVB-S, ISDB, ATSC…), a selection of application execution environments, and Personal Video Recorders (PVRs) to create a digital television environment for set-top box.

OpenTV – OpenTV 2 Middleware – Broadcast Digital Television Platform

Nagra offers OpenTV 2 middleware bundled with the award winning nX2 guide and user interface with their Quickstart solution.[http://www.nagra.com/dtv/download_file/view/945/159/ Nx2 QuickStart Solution – An Advanced UI, Easy to Adapt, Simple to use]

OpenTV – OpenTV 2 Middleware – Broadcast Digital Television Platform

February 20, 2008] The OpenTV 2 middleware was deployed at BSkyB (UK), Sky Italia (Italy), Digital+ (Spain), Télévision Par Satellite TPS (France), Numericable (France), EchoStar (USA), Bell ExpressVu (Canada), Foxtel (Australia), Austar (Australia), SKY TV (New Zealand)|Sky New Zealand (New Zealand), Showtime Arabia|Showtime (Saudi Arabia), Evision (Dubai), Cablecom (Switzerland), Euskaltel (Spain), Auna (Spain), StarHub (Singapore), TrueVisions (Thailand), Viasat (Nordic), Hot (Israel)|HOT (Israël), Net Serviços de Comunicação (Brazil), Zee Dish TV of Essel Group (India), TV Cabo (Portugal), Cabovisão (Portugal), Digiturk (Turkey), Etisalat (UAE), NTV-Plus (Russia), Liberty Global UPC Broadband (Europe), Nova (Greece), DStv (South Africa), among many other pay-TV operation globally

OpenTV – OpenTV 2 Middleware – Broadcast Digital Television Platform

OpenTV 2 was ported on more than 40 different types of television set-top boxes such as the one from Pace plc|Pace, Advanced Digital Broadcast|ADB, Amstrad, Daewoo, EchoStar, Grundig, Humax, Hyundai, Panasonic|Matsushita, Motorola, Nokia, Philips, Sagemcom, Samsung, Cisco/Scientific Atlanta, Sony, Toshiba and Thomson (now Technicolor SA|Technicolor).

OpenTV – OpenTV 4 Middleware – Internet Streaming Platform

OpenTV 4 client middleware leverages the Linux OS capabilities.[http://www.echostar.com/NewsEvents/Press%20Releases/PressRelease.aspx?prid= EchoStar Europe Integrates OpenTV’s Linux Client Solution from Nagravision September 11, 2010 – EchoStar] It supports HTTP Live Streaming (also known as HLS) adaptive streaming with NAGRA PRM for secure over-the-top delivery of both live and On Demand content. The software was deployed at Jazztel in Spain in Q4 2011.

Middleware Analysts

‘Middleware analysts’ are Software engineer|computer software engineers with a specialization in products that connect two different computer systems together. These products can be Open-source software|open-source or proprietary. As the term implies, the software, tools, and technologies used by Middleware analysts sit in-the-middle, between two or more systems; the purpose being to enable two systems to communicate and share information.

Middleware Analysts – Roles and Responsibilities

‘Middleware analysts’http://wcts.whitman.edu/about/jobs/middlewareanalyst.html look at the system of systems.ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1563466 They solve technical problems which involve large scale inter-disciplinary objectives with multiple, heterogeneous, distributed systems that are embedded in networks at multiple levels.www.springerlink.com/content/w55246h816hq5185/

Middleware Analysts – Roles and Responsibilities

Middleware analysts hold and maintain proficiency in middleware technologies. Middleware (distributed applications)|Middleware is computer software that connects software components or applications. A senior middleware analyst should be able to articulate why service-oriented architecture|SOA is important to business. SOA is a central theme in most middleware analyst roles within organizations.www.aberdeen.com/summary/report/benchmark/RA_IT_ESB_PK_3170.asp

Middleware Analysts – Best practices for implementations

Middleware best practices promote usability and maintainability among the systems served. A few examples of best practices are included here to provide some insight as to how middleware addresses key principles of Communications server|standards-based computing.

Middleware Analysts – Best practices for implementations

One common problem for middleware is the manner in which user-defined applications are configured so that queue references bypass queue alias definitions referring directly to the queue local or queue remote definition

Middleware Analysts – Best practices for implementations

For example, if a queue local were overflowing, a middleware admin could change the queue alias to point to a temporary queue local, thereby allowing the user-defined application to continue its processing without interruption while the underlying root cause is corrected.

Middleware Analysts – Skills

Middleware analysts perform crucial evangelization of this concept.

Middleware Analysts – Skills

Middleware analysts rely on an SOA reference architecture to lay out an SOA environment that meets the company’s needs and priorities

Middleware Analysts – Generic common practices

Middleware protects data in transit through public key infrastructure|PKI and Transport Layer Security|SSL technology. Security certificates are procured from a certification authority and regularly deployed and updated on servers. This protects data while it is in-transit as it leaves one Server and arrives on the next server in the chain. It does not protect data while data is at rest.

Middleware Analysts – Generic common practices

Encryption|Supplemental transmission security can augment the primary SSL measures that exist on your server

Middleware Analysts – Generic common practices

When data is at rest in queues, it is not protected by MQ

Middleware Analysts – HIPAA-specific considerations

If your enterprise handles HIPAA HIPAA|ePHI data, then your middleware analysts need to know and understand the requirements set forth by Information Privacy Laws|law.www.rsa.com/products/bsafe/whitepapers/DDES_WP_0702.pdf Failure to protect data at-rest may subject your organization to fines and penalties levied by the Federal government or other authority.health.state.tn.us/HIPAA/faq.htm This requires application-level data encryption prior to delivering the data to the queuing system for transport.www-01.ibm.com/software/integration/wmq/securityedition/about/

Game Middleware

A ‘game engine’ is a software framework designed for the creation and development of video games

Game Middleware

A game engine is the software, i.e. some algorithms, solely responsible for the game mechanics and is strictly speaking not the rendering engine. Like e.g. the physics engine, the rendering engine is just middleware. The rendering engine is responsible for the Rendering (computer graphics)|rendering or rather 3D rendering and not for the game mechanics.

Game Middleware – Purpose

Gamebryo, JMonkey Engine and RenderWare are such widely used middleware programs.

Game Middleware – Purpose

Despite the specificity of the name, game engines are often used for other kinds of interactive applications with real-time graphical needs such as marketing demos, architectural visualizations, training simulations, and modeling environments.[http://adlcommunity.net/file.php/36/GrooveFiles/Games%20Madison/report%20Middleware.pdf Report on Use of Middleware in Games]

Game Middleware – Purpose

These engines rely upon the video game developer|game developer to implement the rest of this functionality or assemble it from other game middleware components

Game Middleware – Purpose

As technology ages, the components of an engine may become outdated or insufficient for the requirements of a given project. Since the complexity of programming an entirely new engine may result in unwanted delays (or necessitate that the project be completely restarted), a development team may elect to update their existing engine with newer functionality or components.

Game Middleware – Hardware abstraction

Most often, 3D engines or the rendering systems in game engines are built upon a graphics application programming interface (API) such as Direct3D or OpenGL which provides a software abstraction of the graphics processing unit (GPU) or video card

Game Middleware – Hardware abstraction

With the advent of hardware accelerated physics processing, various physics APIs such as PAL (software)|PAL and the physics extensions of COLLADA became available to provide a software abstraction of the physics processing unit of different middleware providers and console platforms.

Game Middleware – Hardware abstraction

Game engines can be written in any programming language like C++, C (programming language)|C or Java (programming language)|Java, though each language is structurally different and may provide different levels of access to specific functions.

Game Middleware – History

Before game engines, games were typically written as singular entities: a game for the Atari 2600, for example, had to be designed from the bottom up to make optimal use of the display hardware—this core display routine is today called the kernel (computer science)|kernel by retro developers

Game Middleware – History

While third-party game engines were not common up until the rise of 3D computer graphics in the 1990s, there were several 2D game creation systems produced in the 1980s for independent video game development

Game Middleware – History

The term game engine arose in the mid-1990s, especially in connection with 3D games such as first-person shooters (FPS)

Game Middleware – History

Later games, such as id Software’s Quake III Arena and Epic Games’s 1998 Unreal were designed with this approach in mind, with the engine and content developed separately

Game Middleware – History

Modern game engines are some of the most complex applications written, often featuring dozens of finely tuned systems interacting to ensure a precisely controlled user experience. The continued evolution of game engines has created a strong separation between rendering, scripting, artwork, and level design. It is now common, for example, for a typical game development team to have several times as many artists as actual programmers.

Game Middleware – History

First-person shooter games remain the predominant users of third-party game engines, but they are now also being used in other video game genres|genres

Game Middleware – History

Thread (computer science)|Threading is taking on more importance due to modern multi-core systems (e.g

Game Middleware – History

Although the term was first used in the 1990s, there are a few earlier systems in the 1980s that are also considered to be game engines, such as Sierra’s Adventure Game Interpreter (AGI) and Sierra’s Creative Interpreter|SCI systems, LucasArts’ SCUMM system and Incentive Software’s Freescape engine. Unlike most modern game engines, these game engines were never used in any third-party products (except for the SCUMM system which was licensed to and used by Humongous Entertainment).

Game Middleware – Recent trends

As game engine technology matures and becomes more user-friendly, the application of game engines has broadened in scope

Game Middleware – Recent trends

Additionally, more game engines are being built upon high-level programming language|higher level languages such as Java (programming language)|Java and C Sharp (programming language)|C#/.NET Framework|.NET (e.g

Game Middleware – Massively multiplayer online games

Some MMO middleware software packages already include a game engine, while others provide networking only and therefore must be combined with a game engine to create an MMO game.

Game Middleware – First-person shooter engines

A well-known subset of game engines are 3D first-person shooter (FPS) game engines. Groundbreaking development in terms of visual quality is done in FPS games on the human scale. While flight simulator|flight and racing game|driving simulators and real-time strategy (RTS) games increasingly provide realism on a large scale, first-person shooters are at the forefront of computer graphics on these smaller scales.

Game Middleware – First-person shooter engines

The development of the FPS graphic engines that appear in games can be characterized by a steady increase in technologies, with some breakthroughs. Attempts at defining distinct generations lead to arbitrary choices of what constitutes a highly modified version of an old engine and what is a brand-new engine.

Game Middleware – First-person shooter engines

The classification is complicated as game engines blend old and new technologies

IBM Software Group (SWG) – Middleware Group

* Rational Software mdash; Software development and application lifecycle management. Acquired in 2002.

IBM Software Group (SWG) – Middleware Group

* Tivoli Software mdash; Systems management. Acquired in 1995. Re-branded as ‘Cloud Smarter Infrastructure’ (CSI) in 2013.

Data grid – Middleware

In any case, most data grids will have similar middleware services that provide for a universal namespace|name space, data transport service, data access service, data replication and resource management service

For More Information, Visit:

store.theartofservice.com/the-middleware-toolkit.html

store.theartofservice.com/the-middleware-toolkit.html