Software Architects are just customs … officer.

March 8th, 2010 by Alban Seurat

custom

Obviously, this title is a little provocative and there is a lot of shortcut :) . I am myself doing architecture and software development, and I have a recurrent  rhetorical question tickling in my head; where does a particular artifact should be build.

Indeed, a common pattern in software development is too find the right boundaries, the right frontier, the right position, the right size:

  • Where should I decompose my software into service,
  • Where this module should be separated from another,
  • Where is the frontier between meta-data (configuration, …) and data.
  • Where is particular class should settle, in the GUI part, the back-end part, …

Mostly, we agree on principles, the hardest part is too put them in practice. Most the times, the remaining question is, where is the limit, the position, the size of a particular artifact (services, class, module, methods, …).

Manager has to deal with numbers, status, deadlines, very concrete facts. Architects has on different mindset; Principles, Patterns, more vague concepts even if they are often well described. Amusingly, one of this principles is to continue to code to not being too much in an ivory tour and forget all this numbers (sizing, deadlines, pragmatism, …).

Single Sign-On : What brings it for you ?

October 15th, 2009 by Alkpone

Buzz word, we are all talking buzz word, SSO is one of them. What is Single Sign-On by the way?

A brief description would say that Single Sign-on is a solution to allow an end-user to use different applications using the same credentials. To give you an example, when I use modern web sites like Facebook, Dailymotion, yahoo I can use OpenID to connect to any of these applications. OpenID keeps my user information and I may connect to any of theses websites with my OpenID ID :) .

Another incarnation of SSO in the enterprise world is described by OASIS using SAML. Security Assertion Markup Language is an XML based standard for exchanging authentication and authorization data between security domains, that is, between an identity provider (a producer of assertions) and a service provider (a consumer of assertions).

Read the rest of this entry »

How-To: Mount an Ubuntu 9.04 on Debian 4 / Xen 3.2

September 15th, 2009 by Alkpone

Why choosing XEN Hypervisor for your virtualization.

Two reason, on Linux, it’s the most advanced open-source virtualization system. Even if KVM is under heavy development, many features are still missing. Second reason is that Xen has a paravirtualization.

The first part of the How-To would be to explain how to install Debian and Xen. I’ve done this many times and I will probably do a How-To someday to explain how to create this first step. Let’s assume you are hosted on OVH (European Hosting Provider) and everything is already in place. Read the rest of this entry »

Why Mac OS X is my operating system

September 4th, 2009 by Alban Seurat

Back in 2001, when Steve Jobs released Mac Os X, I was enthusiastic. macosXarch

At last, one operating system based on UNIX with all its powerful tools been available and still the best User Interface we can have. In this period, Linux was far away from Ubuntu 9.04 and Windows 2000, well, Windows, except with cygwin, they were no way to have a real powerful command line (ok I’m a geek :) ). I remember saying to my friends that it was a good move from Apple. Read the rest of this entry »

Spring DM Server : OSGI for the Plebs

September 2nd, 2009 by Alban Seurat

As you will probably discover, OSGI community is a very vibrant community. I will continue my articles around OSGi with some thought on the Spring flavor of OSGI as a plaform.

Spring DM Server is a product based on Spring OSGI open source project which have a goal (like always with Spring) to  encapsulate OSGI plateform to let you focus on your business code.

Then, here an insight of what Spring brings to OSGI…

Read the rest of this entry »

Wordpress: How-to add a meta-box in the post page

August 31st, 2009 by Alban Seurat

Typically, I had to do this to modify the DZone plug-in which had some ugly configuration to modify the post subpanel in the Wordpress administration page.

Then, here the few things you need to do to create a beautiful meta-box within any Wordpress post page :)

This code will works for any version of Wordpress 2.x. Since wordpress 2.5, a new API has been defined to allow easily to add admin meta-box but if you want to create a plug-in compatible with older version of wordpress, here is the way…

Read the rest of this entry »

Distributed OSGi, an elegant way to distribute software

August 30th, 2009 by Alban Seurat

Before talking about distribution, I will talk a little about OSGi.

This platform was primarily intended to work on mobile device. Therefore, it has been design to be light and focusing on the principal (KISS Principle).

Every developer who had used Java programming more than just some Hello World tests, will understand the Jar Hell and the fun with the Class-path.
OSGi has too primary goals, first its modular system which allow to manage module (they call it Bundle) life-cycle, module version management and module dependencies. It’s particularly important for applications who need to run with small memory to only load what is necessary.
The second important goal of the core of OSGi is its service registry, once again focus on the minimum and just allow a module to register its services on the registry in a really purely manner. Read the rest of this entry »

DRY or SOFT ?

August 30th, 2009 by Alban Seurat

The dry principle, Don’t Repeat yourself is the second principles in my series of architecture principle I will write on.

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

I’m often talking about “meaning”, every piece of software should have only one meaning, other says responsibility. Therefore, if we have applying correctly this pattern, every times we have to made a change into our software, we don’t have to re-factor the whole stack. Exception of the cross-cutting concern (i18n, security, logging, …), modifying a module should not impact another module.

I’m not fan of code generator (someday i will write an article on that :) ), but for the sake of this principle, I think i would prefer having some code generation than having to copy/paste code. As long as the code generated is NEVER modified, it’s fine.

Read the rest of this entry »

Apple Buying guide

August 26th, 2009 by Alban Seurat

MacRumorsAs all Apple user, you fill frustrated because you don’t know when you will buy your new equiment if a new one will come :( . Hopefully, macrumors has created a guide for you : http://buyersguide.macrumors.com/. It’s time to buy a MacBook pro with Snow Leopard on It :)

The KISS Principle

August 25th, 2009 by Alban Seurat

I will write a series of article around architecture principles I follow.

Often, in the software industry, it’s hard to say “STOP, this software doesn’t need more”. We have a tendency as human to  wants more and we apply this pattern (Yes, I have said the word “pattern” :) ) to our software.

Therefore, following the KISS principle could be against nature. Every times I starting to design a component, writing some code, creating a information system architecture, I keep saying to myself, “do we really need this ?”, “Is that is not too much complicated ?”, “Is there something simpler to do the same job ?”…

I will become evangelist here. I see this principle as the prime principle :) . Before thinking of DRY or SOLID principles which are very important, as a whole, we should always keep modesty and try to add only what is really needed to our software. When i mean “add”, I mean, features, 3rd Parties libraries, source codes , commentaries…

By the way, I like this quote on the wiki link :

The principle most likely finds its origins in similar concepts, such as Occam’s razor, and Albert Einstein’s maxim that “everything should be made as simple as possible, but no simpler”.[2] Leonardo Da Vinci’s “Simplicity is the ultimate sophistication”, or Antoine de Saint Exupéry’s “It seems that perfection is reached not when there is nothing left to add, but when there is nothing left to take away”.