Off the record

Aller au contenu | Aller au menu | Aller à la recherche

vendredi 2 février 2007

Performance testing, load testing or stress testing?

Il est important de comprendre les différences entre ces trois types de testing. Performance, stress et charge. Selon le vocabulaire établi :

  • les tests de performance sont menés pour valider le fait que le systême va donner un temps de réponse correct à son ou ses utilisateurs dans les conditions d'utilisation normales définies. Par exemple, 400 utilisateurs effectuant des requêtes concurrentes, temps de réponse maximum 4s pour une requête donnée. Ces tests vont permettre de repérer les goulots d'étranglement à tous les niveaux et ainsi permettre de gagner en...performance.
  • le stress testing permet de valider que le systême va savoir réagir correctement en cas de disfonctionnement d'un des modules qui le constitue. L'état est-il sauvé avant clôture? L'état du systême est-il correctement restauré au redémarrage. Les cas de stress habituels sont par exemple :
    • chute du réseau / d'un ou plusieurs ports réseau
    • chute du serveur de base de données
    • forte charge en terme d'utilisateurs
  • Enfin, les tests de charge cherchent à détecter des bugs ou erreurs de conception qui n'apparaissent qu'en cas de charge réelle du systême. On recherche classiquement les fuites de mémoires...Ce type de test s'appelle aussi volume testing ou endurance testing.

Toute une batterie d'outils existe pour mener ces tests, simuler plusieurs milliers d'utilisateurs etc, je citerais le projet Apache Jmeter, parce que c'est écrit en Java et parce que c'est open source !

Mes sources d'inspiration sur ce sujet :

vendredi 5 janvier 2007

Retrieve LDAP informations in BEA Portal

The object ProfileFactory delivers user profiles based on the user name and the group name, however, the group seems to be optional so far...
From there, you can access all the LDAP properties (permitted by the login/pass provided by Weblogic...) !
For instance, if we want the userTown field, "request" being a HttpServletRequest Object :

ProfileWrapper p = ProfileFactory.getProfile(request.getRemoteUser(), null);
p.getProperty("LDAP_RepositoryName_In_BEA", "userTown");


That's it.
Nota, from version 9.2 on, an entry point to the user segments is provided in the API !

mercredi 22 novembre 2006

Attribute or parameter

If you never know wich one to use, read on...

Lire la suite

lundi 13 novembre 2006

Portlets for starters

Some technical informations gathered from JSR 168 regarding portlet development

Lire la suite

vendredi 3 novembre 2006

Débuter avec BEA weblogic application server

Comme je l'avais déja fait précedemment sur JBoss, je vais exposer ici les notions de bases pour commencer à développer avec BEA Weblogic application server, et plus particulièrement sur la partie "portail" (BEA Portal)...-> "Suite" ;-)

Lire la suite

mardi 3 octobre 2006

BEA Portal : shallow and deep retrieve with "getBookView"

As i was working on a BEA Portal 8.1.5, trying to obtain the number of children of a view through the "BookView" Interface, obtained itself as follows :
BookView bv = PortalAdminManager.getBookView(myBookDefinitionId, myLocale, myHttpRequest);
i encountered a problem when running this code :
if(bv.getNavigableViews().length == 0) // etc
This condition was always met...altough the book title, the bookInstance id etc. are correct...Why??? Thank to the documentation of BEA 9.2, i finally figured out how it was working....
It appears that the method "getBookView" exists with two different signatures, one retrieving a "shallow" (lightweight) BookView, the other one retrieving the full object. If you want to use the methods getPageCount, getBookCount, getNavigableViews etc., DON'T use the shallow object : it's empty...
The code to use then is :
BookView bv = PortalAdminManager.getBookView(myParentBookInstanceId, myBookDefinition.getWebAppName(), myPortalPath, myDesktopPath, true, myLocale, request);

This is a pretty tricky error, as the code compiles and runs without any Exception rise...Hope that helps someone somewhere sometimes !