/* Google Analytics ----------------------------------------------- */

Wednesday, February 18, 2009

Two UML open source to begin one

I just learned today that both open source UML tool I already talked about (Topcased UML and Papyrus UML) will be integrated into one eclpise project and available in Q3 2009.

Monday, February 16, 2009

Review of Two UML Open Source Tools

This is a quick review of two interesting, open source UML tools: Topcased UML and Papyrus UML. They are both based on Eclipse.
  • Both products use Eclipse UML2, an EMF-based schema, so it is possible to exchange data between them (and other products using the same UML model file format).
  • Papyrus documentation is nearly non existant - IDE help is either empty or refers to external avi (sic!) files, Topcased is much better.
  • There is a convient Papurys bundle install, Topcased users need to use Eclipse update.
  • Topcased allows to export single or group of diagrams to several image formats, Papyrus does not.
  • Both products supports meta-models and UML2 profiles.
  • They are both available under Eclipse Public License (EPL).

A good Introduction to the Diagrams of UML 2.0 and some good practices are available at

how do you view the source of a compiled source code?

Assume that you've owned a web application, and that you have access to its compiled source codes (Java class files and .NET assembly files): how do you view the source?

The answer is pretty straightforward.

For Java, the tool of choice is jad - the fast JAva Decompiler. There is also the Java Decompiler which is based on a gui and is able to decompile Java 5/6 code.

The other tool when working on .NET web apps is Reflector for .NET. Reflector was built to examine any .NET-based codes. It includes a nice browser GUI that provides information such as classes, methods and properties of the assemblies. The good thing about Reflector it is plugin-based, which you can find here. One of the most interesting ones is the Graph plugins, which can show assemblies dependencies graphs, flow graphs and IL graphs.

For .net, you can also invest in mztools.

Continuous Integration

In my current company we are using Hudson (for developpers) and Sonar (which offers a simpler Software engineering dashboard). Both tools are great. In our continuous integration platform we also use maven2, Nexus, findbugs, cmd, checkstyles, and CPD.

Two tools that could also be interesting in that area:
  • Testability Explorer: Testability-explorer is a tool which analyzes java byte-codes and computes how difficult it will be to write unit-test. It attempts to help you quantitatively determine how hard your code is to test and, where to focus to make it more testable.
  • Macker: Macker is a build-time architectural rule checking utility for Java developers. It helps keep code clean and consistent. You can tailor a rules file to suit a specific project's structure, or write some general "good practice" rules for your code.

I also like this set of articles called "Automation for the people (IBM developerworks)". Lots of interesting articles.

Generating GUI - Metawidget

Metawidget takes your domain objects and automatically creates User Interface widgets for them, saving you handcoding your UIs and leaving you to concentrate on stitching together your application.
As much as possible, Metawidget does this without introducing new technologies.

It inspects, at runtime, an application's existing back-end architecture (such as JavaBeans, existing annotations, existing XML configuration files) and creates widgets native to its existing front-end framework (such as Swing, Java Server Faces, Struts or Android).

Some Agile Tools

We use Rally Software for managing our SCRUM projects. During the initial phase of looking for a tool I found those interesting ones:

What's in my memory?

Java Application Monitoring Tools

Here are some tools that could help you to do Java application monitoring:

Microsoft Oslo

Microsoft has finally understood internally the interest of MDA.
OSLO will be MDA for the masses; of course the Microsoft way ... They will not endorse MOF but will "interoperate" with it.

And that's where Microsoft is excellent. "Embrace and extend".

It will take time to make people use it and adopt it, anyway. But I think, it is a very important move ...

Especially because the technology will be offered in Visual Studio 2010, but also because Microsoft Dynamics AX will use it at its core.

Stay tuned on Oslo and Dublin ... And be ready to model more and program less.

TIBCO ActiveMatrix Platform

TIBCO ActiveMatrix is a range of products running on the same platform based on JBI.

The main components are:
  1. TIBCO ActiveMatrix Foundation
  2. TIBCO ActiveMatrix Foundation is playing the same role as Tibco Runtime Agent in the previous Tibco platform. It is built of:

    • TIBCO BusinessStudio, the IDE. As in TIBCO Designer, only installed components will appear.
    • The deployment platform, including the JBI bus, the shared ressources (SOAP, JMS containers). The deployment platform needs TIBCO Enterprise Message Service to run. Nodes, etc are defined at this level.
    • TIBCO ActiveMatrix Administrator.

  3. The containers

  4. These are the runtime components that will host code and run it. Containers as of today include:

    • TIBCO ActiveMatrix BusinessWorks Service Engine, to host TIBCO ActiveMatrix BusinessWorks services and processes
    • TIBCO ActiveMatrix Adapters Service Engine, to run TIBCO Adapters as services
    • TIBCO ActiveMatrix Service Bus, a lightweight ESB for mediation of external and internal services.
    • TIBCO ActiveMatrix Service Grid, that contains a list of containers for heterogeneous technologies: Java Container, .Net Container, C++ Container, Ruby Container and finally the EJB binding implementation type (to expose EJBs as referenced services to the code/services in TIBCO ActiveMatrix).

  5. The governance components

  6. To address runtime and design time governance, TIBCO provides the following components:

    • TIBCO ActiveMatrix Registry, a UDDI repository targeted at design time and design time governance processes
    • TIBCO ActiveMatrix Runtime UDDI Server, a UDDI registry targeted at runtime
    • TIBCO ActiveMatrix Policy Manager, to define, manage and enforce policies transparently on services hosted in the TIBCO ActiveMatrix containers. TIBCO also provides agents to enforce such policies to WebSphere and WCF services. Finally, a proxy agent is provided to enforce these policies to any type of service (as to TIBCO ActiveMatrix BusinessWorks standalone)
    • TIBCO ActiveMatrix Service Performance Manager, to measure and apply alerts/actions on SLAs based on consumption of the services hosted in the TIBCO ActiveMatrix containers.

TIBCO ActiveMatrix BusinessWorks Service Engine (accessible for free to TIBCO ActiveMatrix BusinessWorks customers) includes TIBCO ActiveMatrix Foundation.

In order to access the the new Tibco ActiveMatrix components you may want to test, you should download, install and setup:

  • TIBCO ActiveMatrix Service Grid
  • TIBCO ActiveMatrix Registry
  • TIBCO ActiveMatrix Policy Manager
Does anybody already tested TIBCO ActiveMatrix Service Grid?