-
Développer serveur web
Bonjour,
Je travaille actuellement sur un projet de plateforme web. Ayant des connaissances solides en Java, je n'ai que peu utilisé ce langage pour du développement Web, lui preferant jusqu'à présent PHP.
Ce projet de plateforme web utilise des concepts et une architecture assez particuliers, n'ayant pas grand chose en commun avec un traditionnel site web.
Il s'agirait -pour faire simple- plus d'une plateforme de réseaux sociaux, accompagné de divers services. L'interet se porte davantage sur les mechanismes internes (modularité des services, normalisation des données réutilisables par l'ensemble de la plateforme...) que sur la partie "utilisation" elle même. En effet, il est prévu d'accéder à ces services et données par navigateur mais aussi par des clients spécifiques.
Les requetes/reponses transiteront en HTTP.
Je me pose une question : peut-on développer un serveur web relativement minimaliste (gestion de pools de connexion, session, accès aux données...) mais parfaitement optimisé et adapté pour nos besoins ?
Je me dite que la réponse est oui, mais qu'en est-il de la faisabilité ?
Il n'est pas question d'implementer la norme J2EE mais simplement des méchanismes de serveur web de bases auquels viendront s'ajouter des méchanismes propres à la plateforme.
Ou bien est-il plus judicieux et réaliste d'utiliser un serveur J2EE ?
Merci d'avance pour vos réponses.
-
Bonjour,
D'après ta problématique, je ne comprends pas l'intérêt de vouloir développer ton propre serveur web.
Les différents serveurs d'applications Java sont déjà suffisamment modulaires pour pouvoir les manipuler à ta guise.
Je n'ai pas tout compris à ton projet, mais voici quelques pistes que je peux te donner :
- Si ton projet consiste simplement à manipuler des requêtes HTTP, l'utilisation simple de servlets seront amplement suffisantes
- Si ton projet consiste à réaliser un site web, sache qu'il existe énormément de frameworks pour réaliser des sites web (ou applications web), ils ont tous leurs avantages et inconvénients, voici quelques noms de frameworks en vrac : Struts, Struts 2, GWT, JSF, Wicket, JBoss Seam (mon préféré pour les gros projets :D)
- Si pour ton projet tu en es simplement à vouloir réaliser la partie métier, je te conseil l'utilisation des EJB 3, et de la technologie JAX-WS. Grace à l'utilisation conjointe de ces 2 technologies, tu pourras développer la partie métier de ton application, puis éventuellement donner des accès aux différentes parties de ton applications via des Webservices (et pourquoi pas en étant fou pouvoir développer ton site web en PHP qui appelleront tes webservices en java, si tu préfères le PHP)
J'espère avoir répondu à tes questions.
-
Merci pour ta réponse.
Je vais essaier de donner plus d'informations sur le projet.
Pour faire très simple, on pourrait assimiler ça à une plateforme comme Facebook, avec une organisation des données de type web sémantique. Ces données seront donc aussi utilisées par d'autre service (modules), tout aussi variés comme la création de sites web/blog (en installant les modules désirés), messagerie/forum, wifi...
L'ensemble de ces services seront reliés de diverses manières (reseau sociaux accessibles sur les sites web, concretement, cela sera traduit par divers lien vers les groupes et sites amis etc..., ou encore sites web reliés au wiki pour le partage d'information...), accèdant ainsi à l'ensemble des données publiques de la plateforme.
Voilà une courte description de la problèmatique du projet.
Mes interrogations resident donc dans le fait qu'il n'est pas question de développer un site web specifique, mais plutôt un framework, ou un systeme de création de site modulaire.
Il n'est pas question donc de créer une "application web" par site web (créés par les utilisateurs donc), ni même une "application web" par service, ce qui risquerait de limiter les connexions entre ces différents services, qui s'utilisent reciproquement.
Je ne sais pas si développer des web services avec des technologies comme EJB ou JAX-WS est la meilleure solution, puisque ces services n'ont pas pour vocation d'être utilisable par des sites et serveurs distants, mais uniquement par les services de la même plateforme.
-
Grizzly est un serveur web Java très performant et très petit.
-
Tu peux aussi voir toute ton application comme une application web. Après tu segmenteras comme tu veux au niveau de tes clients.
Donc concretement tu créer une application web qui contiendra toute les applications de tes clients, et ensuite chaque client pourras acceder à son espace avec son url.