Designed for change -Open source application architecture
It takes more than just adopting an Agile process to get maximum value out of our systems. Valtech believes in multi-layered services-oriented architecture that leverage open standards to create Agile IT architecture. This makes it easier to adapt existing applications to future changes in business or technology.
PDF (229 Kb) - [EN] - Entreprise Maven
Building enterprise Java applications is a challenging process involving building, packaging, and deploying multiple components to a variety of environments. And these components will frequently depend on one another and on third-party libraries and frameworks. Furthermore, static resources, configuration files, and deployment descrip-tors, must all be managed to produce packages that are compliant with their target environment. Organizations also demand that all of this be tested and plugged into a continuous integration build system. Every enterprise application built will address these challenges to some extent, and most will do so differently.
This paper will explore the many ways in which Maven can benefit enterprise software development. Its goal is to give you a high level understanding of the capabilities of Maven in this context. For a more detailed introduction to Maven consult the related re-sources section at the end.
Building enterprise Java applications is a challenging process involving building, packaging, and deploying multiple components to a variety of environments. And these components will frequently depend on one another and on third-party libraries and frameworks. Furthermore, static resources, configuration files, and deployment descrip-tors, must all be managed to produce packages that are compliant with their target environment. Organizations also demand that all of this be tested and plugged into a continuous integration build system. Every enterprise application built will address these challenges to some extent, and most will do so differently.
This paper will explore the many ways in which Maven can benefit enterprise software development. Its goal is to give you a high level understanding of the capabilities of Maven in this context. For a more detailed introduction to Maven consult the related re-sources section at the end.
PDF (773 Kb) - [EN] - SOA in stages
Service-Oriented Architecture means many things to many people. Like the parable of the blind men and the elephant, people tend to see what is close to hand. SOA, however, is a complex set of concepts, technologies and disciplines. To proceed in ignorance with SOA is a very risky proposition. In this presentation, we will present the essential concepts of service-oriented architecture. We will quickly survey the web services and SOA standards and discuss their evolution. And most importantly, we will explore the three levels, or stages, of SOA maturity and will map the issues that dominate each stage in the evolution of SOA within an organization.
Service-Oriented Architecture means many things to many people. Like the parable of the blind men and the elephant, people tend to see what is close to hand. SOA, however, is a complex set of concepts, technologies and disciplines. To proceed in ignorance with SOA is a very risky proposition. In this presentation, we will present the essential concepts of service-oriented architecture. We will quickly survey the web services and SOA standards and discuss their evolution. And most importantly, we will explore the three levels, or stages, of SOA maturity and will map the issues that dominate each stage in the evolution of SOA within an organization.
PDF (405 Kb) - [EN] - An introduction to Aspect Oriented Programming
How am I going to get my architecture to do that?!
Aspect Oriented Programming is fundamental to JBoss implementation. JBoss' use of AOP in JBoss Tree Cache AOP provides the backbone for supporting highly-scalable, stateful session beans. JBoss Seam is based on stateful session beans and it also uses AOP for its implementation. Neither would be possible without the use of AOP.
How am I going to get my architecture to do that?!
Aspect Oriented Programming is fundamental to JBoss implementation. JBoss' use of AOP in JBoss Tree Cache AOP provides the backbone for supporting highly-scalable, stateful session beans. JBoss Seam is based on stateful session beans and it also uses AOP for its implementation. Neither would be possible without the use of AOP.
PDF (269 Kb) - [EN] - Combining the power of Flex and Ruby on Rails
Although Ruby On Rails is young, it is already well known for its rapid Web application development capabilities, especially for “data oriented” applications. Although it is mainly used to produce HTML based Web applications, RoR can also be used to generate XML.
With the release of version 2, Flex now comes with a new licensing model that should increase its use for developing client-side Rich Web Applications in corporate environments (and others). On top of this new licensing model, Flex 2 comes with several new characteristics that make it a very productive environment for corporate applications.
Can the combined power of these two new technologies make them the “perfect couple?” How does it change the way we build corporate web applications ? How does it compare to competitors, such as the future WPF from Microsoft?
This presentation will cover these topics, looking at the core features of the technologies in relation to their interactions (not a full description of each of them). It will then examine interaction scenarios between the two in the context of a classical, data-oriented corporate application with complex data entry, data search and data reporting (textual and graphical).
Although Ruby On Rails is young, it is already well known for its rapid Web application development capabilities, especially for “data oriented” applications. Although it is mainly used to produce HTML based Web applications, RoR can also be used to generate XML.
With the release of version 2, Flex now comes with a new licensing model that should increase its use for developing client-side Rich Web Applications in corporate environments (and others). On top of this new licensing model, Flex 2 comes with several new characteristics that make it a very productive environment for corporate applications.
Can the combined power of these two new technologies make them the “perfect couple?” How does it change the way we build corporate web applications ? How does it compare to competitors, such as the future WPF from Microsoft?
This presentation will cover these topics, looking at the core features of the technologies in relation to their interactions (not a full description of each of them). It will then examine interaction scenarios between the two in the context of a classical, data-oriented corporate application with complex data entry, data search and data reporting (textual and graphical).
PDF (367 Kb) - [EN] - Executable Requirements: How Fitnesse can benefit your team
The translation of idea to concept in software development is an area plagued with tension, miscommunication and failure. Every software development process has its own take on how to solve the issue and streamline the translation of requirements into tested code.
Fitnesse is a tool/approach to this age old problem that looks at it from a new and surprisingly effective point of view. By treating easy-to-create tests as the actual requirements, Fitnesse allows non-technical Business Analysts to specify their needs in the form of executable requirements. These requirements then become a living part of the software ecosystem instead of a set of stale documents that grow further out of sync with the code base as time goes by.
This presentation will introduce you to the concept of Fit/Fitnesse and its impact on requirements, development and testing. Real world examples will be examined and experiences from actual implementations will be discussed. See how this approach can speed your development process and improve the relationships between your Business Analysts and developers.
The translation of idea to concept in software development is an area plagued with tension, miscommunication and failure. Every software development process has its own take on how to solve the issue and streamline the translation of requirements into tested code.
Fitnesse is a tool/approach to this age old problem that looks at it from a new and surprisingly effective point of view. By treating easy-to-create tests as the actual requirements, Fitnesse allows non-technical Business Analysts to specify their needs in the form of executable requirements. These requirements then become a living part of the software ecosystem instead of a set of stale documents that grow further out of sync with the code base as time goes by.
This presentation will introduce you to the concept of Fit/Fitnesse and its impact on requirements, development and testing. Real world examples will be examined and experiences from actual implementations will be discussed. See how this approach can speed your development process and improve the relationships between your Business Analysts and developers.
PDF (129 Kb) - [EN] - Conditions for the dream of ORM to become true
The main objective of the Object Mapping Relational tool is to simplify the development of the database access layer. In doing so, project leaders can increase productivity and reduce delivery delays. Many frameworks have been developed since Java was first introduced: toplink, cocobase, entity beans, iBatis, JDO, hibernate and now EJB3 with Java persistence API. Thinking that such a tool can be used by any developer and making this layer transparent can be the source of a project’s failure. This presentation aims to help use such a framework correctly in order to avoid ORM traps.
Topics include:
-The Object/relational model mismatch
-Class/table
-Relations
-Inheritance
The transitive persistence, cascade strategy
What about graph extraction? Fetching policy
Architectural design
What about the attach/detach model in distributed architecture?
Can ORMs be used by all developers? What are the best profiles to avoid problems?
The main objective of the Object Mapping Relational tool is to simplify the development of the database access layer. In doing so, project leaders can increase productivity and reduce delivery delays. Many frameworks have been developed since Java was first introduced: toplink, cocobase, entity beans, iBatis, JDO, hibernate and now EJB3 with Java persistence API. Thinking that such a tool can be used by any developer and making this layer transparent can be the source of a project’s failure. This presentation aims to help use such a framework correctly in order to avoid ORM traps.
Topics include:
-The Object/relational model mismatch
-Class/table
-Relations
-Inheritance
The transitive persistence, cascade strategy
What about graph extraction? Fetching policy
Architectural design
What about the attach/detach model in distributed architecture?
Can ORMs be used by all developers? What are the best profiles to avoid problems?
PDF (205 Kb) - [EN] - Exploring the value proposition of Rails
By now many of you have heard the growing rumble of the approaching train. Rails is taking the web development community by storm. Large numbers of people are taking notice of the productivity gains that it enables. This presentation will cover the foundations of Ruby and Rails and answer the “how” and “why” questions: how does Ruby and Rails work, and why should you care? We will begin by highlighting the Rails fundamentals that are most important to productivity gains. We will then compare Rails and the Java stack. We will look at the specifics behind the risk/reward equation, and clearly explain where the Rails sweet spot is and how to make an informed decision about usage.
By now many of you have heard the growing rumble of the approaching train. Rails is taking the web development community by storm. Large numbers of people are taking notice of the productivity gains that it enables. This presentation will cover the foundations of Ruby and Rails and answer the “how” and “why” questions: how does Ruby and Rails work, and why should you care? We will begin by highlighting the Rails fundamentals that are most important to productivity gains. We will then compare Rails and the Java stack. We will look at the specifics behind the risk/reward equation, and clearly explain where the Rails sweet spot is and how to make an informed decision about usage.
PDF (183 Kb) - [EN] - Spring and EJB3 compared
One of the hallmarks of the Java community is its constant innovation. The downside of this positive trait is that the community’s pace of change often complicates the technical decision-making process. With the recent approval of Java Enterprise Edition 5.0 and Enterprise Java Beans 3.0 by the Java Community Process organization, the mainstream Java community has embraced many of the powerful concepts made popular by the Spring framework. But how do these two technologies compare? Do they even compare at all? What factors must a software development organization keep in mind when considering adoption of either technology?
This presentation will compare the Spring framework and EJB 3. It will examine similarities and differences, map strengths and weaknesses, discuss usage scenarios, and consider integration strategies. Participants will leave with a deeper understanding of the relative positioning of these technologies and of the types of considerations to bear in mind when considering adoption of either.
One of the hallmarks of the Java community is its constant innovation. The downside of this positive trait is that the community’s pace of change often complicates the technical decision-making process. With the recent approval of Java Enterprise Edition 5.0 and Enterprise Java Beans 3.0 by the Java Community Process organization, the mainstream Java community has embraced many of the powerful concepts made popular by the Spring framework. But how do these two technologies compare? Do they even compare at all? What factors must a software development organization keep in mind when considering adoption of either technology?
This presentation will compare the Spring framework and EJB 3. It will examine similarities and differences, map strengths and weaknesses, discuss usage scenarios, and consider integration strategies. Participants will leave with a deeper understanding of the relative positioning of these technologies and of the types of considerations to bear in mind when considering adoption of either.
PDF (357 Kb) - [FR] - EJB3 : Evolution ou révolution ?
La nouvelle version de la spécification EJB ne va pas tarder à voir le jour… déjà bien avancée, sa lecture laisse certains enthousiastes, d’autres perplexes.
Les versions précédentes ne sont jamais parvenues à avoir le succès qu’on leur avait prédit pour un certain nombre de raisons que nous tacherons de lister. Nous aborderons ensuite les principales caractéristiques des EJB3 pour voir, point par point, comment ces lacunes ont été comblées.
La nouvelle version de la spécification EJB ne va pas tarder à voir le jour… déjà bien avancée, sa lecture laisse certains enthousiastes, d’autres perplexes.
Les versions précédentes ne sont jamais parvenues à avoir le succès qu’on leur avait prédit pour un certain nombre de raisons que nous tacherons de lister. Nous aborderons ensuite les principales caractéristiques des EJB3 pour voir, point par point, comment ces lacunes ont été comblées.
PDF (400 Kb) - [FR] - Développement Web avec le framework .NET v.2.0
Avoir un framework et un outil de développement, c‘est bien, savoir s’en servir, c’est mieux.
Nous vous proposons, via une démonstration, d’appliquer les bons principes d’architecture et de conception dans la réalisation d’une petite application Web. Rien de révolutionnaire, mais une utilisation optimisée des outils standards.
Le cas de démonstration :
• Une application permettant de visualiser des cours des formateurs, et leurs certifications.
La réalisation :
• Partant des données sous forme XML ou dans des Bases, on en déduit le DAL (Data Access Layer). On ne codera rien manuellement.
• On montrera comment un ajout de spécification impacte l’application et comment enrichir le DAL
• Après les données, les traitements (très simples dans notre cas de démonstration), dans le BLL (Business Logic Layer) chargée d’exposer les données métier (générées automatiquement) à la couche suivante.
• La présentation utilisera les nouveaux composants et les techniques de liaison de données.
Les finitions :
• Comment rendre l’application agréable du point de vue de l’utilisateur …
Avoir un framework et un outil de développement, c‘est bien, savoir s’en servir, c’est mieux.
Nous vous proposons, via une démonstration, d’appliquer les bons principes d’architecture et de conception dans la réalisation d’une petite application Web. Rien de révolutionnaire, mais une utilisation optimisée des outils standards.
Le cas de démonstration :
• Une application permettant de visualiser des cours des formateurs, et leurs certifications.
La réalisation :
• Partant des données sous forme XML ou dans des Bases, on en déduit le DAL (Data Access Layer). On ne codera rien manuellement.
• On montrera comment un ajout de spécification impacte l’application et comment enrichir le DAL
• Après les données, les traitements (très simples dans notre cas de démonstration), dans le BLL (Business Logic Layer) chargée d’exposer les données métier (générées automatiquement) à la couche suivante.
• La présentation utilisera les nouveaux composants et les techniques de liaison de données.
Les finitions :
• Comment rendre l’application agréable du point de vue de l’utilisateur …
PDF (573 Kb) - [FR] - Mise en oeuvre de SOA - Pourquoi avez-vous besoin d'un ESB ?
L’acronyme SOA (Architecture Orientée Services) désigne une « philosophie d’architecture » qui vise à construire le SI d’une entreprise sous la forme d’un ensemble de services métier de haut niveaux, utilisés par des applications qui profitent de la disponibilité de ces services.
On parle bien de « philosophie d’architecture » et pas de « solution d’architecture » car il existe divers modes de réalisation qui varient largement en termes de plus-value apportée mais aussi de complexité de mise en œuvre.
Plusieurs niveaux peuvent être définis, chacun associé à un ensemble de technologies, de bénéfices apportés et de « défis de mise en œuvre ». Ce papier s’attache à montrer que le niveau de mise en œuvre nécessaire varie largement d’une société à une autre, et d’un contexte à un autre à l’intérieur de ces sociétés.
Après avoir rappelé brièvement le rôle de la démarche « Think Service », ce papier présente ces différents niveaux et montre que, non seulement il est possible de mettre en œuvre SOA de manière incrémentale en adoptant les niveaux les uns après les autres, mais qu’en plus, il n’est pas forcément nécessaire ou souhaitable d’aller vers le niveau de mise en œuvre le plus évolué. On verra comment les ESB s’inscrivent dans ces différents niveaux.
L’acronyme SOA (Architecture Orientée Services) désigne une « philosophie d’architecture » qui vise à construire le SI d’une entreprise sous la forme d’un ensemble de services métier de haut niveaux, utilisés par des applications qui profitent de la disponibilité de ces services.
On parle bien de « philosophie d’architecture » et pas de « solution d’architecture » car il existe divers modes de réalisation qui varient largement en termes de plus-value apportée mais aussi de complexité de mise en œuvre.
Plusieurs niveaux peuvent être définis, chacun associé à un ensemble de technologies, de bénéfices apportés et de « défis de mise en œuvre ». Ce papier s’attache à montrer que le niveau de mise en œuvre nécessaire varie largement d’une société à une autre, et d’un contexte à un autre à l’intérieur de ces sociétés.
Après avoir rappelé brièvement le rôle de la démarche « Think Service », ce papier présente ces différents niveaux et montre que, non seulement il est possible de mettre en œuvre SOA de manière incrémentale en adoptant les niveaux les uns après les autres, mais qu’en plus, il n’est pas forcément nécessaire ou souhaitable d’aller vers le niveau de mise en œuvre le plus évolué. On verra comment les ESB s’inscrivent dans ces différents niveaux.
PDF (200 Kb) - [FR] - Création graphique et ergonomie web
L'aspect graphique des outils web est souvent négligé alors qu'il joue un rôle complémentaire, indissociable du bon fonctionnement et de la compréhension des outils et des sites.
En quoi l'ergonomie et l'aspect graphique d'un site peuvent ils améliorer l'efficacité de l'utilisateur ? Comment organiser, unifier et structurer les aspects visuels et graphiques de ces outils web interconnectés malgré des plateformes, des techniques de développement ou des supports différents ?
Comment bâtir une architecture ergonomique de modules graphiques compréhensible et utilisables dans un outil de gestion de contenu ?
L'aspect graphique des outils web est souvent négligé alors qu'il joue un rôle complémentaire, indissociable du bon fonctionnement et de la compréhension des outils et des sites.
En quoi l'ergonomie et l'aspect graphique d'un site peuvent ils améliorer l'efficacité de l'utilisateur ? Comment organiser, unifier et structurer les aspects visuels et graphiques de ces outils web interconnectés malgré des plateformes, des techniques de développement ou des supports différents ?
Comment bâtir une architecture ergonomique de modules graphiques compréhensible et utilisables dans un outil de gestion de contenu ?
PDF (282 Kb) - [FR] - Ruby et Ruby on Rails
Ruby est un langage de script orienté objet, abordable et très complet. Depuis 1995, il a su fédérer une communauté très active qui a mis à son service un grand nombre d’API. De cette communauté est né « Ruby on Rails » (RoR), un framework permettant de développer des applications web sur le modèle mvc. Ce document va présenter rapidement Ruby et son modèle objet, puis RoR, en s’intéressant plus précisément à son fonctionnement et à certaines de ses couches dont Active Record, le module de mapping objet relationnel. L’article sera appuyé par des démonstrations du langage Ruby et un exemple de mise en œuvre de RoR.
Ruby est un langage de script orienté objet, abordable et très complet. Depuis 1995, il a su fédérer une communauté très active qui a mis à son service un grand nombre d’API. De cette communauté est né « Ruby on Rails » (RoR), un framework permettant de développer des applications web sur le modèle mvc. Ce document va présenter rapidement Ruby et son modèle objet, puis RoR, en s’intéressant plus précisément à son fonctionnement et à certaines de ses couches dont Active Record, le module de mapping objet relationnel. L’article sera appuyé par des démonstrations du langage Ruby et un exemple de mise en œuvre de RoR.
PDF (1500 Kb) - [FR] - Urbanisation Orientée-Service - L'approche 'Think Service'
L'urbanisation a pour objectif l'alignement du SI sur les processus métier de l'entreprise. Cet alignement doit garantir une évolution maitrisée et optimisée du SI lorsque les processus métier évoluent. Ce besoin d'évolution est aujourd'hui largement présent et quasi-continu lorsqu’une entreprise veut rester viable sur le marché face à ses concurrents. Mais jusqu'à présent, aucune solution d'architecture applicative et technique n'avait réellement émergée pour supporter efficacement cette urbanisation.
SOA (Service-Oriented Architecture) est aujourd'hui annoncée comme la solution d'architecture applicative permettant d'obtenir la meilleure réactivité et souplesse aux changements imposés par les évolutions du métier. Les solutions SOA et les outils associés sont mis en avant par tous les grands éditeurs du marché, mais sans réelle démarche permettant d'identifier efficacement les services à mettre place.
Cet article présente l'approche ‘Think Service’ de Valtech, mariant urbanisation et SOA. L'urbanisation est vue comme la démarche permettant d'identifier l'ensemble des services à mettre en oeuvre dans une SOA. Cette dernière est vue comme la solution d'architecture permettant de réussir l'urbanisation du SI.
L'urbanisation a pour objectif l'alignement du SI sur les processus métier de l'entreprise. Cet alignement doit garantir une évolution maitrisée et optimisée du SI lorsque les processus métier évoluent. Ce besoin d'évolution est aujourd'hui largement présent et quasi-continu lorsqu’une entreprise veut rester viable sur le marché face à ses concurrents. Mais jusqu'à présent, aucune solution d'architecture applicative et technique n'avait réellement émergée pour supporter efficacement cette urbanisation.
SOA (Service-Oriented Architecture) est aujourd'hui annoncée comme la solution d'architecture applicative permettant d'obtenir la meilleure réactivité et souplesse aux changements imposés par les évolutions du métier. Les solutions SOA et les outils associés sont mis en avant par tous les grands éditeurs du marché, mais sans réelle démarche permettant d'identifier efficacement les services à mettre place.
Cet article présente l'approche ‘Think Service’ de Valtech, mariant urbanisation et SOA. L'urbanisation est vue comme la démarche permettant d'identifier l'ensemble des services à mettre en oeuvre dans une SOA. Cette dernière est vue comme la solution d'architecture permettant de réussir l'urbanisation du SI.
PDF (604 Kb) - [FR] - Gagner en productivité avec Java Server Faces
Dans la grande famille des frameworks web du monde J2EE, voilà Java Server Faces (JSF). Un de plus me direz-vous. Certes, mais si toutes les améliorations apportées à la construction d’applications web en Java ont jusqu’à maintenant été insuffisantes, c’est bien dans la productivité attendue des développeurs.
Si JSF reprend de nombreux frameworks webs existants les règles de conception courantes, il amène en revanche des idées intéressantes ayant fait leur preuve dans le développement de clients graphiques lourds comme la gestion d’évènements ou l’utilisation de composants graphiques. A-t-on enfin trouvé l’équilibre entre les méthodes qui ont fait le succès de Delphi ou VB et celles qui font l’universalité du web ? C’est ce que nous allons voir en gardant un œil sur la problématique de la productivité.
Il va être essentiellement question dans cet article du fonctionnement de JSF, des publics ciblés par JSF et des bibliothèques de composants.
Dans la grande famille des frameworks web du monde J2EE, voilà Java Server Faces (JSF). Un de plus me direz-vous. Certes, mais si toutes les améliorations apportées à la construction d’applications web en Java ont jusqu’à maintenant été insuffisantes, c’est bien dans la productivité attendue des développeurs.
Si JSF reprend de nombreux frameworks webs existants les règles de conception courantes, il amène en revanche des idées intéressantes ayant fait leur preuve dans le développement de clients graphiques lourds comme la gestion d’évènements ou l’utilisation de composants graphiques. A-t-on enfin trouvé l’équilibre entre les méthodes qui ont fait le succès de Delphi ou VB et celles qui font l’universalité du web ? C’est ce que nous allons voir en gardant un œil sur la problématique de la productivité.
Il va être essentiellement question dans cet article du fonctionnement de JSF, des publics ciblés par JSF et des bibliothèques de composants.
PDF (678 Kb) - [FR] - Les clients riches
Sacré client ! Léger, riche, lourd, on lui confère toutes les caractéristiques. Si l’on voit tout a fait ce que peuvent signifier léger et lourd, on a du mal à mettre une définition claire sur le terme client riche. L’objectif de cet article est dans un premier temps d’essayer de définir plus précisement ce terme. On verra notamement qu’il n’est pas associé à un produit en particulier, mais il défini plus une famille de technologies qui essayent d’apporter des solutions alternatives au langage html qui n’est plus forcément très adapté aux besoins d’aujourd’hui !
Sacré client ! Léger, riche, lourd, on lui confère toutes les caractéristiques. Si l’on voit tout a fait ce que peuvent signifier léger et lourd, on a du mal à mettre une définition claire sur le terme client riche. L’objectif de cet article est dans un premier temps d’essayer de définir plus précisement ce terme. On verra notamement qu’il n’est pas associé à un produit en particulier, mais il défini plus une famille de technologies qui essayent d’apporter des solutions alternatives au langage html qui n’est plus forcément très adapté aux besoins d’aujourd’hui !
PDF (127 Kb) - [FR] - Programmation Orientée Aspect & +
Après avoir procédé à quelques rappels dans le domaine de la Programmation Orientée Aspect (AOP), nous présenterons quelques retours d’expérience sur la mise en place de l’AOP en entreprise : résolution de problèmes techniques, amélioration de la qualité et réduction du coût de construction des applications.
Puis nous verrons quelles limitations poussent les « défricheurs » à explorer de nouvelles pistes pour l’AOP… vers une Programmation Orientée Aspect Générique (GAOP ?).
Après avoir procédé à quelques rappels dans le domaine de la Programmation Orientée Aspect (AOP), nous présenterons quelques retours d’expérience sur la mise en place de l’AOP en entreprise : résolution de problèmes techniques, amélioration de la qualité et réduction du coût de construction des applications.
Puis nous verrons quelles limitations poussent les « défricheurs » à explorer de nouvelles pistes pour l’AOP… vers une Programmation Orientée Aspect Générique (GAOP ?).
PDF (482 Kb) - [FR] - Adobe Flex 2.0 - Premier Aperçu Technique
Flex est un produit qui permet de réaliser des applications Web de type client riche Internet. Ce "nouveau" type d'application permet d'exécuter de véritables applications dans un navigateur standard. Les solutions pour réaliser des clients riches sont aujourd'hui nombreuses et, même si elles semblent très différentes, elles ont toutes en commun d'avoir besoin d'un socle d'exécution dans le navigateur pour fonctionner. Ajax et XUL reposent directement sur le navigateur, Java ou quicktime s'exécutent dans des plugins spécifiques.
Flex est un produit de la société Adobe (anciennement Macromedia) et s'appuie, quant à lui, sur le socle d'exécution Flash Player, présent sur plus de 90% des postes pour les principaux navigateurs et systèmes d'exploitation. Flex permet donc de générer des applications flash en suivant un modèle de développement familier aux développeurs Web standards (Java, C# ou php).
Flex permet en effet de décrire les interfaces à l'aide de XML (MXML) et de feuilles de style CSS, de gérer les interactions avec un langage objet ActionScript et le modèle d'événements du DOM W3C et de récupérer des données à l'aide de SOAP ou de REST.
Cette session vous permettra de comprendre comment insérer Flex dans votre architecture informatique et de découvrir, en suivant la réalisation d'un exemple concret, les principaux outils, concepts et composants du framework Flex.
Flex est un produit qui permet de réaliser des applications Web de type client riche Internet. Ce "nouveau" type d'application permet d'exécuter de véritables applications dans un navigateur standard. Les solutions pour réaliser des clients riches sont aujourd'hui nombreuses et, même si elles semblent très différentes, elles ont toutes en commun d'avoir besoin d'un socle d'exécution dans le navigateur pour fonctionner. Ajax et XUL reposent directement sur le navigateur, Java ou quicktime s'exécutent dans des plugins spécifiques.
Flex est un produit de la société Adobe (anciennement Macromedia) et s'appuie, quant à lui, sur le socle d'exécution Flash Player, présent sur plus de 90% des postes pour les principaux navigateurs et systèmes d'exploitation. Flex permet donc de générer des applications flash en suivant un modèle de développement familier aux développeurs Web standards (Java, C# ou php).
Flex permet en effet de décrire les interfaces à l'aide de XML (MXML) et de feuilles de style CSS, de gérer les interactions avec un langage objet ActionScript et le modèle d'événements du DOM W3C et de récupérer des données à l'aide de SOAP ou de REST.
Cette session vous permettra de comprendre comment insérer Flex dans votre architecture informatique et de découvrir, en suivant la réalisation d'un exemple concret, les principaux outils, concepts et composants du framework Flex.
PDF (212 Kb) - [FR] - Implémenter une couche de persistance avec .Net
Développer une couche de persistance est assurément une des tâches les plus difficiles lors de la réalisation d'une application de gestion. Alors que les techniques de mapping objet / relationnel sont restées pendant plus de dix ans l'apanage d'experts, de plus en plus de projets franchissent le pas. Avec cet engouement, ces mêmes projets payent souvent les pots cassés d'une mauvaise conception ou d'une méconnaissance des principes du mapping, dont la persistance est tout sauf transparente (malgré ce qu'affirment les présentations marketing).
Quels sont les pièges à éviter lorsqu'on doit faire du mapping O/R ? Y-a-t-il des modèles de conception à suivre ? La génération de code peut-elle apporter une solution alternative moins coûteuse et mieux maîtrisée ? Faut-il réserver cette technique à des petits projets ou des gros projets ?
Cette session s'attachera à décrire les grands principes du mapping objet / relationnel tout en décrivant au travers d'une étude de cas pratique les effets pervers d'une mauvaise conception. Les outils de persistance utilisés seront ceux du marché, qu’il soient propriétaires ou Open Source (nhibernate, Code-Smith, …). Quant à l’approche "techniquement agnostique", elle conviendra aussi bien aux aficionados de .NET que de Java EE.
Développer une couche de persistance est assurément une des tâches les plus difficiles lors de la réalisation d'une application de gestion. Alors que les techniques de mapping objet / relationnel sont restées pendant plus de dix ans l'apanage d'experts, de plus en plus de projets franchissent le pas. Avec cet engouement, ces mêmes projets payent souvent les pots cassés d'une mauvaise conception ou d'une méconnaissance des principes du mapping, dont la persistance est tout sauf transparente (malgré ce qu'affirment les présentations marketing).
Quels sont les pièges à éviter lorsqu'on doit faire du mapping O/R ? Y-a-t-il des modèles de conception à suivre ? La génération de code peut-elle apporter une solution alternative moins coûteuse et mieux maîtrisée ? Faut-il réserver cette technique à des petits projets ou des gros projets ?
Cette session s'attachera à décrire les grands principes du mapping objet / relationnel tout en décrivant au travers d'une étude de cas pratique les effets pervers d'une mauvaise conception. Les outils de persistance utilisés seront ceux du marché, qu’il soient propriétaires ou Open Source (nhibernate, Code-Smith, …). Quant à l’approche "techniquement agnostique", elle conviendra aussi bien aux aficionados de .NET que de Java EE.
PDF (3056 Kb) - [FR] - Le Livre Orange 2007 sur l'Urbanisation et l'Intégration de Systèmes "Think Services" est disponible
Ce document représente une compilation du savoir-faire et de l’expertise de Valtech Technology Consulting dans le domaine de l’urbanisation et de l’intégration de systèmes. Il s’intéresse aussi bien aux nouvelles perspectives offertes par la vision SOA qu’aux retours d’expériences de Valtech dans ce domaine et plus généralement dans l’urbanisation et l’intégration de systèmes.
Ce document représente une compilation du savoir-faire et de l’expertise de Valtech Technology Consulting dans le domaine de l’urbanisation et de l’intégration de systèmes. Il s’intéresse aussi bien aux nouvelles perspectives offertes par la vision SOA qu’aux retours d’expériences de Valtech dans ce domaine et plus généralement dans l’urbanisation et l’intégration de systèmes.
PDF (632 Kb) - [FR] - Support de séminaire Ruby On Rails - Février 2007
La réalisation de sites dynamiques est devenu le type de développement n°1. La compétition entre les mondes Java EE et .Net ne saurait masquer leur complexité croissante. Aussi, Ruby on Rails, solution basée sur la simplicité, possède de nombreux atouts.
La réalisation de sites dynamiques est devenu le type de développement n°1. La compétition entre les mondes Java EE et .Net ne saurait masquer leur complexité croissante. Aussi, Ruby on Rails, solution basée sur la simplicité, possède de nombreux atouts.
Search for a subject by typing in a keyword.









