Nous utilisons les cookies afin de fournir les services et fonctionnalités proposés sur notre site et afin d’améliorer l’expérience de nos utilisateurs. Les cookies sont des données qui sont téléchargés ou stockés sur votre ordinateur ou sur tout autre appareil. En cliquant sur "J’accepte", vous acceptez l’utilisation des cookies. Vous pourrez toujours les désactiver ultérieurement. Si vous supprimez ou désactivez nos cookies, vous pourriez rencontrer des interruptions ou des problèmes d’accès au site.

Environnement JAVA : J2EE, Eclipse RCP, SPRING, STRUTS, HIBERNATE, …

Architecture logicielle J2EE

Fort de nos expériences, nous avons une réelle expertise du monde JAVA. Dans nos développements, nous mettons l’accent sur le fait que les technologies utilisées permettront :

  • Que le site Web soit adaptatif(anglais RWD pour responsive web design). Le site sera donc conçu pour offrir au visiteur une expérience de consultation optimale facilitant la lecture et la navigation. L’utilisateur peut ainsi consulter le même site web à travers une large gamme d’appareils (moniteurs d’ordinateur, smartphones, tablettes, TV, etc.) avec le même confort visuel et sans avoir recours au défilement horizontal ou au zoom avant/arrière sur les appareils tactiles notamment, manipulations qui peuvent parfois dégrader l’expérience utilisateur.
  • Que le site soit facilement évolutif et maintenable grâce à l’utilisation de Framework puissants.
  • Que le site soit lisible sur tout type de navigateur.
  • Que les données du site soient sécurisées et non accessibles. L’accent a été mis sur une sécurité accrue des données, ces dernières étant d’ordre médical.
  • Que les fonctionnalités soient accessibles via Web Services pour les applications externes (applications mobiles, autres progiciels, …).

Langage de développement

Les solutions Web développées en J2EE utilisent le Framework SPRINGHIBERNATE ou STRUTS – HIBERNATE. La couche d’accès aux données est gérée via HIBERNATE afin de permettre le changement de type de base de données (passage de MySQL à SQL Server par exemple). La couche métier permettant le traitement des informations et les calculs est la plupart du temps développée sous le Framework SPRING ou STRUTS avec, selon les besoins, la technologie Entity Java Bean 3.0 (EJB 3.0). L’avantage de cette technologie est la mise en place rapide et performante des Web Services qui seront mis à disposition des applications mobiles ou autres applications externes demandant l’accès aux informations. La couche affichant les données (présentation) sera développée sous JSF, JSP, HTML 5 avec différents Frameworks graphiques comme par exemple Framework Bootfaces (contenant Bootstrap 3.0). Cette technologie, associée au style CSS V3, permet la construction d’application responsive, c’est-à-dire adaptant automatiquement l’affichage aux supports de tout type : tablettes, téléphone mobile, PC, etc.

Avantages de ces choix technologiques :

  • Coût de licence nul.
  • Technologie éprouvée et puissante.
  • Sécurité fiable.
  • Grande portabilité, multi navigateurs.
  • Maintenance et évolutions aisées.

Base de données

Nos solutions fonctionnent avec toutes bases de données MySQL v5.x (conseillé pour les projets JAVA), mais aussi SQL Server, ORACLE, PostgreSQL, …

ServeurE

Nous préconisons l’utilisation du serveur Web APACHE TOMCAT. Ce dernier est léger et facilement maintenable. Il est utilisé dans de très nombreux projets à travers le monde.

Côté client et affichage des données

Afin d’avoir un site lisible sur tout type d’écran, nous utiliserons les technologies « responsive » Bootstrap V3.0 minimum, HTML 5 et les feuilles de style CSS V3. JSF, JSP et d’autres Framework, comme Bootfaces, pourront venir agrémenter les interfaces utilisateurs.

Sécurité de l’application web

L’application pourra être accessible via le protocole HTTPS. Nous générerons pour cela la paire de clés et le certificat du serveur et intégrerons le tout sous Apache HTTPD et Tomcat par HTTPS via le mode « mod_ssl ». SPRING est un Framework puissant auquel nous dédions les tâches récurrentes dont la sécurisation de l’application Web. A ce titre, l’application sera protégée face :

  • aux failles Cross-Site Scripting (XSS), Cross-Site Request Forgery (CSRF).
  • aux injections SQL.

De plus, l’injection de dépendances permet de ne pas avoir accès aux méthodes au sein de l’application par l’extérieur. Enfin, l’application développée contiendra :

  • JASS pour sécuriser par configuration une application web (war)
  • Un intercepteur de sécurité (SPRING Security).
  • Une sécurisation de toutes les URLs de l’application (pattern= »/** »)
  • Seuls les utilisateurs possédant un rôle ROLE_USER ont accès aux URLs
  • Une redirection si un utilisateur n’est pas connecté (gestion des sessions)
  • Une sécurisation de l’accès à la base de données (mots de passe et utilisateurs chiffrées).

Et encore …

La base de données du BackOffice étant l’élément central de votre système, nous nous engageons à la mettre en œuvre de telle manière à ce qu’il soit aisé de mettre en œuvre des outils de reporting (tableaux de bord, rapports, … ) par la suite. La base de données favorisera les requêtes rapides pour l’analyse des données.

CIDEMA : expert en développement JAVA

Architecture détaillée

Expert dans le développement d’application Web, nous utilisons une structure multi – couches :

  • Client: navigateur permettant l’accès au logiciel. Utilise HTML5 et Bootstrap V3 afin de fournir un contenu riche, ergonomique et « responsive ».
  • Serveur Web: le serveur TOMCAT est réputé comme un des serveurs ayant été les plus éprouvés. Il permet d’exécuter les parties servlets et JSP des applications déployées sur le serveur Il a l’avantage aussi d’être très léger (mise en place facile et occupation mémoire faible). Nous l’avons utilisé à plusieurs reprises. Il est robuste et fiable.
  • SPRING/STRUTS – J2EE: SPRING ou STRUTS facilite la mise en place du modèle MVC (Modèle – Vue – Contrôleur) avec le langage JAVA. Les avantages sont un développement plus rapide et plus maîtrisé. Les évolutions et changements qui pourraient intervenir tout au long du projet seront plus rapides à réaliser. Les EJB (Entity Java Bean) forment une technologie qui facilite la mise en place de Web Services. Ces derniers sont des écouteurs qui proposent des services aux applications tierces (applications mobiles par exemple) et envoient les informations ou exécutent les commandes demandées.
  • Hibernate: Hibernate permet de développer un logiciel sans se soucier de la base de données sur laquelle nous nous connectons. Cet outil s’occupe de la gestion et l’enregistrement des données et libère le développeur de ces tâches souvent chronophages. L’avantage ici est de pouvoir passer d’un type de base de données à un autre en ayant à faire que très peu de modifications (aucune tâche de développement, uniquement du paramétrage). La grande majorité de nos applications utilisent ce type de système.