Académique Documents
Professionnel Documents
Culture Documents
MIDDLEWARE
26.1 INTRODUCTION
26.1.1 DEFINITION
Middleware software is any system software that is not the OS kernel, device drivers
or application software. In an embedded system middleware is system software that
typically sits on either the device drivers or on top of the OS and can sometimes be
DCOM).
Middleware systems are comprised of abstractions and services.
Specifically, middleware is an abstraction layer generally used on embedded devices
with two or more Applications in order to provide flexibility, security, portability,
connectivity, intercommunication and/or interoperability mechanisms between
applications.
26.1.2 HOW IT WORKS?
Interface
There are seven different types of services or elements offered by the middleware
layer. More complex embedded systems usually have more than middleware element,
since it is unusual to find one technology that supports all specified application
requirements. In this case, the individual middleware elements are typically selected
based upon their interoperability with each other, so as to avoid later problems in
integration. In some cases integrated middleware packages of compatible middleware
elements are available commercially, off-the-shelf, for use in embedded systems such
as Sun embedded Java solutions, Microsofts .NET Compact Framework, and
CORBA from the Object Management Group(OMG), to name a few. Many
embedded OS vendors also provide integrated middleware packages that run out-ofthe-box with their respective OS and hardware platforms.
26.2.1 DATA MANAGEMENT SERVICES
One example of a middleware supporting these features are CI-Link from Cornut
Informatique in France. CI-Link is a middleware that connects MS-Windows and
Macintosh applications to SQL databases under UNIX. It comes with a high-level
built-in development language which lets you centralise tasks on the server. CI-Link
is compatible with the several relational DBMSs like Oracle, Informix, Ingres and
Progress.
Another database middleware candidate is Accessworks from Oracle Corporation,
in co-operation with Digital. Accessworks provides a desktop API via ODBC, SQL
services, and read/write access to a wide area of databases, etc. Accessworks is
available for the most common client desktops such as MS-DOS, MS-Windows,
OS/2, Macintosh, Open VMS, and UNIX systems.
26.2.2 COMMUNICATION SERVICES
Middleware supporting the communication services can be divided into two different
groups: RPC and messaging systems. RPCs provide facilities for synchronous
One of the most basic form of middleware provides support for transparently
Tools supporting object management services use Object Request Brokers (ORBs)
to provide transparent communications between objects sited on different locations in
a network.
OMGs CORBA is an example of this technology. IONAs ORBIX is the most
Architecture.
CORBA supports distributed object computing.
CORBA uses a broker.
- An intermediatory handling requests in a system.
- facilitates communication between clients and server objects.
- separates a components interface from its implementation.
Tools supporting application co-operation services are providing support for a large
number of concurrent users that access transactions programs and services (i.e.
databases, security, workflows), local and distributed load balancing to optimise
performance, and efficiently synchronizing data updates to multiple databases during
Tools supporting presentation services provide features for mapping GUIs and
transparent printing.
These services are often included in other tools. But there exists dedicated tools for
mapping character based UIs into GUIs.
Protocol-independent communication.
Client-server and peer-to-peer data transfer.
Streamlines business processes and helps raise organizational efficiency.
Performance Overhead.
Loss of Control.
Large and Heavy.
26.5 CONCLUSION
Proprietary Software
Designed to solve a unique and specific problem.
In-House developed or contract.
Off-The-Shelf Software
An existing software program that can be used without considerable changes
expected.
Customized Package
Blend of off-the-shelf software and internal/contract software development.
Application service provider.
Object Linking and Embedding (OLE).
Dynamic Data Exchange (DDE).
Workgroup application software.