Question

J'ai donc un client qui doit exécuter tomcat pour diverses tâches (Solr et un service Web également) et après avoir eu une réunion avec lui et un autre programmeur sur le projet, je me suis un peu perdu. L'autre programmeur disait des mots à la mode et disait des choses comme: "Nous avons besoin d'un middleware pour tomcat". En réponse à cela, mon client me demande de rechercher un middleware pour tomcat, ce qui m'a dérouté parce que je pensais qu'écrire un service Web serait spécifique au projet en question et que le "middleware" serait développé par nous. Si tel est le cas, pourquoi ne pas simplement dire "service Web"?

Ma question est la suivante: existe-t-il un servlet ou un plug-in open source pour tomcat qui en fait un middleware (peut-être quelque chose du site d'Apache?) ou est-il logique que je devrais écrire mon propre middleware pour Tomcat? Ou ... Tomcat est-il considéré comme un middleware? Je suis un n00b total en ce qui concerne Java et Tomcat, mais j'ai beaucoup d'expérience avec C #, j'essaie donc de comprendre comment cela se rapporte à C #. Je n'ai jamais utilisé le terme "middleware". avant et je suis presque certain que "webservice" est à peu près la même chose.

Des idées?

Était-ce utile?

La solution

Toutes ces réponses sont trop verbeuses. Oui, Tomcat est un middleware. il se situe entre la couche HTML / Javascript sur le navigateur du client et la couche base de données sur votre serveur. Ce n'est pas aussi complet qu'un serveur J2EE, mais il reste un "middleware". aussi loin que le terme à la mode généralement accepté va.

Autres conseils

Le terme "middleware" est généralement utilisé pour décrire un logiciel dont l'objet est de connecter deux systèmes différents.

Si vous écrivez des services Web sur une autre application et que la troisième application communiquera avec les services Web. Alors oui, vous écrivez un middleware.

Si vous travaillez généralement dans un environnement .NET et que certains systèmes sont sur Tomcat. Ensuite, il est probable que l’autre programmeur affirmait que, pour connecter les applications .NET aux applications Java sur Tomcat, il fallait écrire un middleware. (Il a probablement raison.)

Le middleware est littéralement un logiciel qui se trouve au milieu de deux systèmes. Cela fait des choses comme si un système parle XML sur HTTP, l'autre système parle COBOL. Un middleware peut faire la traduction entre les deux systèmes.

Une grande partie du "middleware" Dans l’espace J2EE, il n’existe que des logiciels conçus au-dessus d’un conteneur J2EE. Malheureusement, tomcat n’est pas un conteneur J2EE à part entière, il n’implémente que la spécification Servlet. Par conséquent, les autres installations J2EE telles que JMS, EJB, SMTP, etc., ne sont pas prises en charge, ce qui limite sa capacité à se connecter directement à un autre système.

Toutefois, si vous travaillez avec des systèmes modernes, de nombreux logiciels peuvent être exécutés sur tomcat, ce qui vous permet de vous connecter à un autre système à l'aide d'un service Web basé sur SOAP. Dans ce cas, vous n'avez pas vraiment besoin d'un système middleware séparé.

Tout-en-un, identifiez les systèmes auxquels vous devez vous connecter maintenant, ceux dont vous avez besoin pour vous connecter dans un avenir proche, et maintenez-le stupide et simple (KISS). Ne faites pas seulement aveuglément confiance aux vendeurs qui prétendent que leur middleware produira du café et le livrera au chef de la direction quotidiennement si c'est ce qu'ils doivent dire pour réaliser la vente.

En ce qui concerne le "service Web", le service Web désigne tout service que vous pouvez appeler à partir du Web. Cela dépend donc encore une fois de votre auditoire. Si vous communiquez avec des fournisseurs externes familiarisés avec le service Web basé sur SOAP, vous aurez beaucoup de choix. Toutefois, si votre public souhaite appeler votre service en tweetant contre votre compte tweeter, il s'agit également d'un service Web.

Vous pouvez à juste titre gifler le "Middleware". étiquette sur tout ce qui a des clients et des back-ends séparés Le problème pour moi n’est pas ce que vous appelez, mais si le "ça" est ou non est la bonne architecture / technologie pour la situation.

Je pense que la réponse évidente serait "Un middleware pour que Tomcat fasse quoi?"

Si la réponse de la personne est "Se tenir entre la base de données et le navigateur", la réponse correcte est "Tomcat is middleware".

Si la réponse est "Rester entre notre serveur de sécurité et Tomcat", la réponse est probablement "OK, nous devrons vérifier si nous avons déjà ce logiciel en interne ou si nous devons acquérir ou construisez-le. "

Dans la vraie vie, quand ce genre de chose se présente, la réponse que je reçois souvent est plutôt: "Parce que j'ai lu dans un magazine que le middleware Web est la dernière technologie de pointe et que nous devrions donc l'utiliser" ou "Umm, parce que, par exemple, j'ai entendu dire quelque part que vous avez toujours besoin de middleware, de métal ou de quelque chose du genre", alors la bonne réponse est: "Lorsque vous avez identifié le problème, nous pouvons discuter de solutions. Ne décidons pas d'une solution et recherchons ensuite un problème qu'il pourrait résoudre. "

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top