10 nov. 2008
Bonnes pratiques JDBC
- Utiliser un driver JDBC de type 4
- Séparer l’accès aux données de la couche métier (DAO)
- Utiliser un Framework ou une API de persistance
- Fermer les objets JDBC dans un bloc finally dans la même méthode (Connection, Statement, ResultSet)
- Utiliser un pool de connexion (en réutilisant celui du serveur d'application ou en utilisant celui de Apache : Commons-DBCP)
- Utiliser les instructions paramétrées (PreparedStatements) au lieu des instructions standards
- Limiter l’utilisation des instructions spécifiques au SGBD
- Spécifier la liste des colonnes dans les instructions Select et Insert
- Utiliser des objets Date, Time et Timestamp au lieu de String pour récupérer les valeurs temporelles
- Utiliser le bon niveau d’isolation des transactions
- Mettre setAutoCommit à false pour éviter des commit implicites à chaque instruction
- Pas de procédures stockées en langage propriétaire
- Utiliser getGeneratedKeys() pour récupérer les clés générées par la BD
- Utiliser un RowSet pour charger les données de paramétrage en cache
- Utiliser un Statement.setFetchSize(100) p.ex pour les requêtes qui retournent beaucoup de résultats
- Utiliser les MAJ en lot (batch updates)
- Utiliser Connection.setReadOnly(true) dans le cadre des modules en consultation seulement
- Utiliser Connection.releaseSavepoint() pour vider la pile des points de sauvegarde
16 juil. 2008
Green IT : Technologies d'avenir
Avec le social networking et l'Entreprise 2.0 et d'autres technologies, le Green IT constitue l'un des Next Big Things in IT dans les 3 années à venir. Gartner et IDC sont d'accord sur cela et les ont inclus dans leurs trend reports.
On a parlé sommairement des réseaux socciaux ainsi que de l'Entreprise 2.0, mais c'est quoi encore ce nouveau terme : Green IT
C'est à mon avis une étape importante dans le développement des nouvelles technologies
C'est quoi donc ce nouveau terme?
En fait le Green IT n'est pas une nouvelle technologie mais plutôt une nouvelle tendance dans la production, l'acquisition, l'utilisation des produits informatiques consciencieues de l'écologie, de la consommation d'énérgie (Prix du pétrole oblige!) et du développement durable.
Cela commence par l'utilisation d'un ordinateur (arrêt de l'ordinateur, extinction de l'écran..), des imprimantes, des serveurs (virtualisation et Grid Computing) à la construction même des systèmes informatiques. Ainsi des constructeur ou éditeur sont labellé Green IT Vendor.
Mais je crois que pour un utilisateur de l'informatique il y a pas mal de gestes simple non coûteux qui permettent de sauver l'énérgie et d'épargner la nature.
Je publierais dans un prochain post une liste des actions responsables pour devenir un Green IT User certifié.
15 juil. 2008
Evaluation de solution d'intégration (EAI/ESB)
Dans le cadre de mon travail en tant qu'Architecte j'ai fait une évaluation de solution d'intégration pour une grand ecompagnie d'assurance en italie. Le résultat de l'évaluation a été assez intéressant puisque des solutions open source (associés à un support commercial) ont emergé comme les mieux adaptées (cela dépend bien entendu des poids qu'on met sur les critères).
Les solutions evalué sont les suivantes :
Open source solutions
- IONA Fuse ESB (based on Apache ServiceMix)
- Mule ESB
- OpenAdaptor
- JBoss ESB
Commercial solutions (Group standards)
- IBM Websphere MQ Integrator
- Sun Seebeyond eGate
- Microsoft Biztalk
Open source solutions
- +Good technical quality
- +No initial cost (a support cost is required)
- +Standardized and open
- +Rich community support
- -Support is less present and effective
- -Less references by and large
Commercial solutions
- +Robust
- +Good support and presence
- +Integrated with other tools from same editor
- -High cost of licence and support
- -Complex solutions
- -No openness (tied to editor)
Je vais publier plus tard le détail de l'évaluation avec le tableau récapitulatif mais voici déjà les recommendations finales :
- If the most important thing is to address the integration problem quickly and the support as soon as the solution works is not critical, OpenAdaptor provides for a good to-the-point solution
- On the other hand for a longer term strategic solution an open source ESB with a good support like Mule ESB or IONA Fuse is recommended. These solution address perfectly the most frequent integration problems and give more features for future needs especially for deploying a SOA infrastructure.
- If support is highly critical and we can manage the time required for deploying such solutions and its cost IBM Websphere MQ Integrator is recommended.
14 juil. 2008
Qu'est ce que l'Architecture?
Après une longue absence dûe entre autre à des engagements professionnels à l'étranger je reviens avec ce post fondamental.
Qu'est ce que l'Architecture? La question m'a été posé à maintes reprise à cause (ou grâce) à ce métier un peu original que j'exerce: architecte des SI. J'ai éludé la question des fois, et répondu comme on peut d'autres fois. Mais la question restait posé en arrière plan dans mon cerveau. Et c'est en tombant un peu par hazard sur une définition édifiantes que j'ai trouvé la réponse.
D'après cette définition qui date déjà de 22 siècles et qui est souscrite dans le traité le plus ancien sur le sujet "De Architectura" l'oeuvre de l'architecte romain Vitruve
« L'architecture est une science qui embrasse une grande variété d'études et de connaissances ; elle connaît et juge de toutes les productions des autres arts. Elle est le fruit de la pratique et de la théorie. La pratique est la conception même, continuée et travaillée par l'exercice, qui se réalise par l'acte donnant à la matière destinée à un ouvrage quelconque, la forme que présente un dessin. La théorie, au contraire, consiste à démontrer, à expliquer la justesse, la convenance des proportions des objets travaillés.»
D'après ce traité, l'architecture recherche à établir une combinaison harmonieuse et équilibrée de trois principes contradictoires :
- Beauté (Venustas)
- Solidité (Firmitas)
- Utilité (Utilitas)
Je trouve que la définition elle même est architecturalement parfaite faisant preuve d'une combinaison harmonieuse de beauté, solidité et utilité.
C'est tout simplement ça l'architecture! Chercher à établir un équilibre parfait entre fonction, structure et forme. Après cette définition tout le reste n'est que détails.
Cette définition est valable pour un édifice, un ouvrage de génie civile, un engin de guerre ou un système d'information.
En mappant ces attributs fondamentaux pour les systèmes d'information avec celles du standard international pour l'évaluation de la qualité logiciel ISO 9126 on se retrouve avec :
L'Utilité réfère aux caractéristiques : Functionality et Usability
La Solidité réfère aux caractéristiques : Reliability et Efficiency
La Beauté réfère aux caractéristiques : Maintainability et Portability
Je me retrouve à aimer plus ce métier après cette définition!
22 janv. 2008
Certifications techniques en ligne avec Brainbench
Je vous invite à l'utiliser pour des certifications professionnelles en ligne ou pour préparer des certifications réelles.
Il y a un ensemble de tests de certification techniques gratuits dont ASP.Net, C#, Java, J2EE, Administration Linux, DB2, SQL Server. Il y a également des tests de personnalités et de langues. Pour les autres certifications elles sont payantes (de l'ordre de 50$ américains).
Sinon vous avez également un ensemble intéressant de fonctionnalités pour gérer votre carrière en définissant un plan de carrière et un plan des tests qui vont avec.
9 janv. 2008
Web 2.0, Entreprise 2.0, Société 2.0
Pour ceux qui croient que c'est encore un nouvel effet de mode venu d'outre-mers, ou ceux qui croient que la technologie est un simple outil je dédie ces articles intéressant du blog de Louis Naugès qui illustrent comment la technologie peut transformer l'entreprise et la société.
2008, année des réseaux sociaux professionnels Web 2.0 ?
http://nauges.typepad.com/my_weblog/2007/11/2008-anne-des-r.html
Web 2.0, au service de l’efficacité économique d’un pays ?
http://nauges.typepad.com/my_weblog/2007/12/web-20-au-ser-1.html
Les 7 piliers de l’Entreprise 2.0 (première partie)
http://nauges.typepad.com/my_weblog/2007/12/les-7-piliers-d.html
Les 7 piliers de l’Entreprise 2.0 (deuxième partie)
http://nauges.typepad.com/my_weblog/2007/12/les-7-piliers-1.html
8 janv. 2008
avec le WIFI vos données sont surrement à l'extremité de la rue
pour ceci je rappelle :
WPA (Wi-Fi Protected Access) dispose de deux très différents modes de fonctionnement:
- Nécessite un serveur d'authentification
- RADIUS utilise des protocoles d'authentification et de la distribution des clés
- Centralise la gestion de l'identification d'un utilisateur
- Secret partagé est utilisé pour l'authentification
- Dispositif de gestion axée sur les pouvoirs de l'utilisateur
Le PSK (Pre-Shared Key) Mode de WPA est vulnérable aux mêmes risques que toute autre communauté de passe système, telles que les attaques de dictionnaire. Mode PSK aussi souffre des mêmes difficultés que la gestion des clefs de tout système où la clé est partagée entre plusieurs utilisateurs, tels que les difficultés de la suppression d'un utilisateur une fois que l'accès a été accordé.
Le mode de WPA Enterprise bénéficie de la maturité de l'architecture RADIUS -, mais il a besoin d'un serveur RADIUS. Ce n'est pas quelque chose qui profitera à la plupart des utilisateurs à la maison.
Les améliorations apportées à la sécurité WPA (Wi-Fi Protected Access)
WPA offre une sécurité supplémentaire par:
Exiger l'authentification 802.1X utilisant
Exiger de ré-entrer en utilisant TKIP
Accroître l'ICV (Integrity Check Value) avec un MIC (Message Integrity Check), pour protéger l'en-tête ainsi que de la charge utile
Mise en œuvre d'un cadre contraire à décourager la reprise des attaques
WPA2
En plus de WPA, certains vendeurs mettent également en oeuvre WPA2, qui permet l'utilisation de l'AES au lieu de RC4.
Pour ceux qui croit que ce que je dis est une extrapolation da la loi de Gauss appliquée aux espaces ouvert! je les invite à voir cette vidéo qui démontre comment on peut cracker un réseau wifi en 10 minutes chrono... intérdit au moins de 5 ans :) ...