30.01.2010 Entreprise, Java No Comments

Retour d’expérience sur le développement Java avec Google App Engine

Scub vient de mettre en ligne son premier projet sur le web sémantique : Quatuo un outil qui permet de publier son profil FOAF (RDF) et de faire des recherches parmis les profils publiés sur le net.

Nous avons fait ce développement avec la plateforme Google App Engine afin de pouvoir gérer la montée en charge de l’application sans investir dans l’infrastructure. bref, du vrai Cloud Computing !

Voici la liste des choses qui ont pu nous « surprendre » en développant sur cette plateforme :

  • Ce n’est pas du relationnel ! Oublier les beaux MCD, penser pratique et performance.
  • Ce n’est pas du SQL… Ayez bien conscience que vous n’aurez pas de fonctions très utiles comme LIKE ou COUNT.
  • Déployez souvent ! j’ai développé plusieurs jours sans déployer sur la plateforme Google, tout fonctionnait nickel en local. Puis, une fois en ligne, j’avais un plantage (erreur 500) et rien du tout dans les logs ! J’ai découvert après plusieurs heures de debug que j’appelai une fonction interdite mais rien dans les logs pour me le signaler.
  • Il y a un temps maximum d’exécution ! Une de mes fonctions qui traitait le RDF dépassait souvent le quota exigé. J’ai du l’optimiser et la tester en réel avant de la mettre en prod. Ayez conscience que votre fonction doit s’exécuter en un temps maximum.
  • Tout ce qui est Java ne tourne pas sur Google App Engine ! j’ai, par exemple, dû modifier la configuration de Stripes pour qu’il fonctionne sous GAE. Voici la liste des librairies qui fonctionnent sous Google App Engine.
  • Certaines choses peuvent surprendre au niveau des performances…. On vous dit que vous pouvez stocker pleins de données, c’est vrai ! Mais, par contre, on vous annonce aussi des choses comme cela dans la documentation : « it is important to note that you can only expect to update any single entity or entity group about five times a second. », c’est assez déroutant :) Comme pour les perfs, n’hésitez pas à utiliser les task queues qui permettent de faire du JMS like.
  • Des choses simples ne le sont pas forcément avec GAE ! Voici, par exemple, comment gérer un compteur avec Google App Engine… accrochez vous !
  • Pour finir, attention aux quotas ! Le jour du lancement, je l’ai dépassé et je suis resté sans site web avec une belle erreur pendant deux heures ! Pour des lancements ou des occasions exceptionnelles, vous pouvez demander un peu plus de quota avec ce formulaire !
25.01.2010 Non classé No Comments

Scub lance Quatuo, un moteur de recherche sémantique

25 janvier 2010 – Scub lance Quatuo, un moteur de recherche sémantique qui permet de faire des recherches exactes sur des individus et leurs relations. Quatuo permet aussi aux utilisateurs ayant un compte Google de créer, voir, modifier et publier leurs profils FOAF sur le web.

Le fonctionnement de Quatuo est simple, nous parcourons le web pour découvrir des informations au format FOAF qui est un vocabulaire RDF permettant de décrire des personnes et les relations qu’elles entretiennent entre elles. Toutes les informations ainsi collectées sont stockées dans notre base de données pour permettre une recherche facile et rapide. Pour gérer les problématiques de performances et de montée en charge, Quatuo a été déployée sur la plateforme Google App Engine.

Quatuo permet aussi aux utilisateurs de publier leurs profils FOAF sur le web pour permettre à des moteurs de recherche comme Google et Yahoo de mieux comprendre qui ils sont, ce qu’ils font et qui ils connaissent. Pour en savoir plus, lisez cet article de Google sur FOAF.

Plus d’informations
Le Web sémantique désigne un ensemble de technologies visant à rendre le contenu des ressources du World Wide Web accessible et utilisable par les programmes et agents logiciels, grâce à un système de métadonnées formelles, utilisant notamment la famille de langages développés par le W3C.
Cliquez ici pour plus d’informations sur le web sémantique

FOAF (Friend of a friend, que l’on peut traduire par « l’ami d’un ami ») est un vocabulaire RDF permettant de décrire des personnes et les relations qu’elles entretiennent entre elles. Elle est une application du web sémantique, qui est considérée comme très prometteuse.
Cliquez ici pour plus d’informations sur FOAF

Google App Engine est une plateforme de conception et d’hébergement d’applications web basée sur les serveurs de Google.
Cliquez ici pour plus d’informations sur Google App Engine

07.12.2009 Non classé 2 Comments

La gestion des risques en finance islamique

Un petit article inhabituel sur le blog de Scub pour vous signaler que notre groupe organisera un séminaire sur la finance islamique le mardi 26 janvier à l’adresse suivante : Palais Brongniart 28, place de la Bourse 75002 Paris.

Au sommaire :

  • Comment tarifer et couvrir les risques de marché en finance islamique ?
  • Quels sont les risques spécifiques inhérents aux sukuk?
  • La gestion des risques et les compagnies de takaful terra incognita ?
  • Comment gérer les risques commerciaux et réputation els?
  • Principes de gouvernance dans les institutions financières islamiques.
  • Les institutions financières islamiques et les risques d’obsolescence stratégique : les défis de la croissance, de la concurrence et de l’innovation.
  • Temps, industrialisation, processus et intentions de gestion : le carré magique des banques islamiques à l’épreuve de la crise.
  • Risques juridiques et opérationnels en finance islamique.
  • Les Shari’ah Board sont-ils aussi des risques managers ?

Si vous souhaitez vous inscrire ou avoir plus d’informations, n’hésitez pas à nous envoyer un email à seminaire@scub.net.

28.10.2009 Non classé 2 Comments

Introduction au web sémantique

Scub commence à s’intéresser au web sémantique, voici un petit article qui fait un résumé de ce que nous avons compris pour le moment… Ce n’est pas forcément complètement exact mais nous débutons !

Aujourd’hui, le web est constitué d’informations écrites dans un langage naturel (français, anglais, espagnol…). Ces informations peuvent être facilement traitées par les humains car nous pouvons déduire des faits et créer des associations à partir de ce que nous lisons. Le problème, c’est que les machines, elles, ne peuvent pas utiliser d’informations partielles, elles ne peuvent pas comprendre une image et elles sont incapables de faire des analogies.

Le web sémantique, c’est un ensemble de technologies qui ont pour but de rendre les ressources du web utilisable par des machines (c’est à dire des applications/logiciels/agents..). L’idée, c’est de rajouter des informations sur les informations elles mêmes (méta données).

Voici un exemple RDFa tiré de Wikipedia :

<p xmlns:dc="http://purl.org/dc/elements/1.1/"
 about="http://www.example.com/books/wikinomics">
 Dans son dernier livre <em property="dc:title">Wikinomics</em>, <span property="dc:author">Don Tapscott</span> explique les profonds changements technologiques, démographiques et économiques.
Ce livre a été publié en <span property="dc:date" content="2006-10-01">octobre 2006</span>.
</p>

Les attributs « property » vont permettre à un logiciel de savoir que Wikinomics est le titre du livre et que Don Tapscott en est l’auteur. A partir de cela, un programme pourra, par exemple, aller chercher sur Amazon tous les commentaires sur ce livre ou la liste des livres écrits par cet auteur.

Un autre exemple d’utilisation est FOAF. Grâce à ce standard, vous allez pouvoir décrire qui vous êtes, vos coordonnés, votre environnement, vos connaissances…

Voici une description minimale de qui je suis avec ce format :

<rdf:RDF
xmlns:rdf= »http://www.w3.org/1999/02/22-rdf-syntax-ns# »
xmlns:rdfs= »http://www.w3.org/2000/01/rdf-schema# »
xmlns:foaf= »http://xmlns.com/foaf/0.1/ »
xmlns:admin= »http://webns.net/mvcb/ »>
<foaf:PersonalProfileDocument rdf:about= »">
<foaf:maker rdf:resource= »#me »/>
<foaf:primaryTopic rdf:resource= »#me »/>
<admin:generatorAgent rdf:resource= »http://www.ldodds.com/foaf/foaf-a-matic »/>
<admin:errorReportsTo rdf:resource= »mailto:leigh@ldodds.com »/>
</foaf:PersonalProfileDocument>
<foaf:Person rdf:ID= »me »>
<foaf:name>Stéphane Traumat</foaf:name>
<foaf:givenname>Stéphane</foaf:givenname>
<foaf:family_name>Traumat</foaf:family_name>
<foaf:mbox_sha1sum>5fe07f0c181cc93ce73173936a686f8df9d180ee</foaf:mbox_sha1sum></foaf:Person>
</rdf:RDF>

En mettant ce code sur notre blog, un robot pourrait très bien découvrir qui je suis, parcourir mes relations, trouver des personnes que je connais ou aller rechercher des informations sur moi.

Aujourd’hui, si je veux connaitre le numéro de portable d’une personne, je vais sur google et je cherche « numéro portable Yves Dupont », google va « bêtement » rechercher les pages où se trouvent les mots que j’ai demandé. Avec ces technologies, on pourrait très bien avoir un moteur de recherche à qui l’on demande : « Quel est le numéro de portable de Yves Dupont ? », le moteur de recherche comprendrait ce que nous voulons et nous ferait une réponse exact en utilisant les fichiers FOAF qu’il aurait trouvé sur le net.

Dernière chose intéressante, l’annonce de Google qui date de lundi : http://googlewebmastercentral.blogspot.com/2009/10/help-us-make-web-better-update-on-rich.html. Ils annoncent notamment outil qui permet de voir ce que google extrait comme méta données d’une page web : Exemple linkedin

Il est clair que dans un futur proche, google s’appuiera de plus en plus sur ces technologies afin de comprendre au mieux le contenu des pages, il va donc falloir repenser la construction du contenu web et surtout penser à sa description !

Merci beaucoup à Wikipedia et à Fred Cavazza pour les infos ! :)

27.09.2009 Non classé 1 Comment

Mis à jour de notre présentation sur l’industrialisation du développement logiciel

Avant la sortie de notre socle technique Java libre prévue en novembre, je viens de mettre à jour les slides de notre présentation, vous pouvez les trouver ici : http://www.slideshare.net/straumat/scub-presentation-de-scub-foundation-socle-presentation.
Pour ceux que cela intéresse, nous pouvons nous déplacer pour faire une présentation dans votre entreprise !

Et pour ceux qui ne voient pas bien ce qu’est Scub Foundation, il s’agit d’un ensemble de frameworks, de conventions, d’outils et de procédures qui structurent les développeurs et leurs développements. Pour simplifier, c’est une plateforme qui permet l’industrialisation des projets de développement informatique.

Objectifs du socle :

  • Ne pas réinventer la roue ! (Intégration d’Eclipse et des frameworks populaires comme hibernate, spring, gwt, JUnit…).
  • Avoir des modèles de projets pour chaque type de projet mais avec des structures identiques.
  • Avoir des tâches automatisées pour l’ensemble du cycle de vie du projet (compilation, packaging, test…).
  • Développement SOA (intégration de la notion de noyau et du découplage Interface/implémentation).
  • Gestion automatique des dépendances / librairies.
  • Gérer les différents environnements (Test / Développement / Pré production / Production…).

Concrètement, notre socle technique offre au développeur un environnement de développement intégrant les meilleurs éléments Open Source (Eclipse, Maven, Spring, GWT…) ainsi que des modèles de projet.

23.09.2009 Non classé 2 Comments

Ateliers Scub sur l’intégration de données à Niort, La Rochelle et Angoulême

Dans le cadre des ateliers de rentrée du SpN (réseau des professionnels du numérique en Poitou-Charentes), Scub animera un atelier nommé « Les solutions et méthodes pour intégrer les applications de votre entreprise dans votre système d’information (gestion, compta, erp, crm, site web, extranet…)  »

Ces ateliers auront lieu :

  • à Niort le 6 octobre 2009
  • à La Rochelle le 15 octobre 2009
  • à Angoulême le 22 octobre 2009

Cette présentation détaille les solutions et les méthodes existantes pour améliorer votre système d’information en intégrant l’ensemble des applications que vous utilisez.
Les trois grands type d’intégration seront abordés :

  • Intégration par les données: données stockées, données mobiles, XML et ETL.
  • Intégration par la présentation: portails et agrégation de contenus.
  • Intégration par les processus: modèles de processus, architectures de services (SOA).
13.09.2009 Non classé No Comments

TIC – Grandes tendances 2009 2010 pour les SSII

Comme chaque année au mois de septembre, nous commençons à travailler à la rédaction de notre business plan… Une des premières étapes est de lister les grandes tendances qui vous nous toucher… voici ce que j’ai trouvé pour le moment :

Économique.

Pression sur les prix.

Suite à la crise, les donneurs d’ordre demandent des réductions de prix conséquentes (jusqu’à 20 % de baisse des prix sur certains services en deux ans). Cette pression met en danger les sociétés qui ne parviendront pas à investir dans des programmes d’industrialisation de leur processus et de réduction des coûts via l’offshore.
Gartner estime qu’il s’agit là de la seule voie possible de survie pour les SSII.

Recours à l’offshore.

De plus en plus de clients vont demander une offre offshore. le potentiel théorique total de pénétration de l’offshore à 25-30 % du marché total des services informatiques, inférieur de 10 points au moins aux potentiels anglo-saxons, principalement pour des raisons culturelles, structurelles et linguistiques. ( Voir l’article 01 informatique ).
Salaire annuel au Maroc : 6 200 €.
Salaire annuel au Vietnam : 2 000 €.
Le plus important dans un projet offshore n’est pas la masse salariale, mais l’encadrement. Cette partie est souvent sous-estimée. Or, elle représente entre 60 et 70 % du prix d’une prestation offshore, alors qu’en France l’encadrement ne compte que pour un tiers.
Voir l’article sur les salaires informatique de l’offshore

Progiciels et ERP.

Les développement spécifiques coûtent cher. Les progiciels sont des alternatives intéressantes pour les entreprises car, en acceptant certaines contraintes, elles peuvent réduire leurs coût par rapport à un développement spécifique.

Référencement.

Les directions achats des grandes entreprises mettent en place des politiques de référencement qui visent à réduire le nombre de leurs prestataires et faciliter la gestion des tarifs. La taille et la puissance financière sont devenues des critères de sélection pour les services achats, qui jouent sur la notion de volume et sur une représentation nationale pour diminuer le prix des prestations.

Socio-culturel.

L’entreprise 2.0.

L’entreprise 2.0 se réfère à l’adoption d’outils collaboration et sociaux. Blogs, Wiki et réseaux sociaux seront déployés dans la plupart des entreprises avant la fin 2010.

Ouverture des API.

Un nombre de plus en plus important d’entreprises ouvrent leur données et leurs processus via des API ouvertes. Voir google, salesforce ou même data.gov

Technologie.

Cloud computing.

Le cloud computing consiste, pour une entreprise, à utiliser une application hébergée chez un prestataire. Elle y accède généralement avec un simple navigateur ce qui génère des économies : pas de serveur, déploiement instantané, gestion des performances, sauvegardes, sécurité, gestion des versions… Ce changement risque de favoriser les relations directs entre les grands éditeurs (Microsoft, Google, Oracle…) et le client ce qui pourrait mettre sur la touche certains prestataire.

Base de données non relationnelles.

Cette nouvelle façon de stocker les données permet d’accéder à des grands volumes de données sans dégrader les performances. C’est un changement énorme qui pourrait bouleverser beaucoup de développements existants.

07.09.2009 Non classé 2 Comments

Le groupe AFC entre au capital de Scub

La société Scub annonce l’entrée du groupe Arrow Financial Consulting à hauteur de 25% dans son capital.

Cette alliance permettra à Scub de poursuivre sa stratégie de croissance en lui apportant :

  • Une équipe commerciale basée à Paris, Londres, Tunis et, d’ici la fin de l’année, à Abou Dhabi.
  • Une soixantaine de consultants / architectes / développeurs qui pourront intervenir en renfort ou directement chez nos clients.
  • Une forte compétence sur les produits Oracle (middleware, crm, ged…).
  • Des connaissances métiers dans les domaines de la banque, de la finance et de l’assurance.
  • Des références prestigieuses (Société générale, CNP Assurance, BNP Paribas, HSBC, Axa…).

Scub, de son côté, apportera :

  • Une équipe d’experts en technologie Java basée à 2h15 de Paris.
  • Des acteurs connus du monde du logiciel libre (projets, conférences…).
  • Une méthodologie de pointe pour le développement d’applications au forfait (Scrum, SOA, intégration continue, socle technique…).
  • Une connaissance métier dans le domaines des mutuelles.

Cette collaboration devrait permettre à Scub de continuer sa forte croissance dans les années à venir. Elle devrait aussi nous permettre d’offrir une gamme de services plus large, notamment sur la partie Oracle, ainsi qu’une plus grande capacité de production.

Pour nos clients, il n’y aura pas de changements dans la qualité de service. Les interlocuteurs et les équipes restent les mêmes et nous sommes toujours à votre entière disposition.

N’hésitez pas à me contacter directement pour échanger sur le sujet.

Stéphane Traumat

25.08.2009 Entreprise, Open Source 2 Comments

Tutorial installation d’OpenERP sous Ubuntu

Scub a commencé sa migration vers Open ERP ! Voici un petit tutorial que nous avons écrit sur l’installation du produit pour tester.

Installation de Ubuntu 9.04
Télécharger l’image ubuntu-9.04-desktop-i386 depuis le site de Ubuntu : http://www.ubuntu.com/getubuntu/download
Installer cette version. Nous conseillons fortement l’utilisation d’un outil de virtualisation type : http://www.virtualbox.org/

Installation de packages utiles
Lancer un shell et lancez la commande suivante pour installer les packages vim et java :
sudo apt-get install vim sun-java6-jdk

Installation de Python
Un certain nombre de packages Python sont nécessaires, vous pouvez les installer avec la ligne de commande suivante :
sudo apt-get install python python2.5 python-psycopg2 python-reportlab python-egenix-mxdatetime python-xml python-tz python-pychart python-pydot python-lxml python-libxslt1 python-vobject

Installation de PostgreSQL
Nous allons installer PostgreSQL avec la commande :
sudo apt-get install postgresql

Puis nous allons créer un utilisateur avec les commandes suivantes :
sudo su – postgres
createuser createdb no-createrole –pwprompt openerp
exit

Pour régler les problèmes de connexion, éditer le fichier de configuration de PostgreSQL :
sudo vim /etc/postgresql/8.3/main/pg_hba.conf

Pour avoir cette configuration :
local all postgres md5
local all all md5
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
Pour finir, redémarrer PostgreSQL avec la commande :
sudo /etc/init.d/postgresql-8.3 restart

Installation du serveur OpenERP
Lancer la commande :
sudo apt-get install openerp-server

Modification avant lancement
Il y a un petit problème de compatibilité avec Python sur cette version d’Ubuntu, nous devons donc faire les manipulations suivantes :
sudo vim /usr/bin/openerp-server
remplacer exec /usr/bin/python ./openerp-server.py par exec /usr/bin/python2.5 ./openerp-server.py
puis faites : sudo cp /usr/lib/python2.6/dist-packages/oldxml/_xmlplus/utils/boolean.so /usr/lib/python2.5/site-packages/oldxml/_xmlplus/utils

Installation du client lourd
Pour installer le client OpenERP, lancer la commande :
sudo apt-get install openerp-client

Lancement du serveur
Dans une console, nous allons lancer le serveur avec la commande :
openerp-server -r openerp -w pass
note : dans la commande précédente, remplacer pass par le mot de passe que vous avez entré lors de la création du compte dans PostgreSQL.

Configuration du client lourd
Le client OpenERP se trouve dans le menu Application / Internet / Client Open ERP.
Lancer le, passer la page d’enregistrement et aller dans Fichier / Base de données / Nouvelle base de données.
Renseignez les éléments suivants :
Mot de passe administrateur : admin
Nom de la nouvelle base de données : scub
Langue par défaut : French
Mot de masse : le mot de passe de votre choix.

25.07.2009 Java No Comments

Scub au lancement de Oracle fusion middleware 11g

Nous avons assisté jeudi à Paris au lancement de « Oracle fusion middleware 11g« . Voici un petit résumé de ce que j’ai vu :

  • Bon point : L’offre oracle devient plus lisible. Plusieurs projets sont désormais intégré dans la même offre (JDev, Coherence, Weblogic, editeur BPEL…).
  • Autre bon point : JDev va enfin prendre en compte les outils libres qui cartonnent comme Maven ou Spring. Et en plus, ils vont fournir un package de plugins pour Eclipse, on pourra se passer de JDev (ok, pas pour tout!)
  • Ils misent à fond sur BPEL, comme d’habitude, en démo, ça a l’air super fort et super pratique… maintenant, je demande à voir sur des cas concrets.Nous avons prévu d’étudier cette technologie à Scub d’ici la fin de l’année.
  • JSF à fond ! de bons composants mais je continue de penser que les framework de types GWT sont la meilleur solution.
  • Les outils d’administration du cluster sont impressionnants ! On peut définir des SLA et voir si les services respects cette SLA. Si certains dépassent les temps de réponses attendu, avec quelques clics, on peut modifier le cluster et voir aussitôt si les temps de réponses conviennent.
  • Intégration de Coherence. Ça a l’air d’être un beau produit ! va falloir tester ça.

Voilà, ceci est juste un petit retour sans prétention sur ce que j’ai vu :)