Skip to content

A sketch of Adobe Flex Architecture capabilities

I am evaluating Adobe Flex technology to do rich internet applications. Sometimes a picture is worth a thousand words: so in the following I sketched an overview of Flex programming capabilities.

Diagram focuses on how to create a Flash Application (compiling MXML and Actionscript files using the free Flex SDK) and on what kind of interactions a Flex-made application can perform with external systems.

Flash.png

Some starting (and incomplete) references:

  • Protocols
    • AMF (Action Message Format) used for serializing objects [link]
    • RTMP (Real Time Messaging protocol) used for messaging [link]
  • Project & Products
    • Adobe Flex Data Service (renamed in Adobe Lifecycle Services) [link]
    • Open AMF [link]
    • Red5 Flash Server [link]

Ubuntu Gutsy (7.1) on a Toshiba Satellite A100-022


As holiday geek-fun I installed Ubuntu 7.1 (aka Gutsy Gibbon) on my Toshiba Satellite Laptop A100-022 (a laptop which surprisingly is difficult to find information online). It was a great pleasure for me to note that Ubuntu is the first 100% (or 99%:) laptop friendly Linux distribution. Most of laptop functionalities worked out of the box and I had to do only minor tweaks for having a production-ready development system.

As someone wrote Ubuntu has mitigated most of linux geeky edges while polishing it for the desktop. I used Linux since 1995 (Slackware 1.0) and during the years I used several distributions on servers and on desktop machines. Every distribution I have used didn’t perform progresses that I got with Ubuntu 7.1. This is the first desktop-distro that has satisfied all requirements and desiderata of a laptop mobile user (mine at least …).

Following table show functionalities working at the moment and a brief description of tweaks that I needed to do:

Feature Status How
Video WORKING Out of the box
Audio WORKING Out of the box
CPU Frequency Scaling WORKING Out of the box
Hibernate WORKING Out of the box
Standby NOT WORKING Not yet tried to fix it
Networking (Ethernet and WiFi) WORKING Out of the box
Touchpad (with tap-scrolling features) WORKING Out of the box
LCD Brightness WORKING Some hack needed
Laptop buttons NOT WORKING Not yet tried to fix it
External Monitor NOT TESTED YET -
LID Management WORKING Out of the box
Bluetooth WORKING Some hack needed
Bluetooth PAN (for UMTS/HSDPA) WORKING Some hack needed
3D Graphic effects WORKING Out of the box
VMWare WORKING Some hack needed

Continue reading ›

OSGi and Open Source ecosystem

Update 17 Nov 07

  • Added Newton Project
  • Added Osxa Project

As InfoQ reported this summer, there is an increasing interest in OSGi and its related projects. I have created a table summarizing the status of OSGi in the field of Open Source community. Starting from available open source container, I searched about projects exploiting OSGi and their level of adoption of this technology

There are several levels for OSGi adoption. At the minimum level a project’s team can package its artifacts as OSGi bundles with the goal of deploying them across an OSGi compatible container. At the maximum level a project’s team can strategically adopt OSGi as the component architecture using programming model and services offered by the platform.

A project starting from scratch could exploit OSGi at its maximum level while an existing project could start adopting its features incrementally. In both cases benefits are evident: dependency tracking between components, version tracking, standard deployment format and many more. If your code is monolithic and bad modularized you have to fight against a lot of large refactoring before OSGi-enabling it.

OSGi standard is quite aged (first version was release on 1999) but it seems that only in the last months it is becoming a consolidated platform to build systems. As you can see from the following table several projects have adopted a whole OSGi architecture while many other successfully projects are starting experimenting and/or discussing about it.

I divided table in four categories:

  • OSGi open source containers
  • Projects exploiting an OSGi-based Architecture
  • Projects supporting OSGi deployment
  • Projects experimenting OSGi

Continue reading ›