D'accord, je sais que Java est une langue, mais quelqu'un m'a demandé si elle peut écrire une application Web pour interfacer avec une application Web que j'ai écrite dans ASP.NET. Je suis en train de mettre en œuvre un service Web pour servir un XML, il est donc joli langage agnostique. P>
Cependant, je ne suis pas sûr à 100% que de baisser la route Java a beaucoup de sens. J'attends une sorte d'attente de code latéral PHP ou ASP.NET serveur avec peut-être un AJAX / JavaScript ou peut-être un programme JavaScript client plus lourd à l'aide de Jscript. P>
Quelqu'un pourrait-il s'il vous plaît expliquer l'environnement Java de base lorsqu'il est livré avec WebApps? J'ai déduit ce qui suit - suis-je en train d'aboyer le bon arbre? P>
Lorsque vous utilisez Java sur le client, pouvez-vous utiliser Javabeans et y a-t-il un cadre? Peut-il aussi utiliser jscript? Je ne pense pas que Jscript est la bibliothèque JavaScript. P>
Lors de l'exécution de Java sur le serveur irait bien, il s'agit d'une application relativement petite et donc Java ressemble à un peu de surpoids. Php ou asp.net ressent un meilleur ajustement. P>
Mais je ne pense pas qu'ils devraient descendre de l'applet Java dans le navigateur et ajoute une complexité qui n'est pas nécessaire. P>
7 Réponses :
Essayons de définir des termes (pas nécessairement 100% exact, mais compréhensible) p>
JScript est le dialecte Microsoft de JavaScript et n'a rien du tout à voir avec Java. P>
Au fait, JavaScript n'a rien à voir avec Java non plus. Les seules similitudes sont les 4 premiers caractères de leur nom et une similitude superficielle dans la syntaxe. P>
Si fondamentalement: S'ils veulent écrire une application Java pour interfacer avec votre application qui fournit simplement une XML, Java est définitivement adaptée à cela. Vous n'avez besoin d'aucune des technologies Java EE pour cela. Java SE est plus que suffisant pour cela. P>
Edit: EM> Notez qu'il s'agit d'une pratique assez courante pour ne pas utiliser l'ensemble des applications Web Java EE pour (Small-ISH). Spécifiquement Apache Tomcat , qui est largement utilisé, n'est pas un serveur Java EE complet (comme requis par le Java Spécification EE), mais plutôt une mise en œuvre des normes JSP et de servlets (deux parties principales de Java EE). Il court toujours de nombreuses applications Web Java utiles, car elles n'utilisent tout simplement pas les fonctionnalités les plus complexes de Java EE. P>
En outre, JavaScript est exécuté dans le navigateur, tandis que Java Scriptlets exécutez sur le serveur (car ils font partie des pages de serveur Java).
sonne comme si vous avez une bonne manche sur les choses. P>
Vous êtes correct d'hésiter à l'aide de J2EE pour une petite application Web. J'ai trouvé ceci .NET / J2EE Comparaison des fonctionnalités utile. Notez en particulier la comparaison des coûts et de la complexité de la deuxième carte sur un projet de test développé par Microsoft et Sun. P>
Java offre une puissance considérable, mais convient mieux aux grandes applications Web. J'aurais tendance à être d'accord avec votre préférence pour ASP / .NET dans ce cas. P>
Se méfier de cela (ou en même de tout) référence. Les résultats sont quelque peu controversés. Le monde Java reçoit en réalité des cadres de CIO plus simples, JPA ... Jee est maintenant beaucoup moins lourd. Tout est vraiment difficile d'obtenir un vrai comme pour une comparaison dans l'effort de développement. Je ne suis même pas sûr de la façon dont ma propre performance varie de jour en jour. Il existe des capacités d'applications Web Java très légères et gratuites. C'est en fait assez réalisable de faire des applications Web rapides (et sales?) En Java - vous n'avez pas à utiliser toutes les fonctionnalités approximatives sophistiquées.
Désolé - la "comparaison de fonctionnalités" .NET / J2EE "est associée à être horriblement biaisée / défectueuse plusieurs fois - Onjava.com/pub/a/onjava/2001/11/28/catfight.html ou simplement Google quelque chose comme" jpetStore .Net Comparaison "pour trouver une tonne. De plus, il n'y a aucune raison que vous êtes attaché à une solution "pure J2EE" en Java - qu'en est-il du printemps mvc / hibernate? GRAVES?
Je conviens que le printemps est une excellente option, mais la question de référencer J2ee, alors j'ai supposé que c'était l'option Java qu'ils envisagaient.
Cela semble être un très bon aperçu du paysage. p>
Je suis d'accord avec votre évaluation de l'approche de l'applet, bon si vous avez besoin d'un traitement très complexe au client. Sinon HTML augmenté avec JavaScript est tout simplement bien, certains travaillent pour le rendre portable à travers les navigateurs. P>
Les aspects latéraux du serveur sont la résolution de la MOE. Si la personne consommant votre service Web est déjà java-fluide et peut-être déjà l'infrastructure d'applications Web en place, il n'y a aucune raison de s'inquiéter de l'utilisation de Java. P>
Donc si ils em> l'écrivent, laissez-les simplement le faire. p>
D'autre part vous em> Un programmeur .NET est demandé à une compétence à Java, je pense que cela n'est pas évident (et je suis Java à mon noyau bleu) si je voulais un rapide et Approche facile pour faire un site Web dans une situation de champ vert J'utiliserais quelque chose comme PHP ou Smash P>
L'avantage de Java dans un sens de Je suis ou, je suppose, une approche .Net pleine-tête est que vous obtenez une solution évolutive, clubérable, administrable (est-ce un mot?) Solution. Ce n'est pas parce que la fonction est petite et facile, ne supposez pas qu'il ne sera pas lourdement utilisé. P>
Je n'ai pas été invité à approuver Java comme tel, mais je serai considéré comme le propriétaire de l'interface XML, tout problème qu'ils ont consommé pourraient être classés (injustement mais heck, la vie n'est pas juste) comme mon problème . Ils veulent certainement "conseiller dans la manière de la mettre en œuvre" ...
java lorsque vous exécutez comme ASP.NET s'appelle JSP P> blockQuote>
Ceci est une sorte de true - une page JSP traditionnelle est beaucoup comme une page ASP classique. Il n'y a pas de "codebehind" comme vous avez avec ASPX. p>
La grande différence dans Java est que le cadre Web est basé sur des objets appelés Servlets. Un servlet est un peu comme un ASP.NET "AXD" en ce sens qu'il gère des demandes http brutes (obtenez-vous, post, etc.) et épine une réponse. P>
Au-dessus de ce servlet "Base" sont de nombreux autres cadres - JSP en est l'un d'entre eux (les JSP sont finalement compilées par le serveur dans Servèle). JSF, Struts, Tapestry et de nombreuses autres sont également construits sur cette base. Dans le monde .net, vous avez vraiment deux choix - ASP.NET (pages .aspx avec codeBeHind) ou .NET MVC. La plupart des cadres Web Java sont plus similaires .NET MVC, bien que (comme je le comprise) JSF ressemble plus à ASP.NET P>
JavaBeans est un peu comme le .NET cadre, c'est-à-dire c'est une bibliothèque de Composants réutilisables P> blockQuote>
Pas vraiment. Ce que vous envisagez d'est J2SE, qui est le cadre de base sur lequel toutes les applications Java sont construites - possède les classes de collecte, les sockets, la sécurité, etc., etc. JavaBeans n'est qu'une spécification pour savoir comment écrire des objets de type DTO (nommage standard pour getters et setters, etc.) p>
java ee est un peu comme ASP.NET dans ce C'est un cadre pour la construction de web pages sur un serveur p> blockQuote>
Ceci est plus ou moins correct. J2EE est une extension de J2SE pour faire du développement Web (ainsi que des EJB qui constituent une boule de cire globale qui n'a pas vraiment d'équivilent direct à .NET) P>
Java peut également exécuter sur le client mais il a besoin de l'installation de Java VM P> blockQuote>
Oui, c'est vrai. Tout comme vous pouvez utiliser .NET pour développer des applications de bureau ou Web, vous pouvez utiliser Java de la même manière. Et dans les deux cas, une exécution est requise (que ce soit le Java VM ou la structure .NET) P>
Quant à votre évaluation sur l'utilisation de Java vs. PHP vs.net, j'ai travaillé avec chacun d'eux, et je dirais que Java est le plus complexe, mais aussi très puissant pour les applications très grandes. PHP sera le plus facile de loin et est idéal pour les petites applications, mais peut devenir désordonné quand les choses deviennent plus grandes. ASP.NET a un bon équilibre. Un peu plus plus complexe que PHP, mais aussi beaucoup plus puissant. P>
Merci pour le dernier paragraphe. C'est une alternative front-end de www.whatpub.org, il n'y a aucune mission cruciale ou susceptible d'être très utilisée. Comme je suis ASP.NET, alors c'est la voie naturelle, mais s'ils veulent utiliser PHP, alors bien, ne vous attendez pas à beaucoup de failles de ma part.
Ce n'est pas tout à fait clair pour moi si vous écrivez le site Web ou il est déjà écrit et que quelqu'un veut simplement l'utiliser? P>
S'ils veulent juste appeler votre service Web, c'est un langage agnostique de sorte que cela n'aurait pas d'importance quelles langues / bibliothèques qu'ils utilisent. P>
Si vous écrivez le service WebService, encore une fois, cela n'a pas d'importance que votre langue que vous utilisez, choisissez-en une seule avec et possède une belle bibliothèque. P>
Si vous décidez d'utiliser Java, j'ai de l'expérience avec Axis2 et c'est calme simple une fois que vous obtenez ta tête autour de ce que ça fait. Vous pouvez écrire un objet pojo (objet de java uni) et dire à l'axe, c'est ce que vous voulez exposer. Chargez-le sur Tomcat ou quelque chose de similaire et vous êtes prêt à partir. P>
Je vais écrire le service Web - pour le moment, nous définissons simplement la structure de l'échange de données XML. Bien que ce soit langage agnostique, je suppose que je serai envoyé des fragments de code quand cela ne fonctionne pas
La réponse courte - à la question que vous n'avez pas posée :) - est: Java devrait bien fonctionner. Si Java est ce que votre client / partenaire / quel que soit le plus à l'aise en utilisant, laissez-les * l'utiliser. p>
Spécifiquement: P>
Si vous avez écrit un service Web de savon ordinaire avec WSDL, une application Java n'aurait pas de mal à ne pas avoir de difficulté à y parler. J'ai écrit des clients Java qui parlent à des services Web .NET et de clients .net qui parlent aux services Web Java et, alors qu'il y a toujours un peu de violation impliquée, il n'y a pas de problème sérieux, à moins que les services n'envoient des objets binaires intégrés ou autre chose non standard comme ça. p> li>
Si vous venez d'écrire quelque chose qui sert XML brut sur HTTP, Java ne devrait pas avoir de plus de problèmes avec cela que .net. P> li> ul>
Java n'est pas nécessairement plus lourd que PHP ou ASP.NET, si vous utilisez un serveur léger comme Jetty . Aucun applets de navigateur n'a besoin d'être impliqué. Et Java a des bibliothèques solides et stables pour parler aux services Web. (PHP aussi, mais je serais surpris si les java n'exercent pas beaucoup plus fortement.) P>
Pour vos autres questions, vous voudrez peut-être jeter un coup d'œil à l'article Wikipedia ". Cadre NET: .NET vs. Java et J2EE ." P>
* S'ils veulent vous em> écrire leur fin service Web, c'est un jeu de balle complet. Peut-être qu'ils ont des infrastructures Java existantes, elles ont vraiment besoin de réutiliser - auquel cas je suggérerais de ramasser un bon livre de base comme O'Reilly's Head First Servlets et JSP - mais sinon, si .NET est votre expertise, c'est ce qu'ils devraient vous laisser utiliser. S'ils n'aiment pas Microsoft, dites-leur de leur faire courir sous Mono . < / p>
Quelles sont les chances de trouver un service d'hébergement bon marché pour Java? Php & asp.net sont partout. Pas si sûr de Java.
Cela doit-il vraiment être Java? Peut-être que vous pourriez écrire une petite application Web à l'aide de Jruby ou de Groovy qui consomme votre service Web ASP.NET. Il y a des outils (.ie. Apache CFX) dans Jruby, Groovy et Vieux Java uni qui vous permet de consommer votre WSDL pour créer des clients à la volée. P>
Cela dit, il est difficile de donner une bonne suggestion sans savoir exactement comment ce client Java est censé être utilisé. S'agit-il d'interfacer avec les utilisateurs réels ou est-ce comme un travail de lot? p>
Si c'est le plus tard, vous pouvez frapper cela rapidement avec Java ou Jruby / Groovy. Étant donné que les dernières technologies peuvent être compilées dans des pots, ils peuvent courir sur la JVM. P>
S'il va être confronté aux utilisateurs, vous devez également créer un client Web ou un client épais. P>
Pour le premier, vous pourriez aller à la route Jruby / Groovy et créer une petite application Web, que vous pouvez déployer sur une jetty / gishfish Down Down / Tomcat App. Ou vous pourriez aller à la voie Java et utiliser l'un des nombreux cadres. P>
Indépendamment du choix de langue JVM, il est beaucoup plus simple de créer une application Web qu'un client épais. Créer un client d'interface graphique non trivial avec Java avec une bonne conception de l'interface utilisateur n'est pas une tâche triviale malheureusement. J'ai travaillé avec des clients Web et épais, et cela a été mon expérience (YMMV). P>
Je ne serais pas trop inquiet de penser à la surcharge d'utilisation d'un conteneur Web. Vous pouvez exécuter une application Web maigre et moyenne dans un conteneur d'environ 500 mg (qui devrait être une chute de l'eau pour un serveur.) P>
Et si vous vous tenez vraiment à des servlets simples et sans JSP (c'est-à-dire que le servlet crée la sortie HTML) Vous pouvez utiliser un récipient de servlet vraiment méchant et minuscule comme TJWS , LWS ou Winstone qui peut fonctionner avec moins de 1 Mo. p>
J'espère que cela aide. P>