Tag Archives: architecture

ThoughtWorks Technology Radar 2011: the good parts

Le thoughtWorks Technology Radar 2011 a fait la une récemment en tapant maladroitement sur GWT:

GWT is a reasonable implementation of a poor architectural choice. GWT attempts to hide many of the details of the web as a platform by creating desktop metaphors in Java and generating JavaScript code to implement them. First, in many ways, JavaScript is more powerful and expressive than Java, so we suspect that the generation is going in the wrong direction. Secondly, it is impossible to hide a complex abstraction difference like that from event-driven desktop to stateless-web without leaky abstraction headaches eventually popping up. Third, it suffers from the same shortcomings of many elaborate frameworks, where building simple, aligned applications is quick and easy, building more sophisticated but not supported functionality is possible but difficult, and building the level of sophistication required by any non-trivial application becomes either impossible or so difficult it isn’t reasonable.

 

Mais il n’y a pas que GWT qui en prend pour son grade la base de données déguste elle aussi:

We often see problems caused by manual configuration of firewalls and load balancers, and especially by DBAs cutting and pasting SQL scripts to run against production databases

 

It is startling to us that we continue to find new systems in 2011 that implement significant business logic in stored procedures. Programming languages commonly used to implement stored procedures lack expressiveness, are difficult to test, and discourage clean modular design. You should only consider stored procedures executing within the database engine in exceptional circumstances, where there is a proven performance issue.

Ainsi que les portails java

 A continuing cause of delivery problems lies in the use of Java Portal Server packages. These problems occur in both open source and commercial portal platforms. The promised productivity of these platforms is hindered by their complex and unwieldy programming models and difficulty in automating deployment, data migration, and tests.

Concernant les portails on remarquera qu’en guise de portail Google avec Google + se contente d’une barre de navigation unifiée en haut de tous ses produits.

Ce ne serait pas Thoughworks s’ils n’ajoutaient pas un clou dans le cercueil de WS-*

Previously our advice has been to tread carefully when using the WS-* stack beyond the basic profile. Given the progress and acceptance of simpler web-as-platform techniques such as REST and OAuth and the known issues with the WS-*, it should only be used cautiously.

Dans le prochain billet on va regarder ce qu’ils mettent en avant

Le retour du Web dans les Web services

L’architecture d’entreprise est une sorte mammouth, pas très agile, beaucoup d’inertie. Elle met du temps à changer de cap et avance tête baissée. Ce sont bien souvent les éditeurs et les analystes qui fixent le cap. Depuis plusieurs années tout le monde suivait les panneaux SOA. Je connais pas beaucoup d’entreprises qui soit arrivées à destination, certains commencent même à abandonner la route. Il est donc temps de fixer un nouveau cap.

Le Web a depuis longtemps adopté les principes RESTful ils sont au coeur de GData l’api de Google. En 2008 IBM a pris la direction de la RESTful SOA, La plateforme .net 4.0 de Microsoft prend elle aussi le virage REST. Les éditeurs ont pris la route REST.

Depuis plusieurs années Pete Lacey du cabinet d’analyste Burton évangélise REST. Et la semaine dernière la bible des DSI a sauté le pas. Le Gartner recommande enfin les approches RESTful:

Gartner: Web-Oriented Architecture: Putting the Web Back in Web Services

Les analyste ont pris la route REST… Toute l’architecture d’entreprise va suivre. Je ne vous cache que j’attend celà depuis un moment. Ca ne fait jamais que 4 ans que je m’intéresse au sujet

Je suis très agréablement surpris par la note du gartner qui a su mette le doigt sur la valeur de REST

  • “Unexpected reuse is the value of the Web” (Tim Berners-Lee)
  • “Engineer for serendipity” (Roy T. Fielding)

Ca reste des consultants… Ils inventent le concept d’application neutrality pour expliquer qu’une interface réutilisable doit être neutre et non pas spécifique à une application. REST pemet et encourage la construction de telles interfaces. Il parle aussi de “wide top” pour bénéficier de l’effet de réseau. Je parle de surface de contact, la multiplication des URI dans une application RESTful augmente la surface de contact de l’application et les possibilités de réutilisation imprévues (serendipineuses même!).

Enfin Gartner utilise le terme WOA pour Web je préfère le terme ROA pour Ressources, car le paragdime central de REST est bien la ressource.

Il est donc temps de s’y mettre, voici quelques points de départ:

A note on Distributed Computing

We argue that objects that interact in a distributed system need to be dealt with in ways that are intrinsically different from objects that interact in a single address space. These differences are required because distributed systems require that the programmer be aware of latency, have a different model of memory access, and take into account issues of concurrency and partial failure.

Sun Microsystem 1994

Firefox 3 awesome bar & Gmail

Utilisateur de gmail et de firefox 3 ?

Tapez dans la barre d’url le début d’un mot contenu dans le titre d’un mail que vous avez récemment consulté sous gmail…

Pas mal, non?

Voilà une belle illustration de la puissance de la nouvelle barre d’url de firefox 3 qui indexe les urls et les titres des pages récemment visité. Mais aussi de l’intérêt de conserver des urls multiples dans les applications de type Single Page Interface (SPI) ou autre RIA.

La technique est simple, il suffit d’exploiter l’ancre dans l’url, la partie après le #, on parle de deep linking en Flex mais aussi en Silverlight.

Pourvu qu’on y prenne garde les applications Ajax, Flex ou Silverlight peuvent donc s’insérer de manière harmonieuse dans l’écosystème du Web (même s’il reste ensuite des problèmes de lecture et d’indexation des contenus) mais quid des applications dites RDA (Rich Desktop Application) dont une des premières caractéristiques est de faire disparaitre la barre d’adresse ?