mardi novembre 06, 2007
|
J'ai suffisamment râlé sur ce blog sur le silence assourdissant des acteurs majeurs français quand il s'agit de publier des API publiques pour les développeurs. J'ai même mentionné ViaMichelin parmi les sites qui passaient à coté de belles opportunités. Je me dois donc de mentionner le site ViaMichelin pour développeurs. En fait il semble assez ancien, mais je ne le découvre que maintenant dans cet interview. Parmi les choses proposée: ViaMichelin Web Services avec une interface SOAP. De quoi tester GlassFish et ses Web Services Metro/JAXWS me direz vous (apparemment c'est du Axis coté serveur)? Et bien manque de bol, c'est du RPC/Encoded (preuve que ça ne date pas d'hier) et donc pas conforme au WS-I Basic Profile(!). Dommage, Geocoding, ReverseGeocoding, FindPOI, RouteCalculation, DistanceCalculation, MapManagement, Authentication, ça me plaisait bien sur le papier... Nul doute que ça changera dans le futur, à moins que tout évolue vers un API RESTful (le temps que JAX-RS (JSR 311) soit mûr peut-être!). Ensuite, il y a le Map and Drive API (sujet de l'interview) qui est intégralement en JavaScript. Ce qui me semble intéressant là c'est la possibilité d'exporter le résultat dans un format lisible par un GPS bien réel. Pour le reste, j'ai toujours pas très envie de faire du JavaScript... Peut-être une série de widgets ViaMichelin pour jMaki Ludo? ;) ( nov. 06 2007, 09:17:00 PM CET ) Permalink Comments [1]GlassFish/SJS AS in production - which bundle, which profile, ...? You may have heard it before, GlassFish v2 is a single bundle (no more "Editions"). So why bother writing a post about this? Well, the reality is a little more complex. First you need to choose between the GlassFish v2 bits (simple ANT-based installer) from java.net and the SJS Application Server 9.1 (more polished installer). Both end up installing the same JARs (see this FAQ entry for more on the differences between the two approaches). As explained in this previous post, you should be using SJS Application Server 9.1 bits for patches to be applicable.
Profiles in GlassFish v2 are "developer", "cluster", and "enterprise". The difference between the first two is pretty much self explanatory. The "enterprise" profile is mainly related to the use of HADB (highly available and distributed database) and a different keystore. Note that HADB is not open source (more on its relevance later). Here are the other main differences:
You can have any profile in production, including "developer". In that case, you should probably tune GlassFish (default tuning is done for developers) and certainly remove the fast startup:
The GlassFish bits provide support for the "developer" and "cluster" profiles. Chose between the two at install-time (
The SJS Application Server 9.1 bundles provide the choice between Application Server 9.1 and Application Server 9.1 with HADB. The first one is roughly the equivalent of the glassfish bits from java.net (with no
The difference between "cluster" and "enterprise" really boils down to the technology used for replicating data to provide high availability. The first one uses in-memory replication based on the Shoal framework while the second one uses HADB. This is a trade-off between degradation and availability:
The other important thing to note here is that the "cluster" profile is very easy to setup while "enterprise" does require installing and administering HADB nodes.
Once you have either "cluster" or "enterprise" profiles in place, you simply need to :
One question I often get is "What if I want clustering and load-balancing, but no data replication"? This can be achieved by using the "cluster" profile and deploying without the above two steps. In that case, load-balancing can still happen (using GlassFish's software load-balancer) or any external one with a sticky behavior - sessions live on only one instance and users are always redirected to this instance. If the instance fails, all associated sessions are lost. A great deal of applications can live with that. If you'd like to hear more about clustering with GlassFish, the freshly released episode #003 of the GlassFish Podcast is an interview with Shreedhar Ganapathy. ( nov. 06 2007, 12:02:44 PM CET ) Permalink Comments [1]Two years ago, I was commenting on the JPA evolution. 24 months mater, Hibernate is still a very vibrant community, but interestingly enough it's not the default in any Java EE 5 application server (at least until JBoss 5 releases). Clearly developers do use JPA outside the container (for batch or Swing applications), BEA/SolarMetric donated openJPA, and WebSphere "Classic" is still not reported as supporting Java EE 5... ( nov. 06 2007, 06:28:00 AM CET ) Permalink |