MOBILE MIDDLEWARE PRINCIPLES

Mobile middleware follow different sets of principles that comes with the multiple environments where a mobile nodes needs to operate

INTERNET PRINCIPLES

End-to-End Principle

The opportunity to maintain state and intelligence only on network borders (edges). Today in real scenarios this principle is violated frequently: firewalls, Network Address Traversal,caches for Web content.

Robustness Principle

Be conservative in what you do, be liberal in what you accept from others

When developing internet capable applications, respect RFC’s standards but be able to process information that does not respect them.

WEB PRINCIPLES

Web principles follow the guidelines of the ones at the basis of the underlying TCP/IP stack

Simplicity, modularity, decentralization, and robustness

In particular processes that access, manipulate or represent data should follow this principles

State management

Usage of the many techniques developed in web scenarios to manage the state storage and representation and the stateful interactions (e.g. REST interfaces)

SoA PRINCIPLES

Service Oriented Architecture (SOA)

Develop software architectures structured around business process where the components are minimal and loosely coupled in order to be interchangeable and exploits:

  • Re-usability
  • granularity
  • modularity
  • possibility of dynamic composition
  • component-based organization
  • interoperability

CROSS LAYERING PRINCIPLE

Handle request for the high level components to interact with lower parts of the stack in different ways

Upward info flow

with info propagated from lower to higher layers, in opposite to classical principles for layered architectures

Downward info flow

with info propagated from higher to lower layers, typically to configure lower-layer parameters and settings

Back-and-forth info flow

with info propagated in both directions

Merging of adjacent layers

allows the combination of different adjacent layers into a single super-layer

Coupling

with no addition of new interfaces. Two or more layers are coupled at design time in a finalized way, with no possibility of maintaining independency/abstraction from lower layer

Vertical calibration

Usually to achieve layers-joint optimization of the configuration of parameters (joint tuning) and to obtain better overall performance

PREVIOUS NEXT