Wednesday, November 7, 2007

What is OSGi -- Open Services Gateway initiative

http://en.wikipedia.org/wiki/OSGi
The OSGi Alliance (formerly known as the Open Services Gateway initiative - now an obsolete name) is an open standards organization founded in March 1999. The Alliance and its members have specified a Java-based service platform that can be remotely managed. The core part of the specifications is a framework that defines an application life cycle model and a service registry. Based on this framework, a large number of OSGi Layers, APIs, and Services have been defined:

Security
Module
Life Cycle, and Service Layers
Framework API
Package Admin Service
Start Level Service
Conditional Permission Admin
Permission Admin Service
URL Handlers Service
Log Service
HTTP Service (runs servlets)
Device Access
Configuration Admin Service
Metatype Service
Preferences Service
User Admin Service
Wire Admin Service
I/O Connector Service
Initial Provisioning
UPnP Device Service
Declarative Services
Event Admin Service
Deployment Admin
Auto Configuration
Application Admin Service
DMT Admin Service
Monitor Admin Service
Foreign Application Service
Service Tracker
XML Parser Service
Position
Measurement and State
Execution Environments

OSGi Framework Scope
=====================
Classification: OSGi & System-LayeringThe Framework implements a complete and dynamic component model, something that is missing in standalone Java/VM environments. Applications or components (coming in the form of bundles for deployment) can be remotely installed, started, stopped, updated and uninstalled without requiring a reboot; management of Java packages/classes is specified in great detail. Life cycle management is done via APIs which allow for remote downloading of management policies. The service registry allows bundles to detect the addition of new services, or the removal of services, and adapt accordingly.

The original focus was on service gateways but the applicability turned out to be much wider. The OSGi specifications are now used in applications ranging from mobile phones to the open source Eclipse IDE. Other application areas include cars, industrial automation, building automation, PDAs, grid computing, entertainment(e.g. iPronto), fleet management and application servers.


Specification Process
========================
The OSGi specification is developed by the members in an open process and made available to the public free of charge under the OSGi Specification License. The OSGi Alliance has a compliance program that is open to members only. As of October 2007, the list of certified OSGi implementations contains six entries.


Organization
===============
The OSGi Alliance was founded by Ericsson, IBM, Oracle, Sun Microsystems and others in March 1999 (before incorporating as a nonprofit corporation it was called the Connected Alliance).

Among its members are (as of May 2007) more than 35 companies from quite different business areas, for example Ericsson, Deutsche Telekom, IBM, Makewave (formerly Gatespace Telematics), Motorola, Nokia, NTT, Oracle, ProSyst, Red Hat, Samsung Electronics, Siemens, and Telefonica.

The Alliance has a Board of Directors which provides the organization's overall governance. OSGi Officers have various roles and responsibilities in supporting the Alliance. Technical work is conducted within Expert Groups (EGs) chartered by the Board of Directors, and non-technical work is conducted in various Working Groups and Committees. The technical work conducted within Expert Groups include developing specifications, reference implementations, and compliance tests. These Expert Groups, working together, have produced four major releases of the OSGi specifications (as of 2007).

There are dedicated Expert Groups for the Enterprise, Mobile, Vehicle and the Core Platform areas. The Enterprise Expert Group (EEG) is the newest EG and is addressing Enterprise / Server-side applications.


Community
============
In October 2003, Nokia, Motorola, IBM, ProSyst and other OSGi members formed a Mobile Expert Group (MEG) that will specify a MIDP-based service platform for the next generation of smart mobile phones, addressing some of the needs that CLDC cannot manage - other than CDC. MEG became part of OSGi as with R4.

Also in 2003 Eclipse selected OSGi as the underlying runtime for the plug-in architecture used for the Eclipse Rich Client Platform and the IDE platform. Eclipse itself includes sophisticated tooling for developing OSGi bundles and there are a number of other Eclipse plug-ins aimed at supporting OSGi behaviour (e.g. both ProSyst and Knopflerfish have Eclipse plug-ins available specifically for OSGi developers).

There is a vibrant free software community revolving around the OSGi specifications. See Equinox OSGi implementation, Apache Felix and the Knopflerfish OSGi project.

What is J2ME -- Java Micro Edition

Java ME: the Most Ubiquitous Application Platform for Mobile Devices

Deployed on billions of devices, supported by leading tool vendors, and used worldwide.
» Look at sample Java ME code:http://java.com/en/mobile/
» Java ME goes open source:http://www.sun.com/software/opensource/java/

http://java.sun.com/javame/index.jsp
It is Java Platform, Micro Edition (Java ME) provides a robust, flexible environment for applications running on mobile and other embedded devices—mobile phones, personal digital assistants (PDAs), TV set-top boxes, and printers. Java ME includes flexible user interfaces, robust security, built-in network protocols, and support for networked and offline applications that can be downloaded dynamically. Applications based on Java ME are portable across many devices, yet leverage each device's native capabilities.


Java ME Platform Overview
http://java.sun.com/javame/technology/index.jsp
Java Platform, Micro Edition (Java ME) is a collection of technologies and specifications to create a platform that fits the requirements for mobile devices such as consumer products, embedded devices, and advanced mobile devices. It is a collection of technologies and specifications that can be combined to create a complete Java runtime environment specifically to fit the requirements of a particular device

another OODA UML design tool

Following OODA UML design tool by ChangeVersion http://www.change-vision.com/en/products.html


JUDE/Professional - System Design Tool
JUDE/Community - Free UML Modeling Tool
http://jude.change-vision.com/jude-web/index.html

JUDE is a new, simple, fast and easy UML modeling tool which supports object-oriented software design in UML. It integrates Mind Mapping features with UML and helps expand your ideas


TRICHORD ($200/License)
http://trichord.change-vision.com/en/index.html
is a simple Agile project management tool that helps developers and managers track status at a glance from three viewpoints (Time, Task, Team), using "Kanban Board" (a Just-In-Time pull control method in Toyota Production System).