Middleware Features (Services)-Requirements - ZeroC

arrogantpreviousInternet και Εφαρμογές Web

2 Φεβ 2013 (πριν από 4 χρόνια και 6 μήνες)

148 εμφανίσεις

Features

Communication Libraries

Object Oriented

Transaction Oriented

Message Oriented

Other

QLib
(Bytestream)

ACE

TAO (CORBA)

ORBexpress (CORBA/e)

ICE

Oracle BEA Tuxedo

IBM Websphere MQ

IBM
TSpace

Software Package Issues

Licensing model

In house

Freew
are

Freeware

Commercial

Commercial

Commercial

Commercial

Commercial

Researching
Project

Open Source

Yes

Yes

Yes





No

No

No

Service / Support

In house

No,

officially

Yes, from the 3rd party

No,

officially

Yes, from the 3rd party

Yes

Yes

Yes

Yes

Yes

Typ
ical Application
Domain

Common
Communication /

Automation

Common Communication

Distributed Systems

Distributed Systems /

Embedded & Realtime

Distributed Systems

Distributed Systems /

Bussiness Processing

Distributed Systems /

Web Service

Distributed
System
s /

Wireless

Progamming Languages Supported

C/C++

Yes

Yes

Based on ACE

Yes

Yes

Yes

C language

No

Java

No

No

Java ACE is available, but not stopped to update due
to funds

Yes

Yes

No

J2EE is suppoted through WebLogic Tuxedo Connector

Yes

Yes

[other]

n.
a.

n.a.

Ada

.Net, PHP, Python, Ruby

COBOL

COBOL, PL/I, Perl (3rd party)

n.a.

OS Supported

Windows

Yes

Yes

32/64 bits

Platform / Embedded

Based on ACE

Yes

Yes

Platform / Embedded

Yes

Yes

N/A
, Java
VM

Unix/Linux

Yes

Yes

most of unix & linux

Yes

Yes

mos
t of unix & linux

Yes

most of unit & linux

Yes

N/A
, Java
VM

Mac OS

Yes

Yes

Max OS X



Yes

Max OS X

No

No

N/A
, Java
VM

QNX

Yes

Yes

Yes

No,

officially

porting has been done by ORCA
group

No

No

N/A
, Java
VM

[other]

n.a.

VxWorks, PSoS, LynxOS, Chorus OS,
RTEMS, OS9

VxWorks, Nucleus, LynxOS

n.a.

various of IBM/HP OS, e.g. AIX

various of IBM/HP OS, e.g. AIX

n.a.

CPU Architecture Supported

x86

Yes

Open source, can be
configured and recompiled on
different platform if OS
supports that

Yes

Open source, can b
e configured and recompiled on
different platform if OS supports that

Based on ACE

Yes

Yes

Yes

Yes

N/A
, Java
VM

x64

Yes

Yes

Yes

Yes

N/A
, Java
VM

ARM

Yes

Yes

No

No

N/A
, Java
VM

MIPS

Yes

No

No

No

N/A
, Java
VM

PowerPC

Yes

No

No

No

N/A
, Java
V
M

[other]

DSP / FPGA

n.a.

n.a.

n.a.

n.a.

Communication Links Supported

Socket

Yes,
Partly

Yes

Based on ACE

Yes

Yes

Yes

Yes

Yes

~ TCP

Yes

Yes

Yes

Yes

Yes

Yes

Yes

~ UDP

No
, currently

Yes

Yes

Yes

N/A

N/A

N/A

~ [other]

n.a.

n.a.

Facilities to over
ride transport channels

SSL

LLE, SSL, IIOP, IIOPS

SSL, HTTP

n.a.

Shared Memory

No

Yes

Yes

No

N/A

It's a network service, shared memeory is using inside the server.

N/A

It's a network service

N/A

It's a network
service

Pipes / Named Pipes

No

Yes

No

No

File Stream

Yes

Yes

No

No

I/O Devices

Yes

Yes

No

No

~ Console

Yes

No

No

No

~ Serial Port

Yes

No

No

No

~ CAN Bus

No

No

No

No

~ [other]

Laser Scanner, Radar,
Servo Control, Video
Camera, GPS/IMU
Navigation Equipment,
MODBUS Compli
ant
H/W

n.a.

n.a.

n.a.

[other]

n.a.

System V IPC

n.a.

n.a.

OS Features Supported

Process & Thread
Control

Yes

Yes

Based on ACE

N/A

It's not a programming framework

Yes

N/A

It's not a programming framework

N/A

It's not a programming framework

N/
A

It's not a
programming
framework

Concurrency &
Synchronization

Yes

Yes

Yes

File System

Yes

Yes

Yes

Dynamic Link

Yes

Shared Obejct Loading

Yes

Dynamic Link



Memory Management

Yes

Yes

?

Timing

Yes

Yes



Application Model

Ev
ent demultiplexing

Yes

Yes

Based on ACE

N/A

It's not a programming framework

Yes

N/A

It's not a programming framework

N/A

It's not a programming framework

N/A

It's not a
programming
framework

~ Synchronized

Yes

Yes

Yes

~ Asynchronized

Yes

Yes

Yes

~ Message Queue

Yes

Observer Pattern

Yes

Yes

Service Initialization

No

Yes

Yes

Service Configuration

Yes
, partially

Configuration File

Yes

Configuration and script files to support service
initialization

Yes

Logging

Yes

Yes

Yes

Hierachically
-
Layered
Stream

No

Yes



Communication Link Topology

Network Topology

Network layer is a
decentralized structure
without a central facility. e.g.
IP network

Distributed

Distributed

Distributed

Distributed

Distributed

Centralized Transc
ation Monitor

Centralized Message Queue Server

Centralized
Tuple
Space
Server

Multiplexing Link

Sessions are multiplexed by a
broker, e.g. CORBA ORB

Non
-
multiplexing

Direct socket connection
between communication units

Non
-
multiplexing

Direct socket conne
ction between communication
units

Multiplexing

Multiplexing

Multiplexing

Multiplexing

Multiplexing

Multiplexing

Interoperation Model

CORBA Compliant

Is the solution claimed to be
CORBA compliant?

N/A

N/A

Yes

Yes

No

Yes

No

No

Java RMI Compliant

Is the
solution claimed to be
RMI compliant?

N/A

N/A

No

No



Yes

No

No

Data Representation
(Serialization &
Marshalling)

A platform and/or language
independent data
representation, serialization
and marshalling mechanism

Yes

A framework is provided to
serialize
C++ class



Yes

Compliant to CORBA data representation and
serialization

Yes

Compliant to CORBA data representation and
serialization

Yes

A data representation framework is
provided, convenient to STL string

Yes

Flexible Buffer Formats

Yes

Transform data b
etween different architectures and
protocols.

Yes

~ Support Type "Any"

N/A

N/A

Yes

Yes

No

N/A

N/A

N/A

Interface Definition
Language

A platform and/or language
independent interface
definition method

N/A

N/A

Yes

IDL compliant interface definition language

Yes

IDL compliant interface definition language

Yes

private interface definition language
-

Slice

Yes

No

No

Dynamic Invocation

Invoke a remote method
without compile
-
time
knowledge

N/A

N/A

Yes

Yes

Yes

N/A

N/A

Yes

New data type
and operators
can be
downlo
aded in
run time

Interface Repository

A service that provides
persistent objects that
represent the interface
information in a form
available at run
-
time.

N/A

N/A

Yes

Yes

No

N/A

N/A

N/A

Implementation
Repositroy

Contains information that
allows the middl
eware to
locate and activate
implementations of objects

N/A

N/A

Yes

Yes

No

N/A

N/A

N/A

Assured Delivery

It can reduce the risk of data
being lost, helps ensure that
data is not duplicated and
completes as a single unit of
work or transaction. Even
potenti
ally non
-
concurrent
applications on a distributed
network to communicate with
each other

N/A

N/A

No

No

No

Yes

Yes

Yes

Data
persistently
stored

Embedded & Realtime

QoS

Priority of message
transmission

No

Yes

Yes

Yes



N/A

Yes

Priority of messages are conf
igurable

N/A

Predictable Memory
Pools







Yes



N/A

N/A

N/A

[other]

n.a.

n.a.

n.a.

Smaller Size & Higher Perfromance

n.a.

n.a.

n.a.

n.a.

Advanced Features

Naming Service

Provides the principal
mechanism through which
most clients of an middleware
sys
tem locate objects that
they intend to use

N/A

N/A

Yes

A hierachical (tree
-
like) name space and alias are
suppoted

Yes

Yes

Uniique name in a flat name space

No

Yes

MQ itself is responsible for determining the
destination of messages

No

Trading Object
Serv
ice

Facilitates the offering and
the discovery of instances of
services of particular types

N/A

N/A

Yes

???

No

No

No

No

Event service

Defines two roles for objects:
the supplier role and the
consumer role. Supplier
produce event data and
consumers process

event
data.

N/A

N/A

Yes

???

Yes

Yes

Event Broker

Yes

MQ is an event service naturally

Yes

Notification Service

An extension to the existing
OMG Event Service, adding
to it: transmitting events in the
form of a data structure;
event subscription; discover
y;
QoS; and an optional event
type repository.

N/A

N/A

Yes

???

No

Yes

Notification and bullitin board

Yes

MQ is an notification service naturally

N/A

Security Service

A security reference model
that provides the overall
framework for CORBA
security

N/A

N/
A

Yes

???

Yes

Yes

AAA, Public Key Infrastructure.

Yes

Yes

Life Cycle Service

Life Cycle Service defines
services and conventions for
creating, deleting, copying
and moving objects

N/A

N/A

Yes

???

No

No

No

No

Logging Service

This specification defines the

interfaces that allow logging
of any type of event and
querying of Log Records
based on constraint
languages. It also provides
capabilities to form log
networks for storing and
forwarding events.

N/A

N/A

Yes

???

Yes

No

No

No

Time Service

Enables a user t
o obtain
current time together with an
error estimate associated with
it.

N/A

N/A

Yes

???

No

No

No

No

Concurrency Service

Mediates concurrent access
to an object such that the
consistency of the object is
not compromised when
accessed by concurrently
exec
uting computations

N/A

N/A

Yes

???

No

No

No

No

Load Balance

N/A

N/A

Yes

???

No

Yes

Spawn and decay servers

Yes, ( Clustering )

Supports clustering for dynamically distributing
messaging workload throughout available MQ
resources

No

Fault Tolerance
Servic
e

N/A

N/A

Yes

???

No

Yes

Server automatic recover

No

No

Real
-
Time Event
Service

N/A

N/A

Yes

???

No

No

No

No

Scheduling Service

N/A

N/A

Yes

???

No

No

No

No

Updateing Service

N/A

N/A

No

???

Yes

No

No

No

Tansaction Service

Provides interfaces that
combine

the transaction
paradigm, essential to
developing reliable distributed
applications, and the object
paradigm, key to productivity
and quality in application
development, together to
address the business
problems of commercial
transaction processing

N/A

N
/A

Yes

???

No

Yes

2 phase commit protocols

No

No

Clustering

No

No

No

No

No

Yes

Domain

Yes

No

Misc. Utilities

support XML

No

Yes

Based on ACE

???

Yes

Yes

XML buffer and parsing support

Yes (SOAP)

No

[Other]

n.a.

SNMP

n.a.

n.a.

n.a.

n.a.

n.a.