2009-12-16 6 views
0

Est-ce que quelqu'un peut recommander une technologie Java FOSS appropriée pour développer un service Web avec ces exigences:Meilleures pratiques Technologie Java pour le développement de services Web?

Besoin d'interroger une base de données Oracle, de renvoyer des données XML et de prendre en charge les restaurations (il est donc probable que l'état soit maintenu).

Actuellement, j'ai un webservice écrit en PHP, mais j'ai trouvé le support de PHP pour la limitation SOAP. J'ai regardé les différentes pages de Sun Microsystems sur leurs offres de services web, mais je trouve déconcertant de choisir entre elles. Si quelqu'un pouvait recommander une direction appropriée, ce serait très utile.

+2

question similaire: http://stackoverflow.com/questions/289977/recommended-framework-for-java-web-services – miku

Répondre

2

Votre service aura de la difficulté s'il se maintient en état. Le fait même que vous le décriviez en termes de base de données et de transactions Oracle indique un problème. Commencez avec le "service" que le composant fournira et pensez en termes d'interface - les messages d'entrée et de sortie. Si vous avez raison, vous n'aurez aucun problème.

Vous allez devoir faire une décision SOAP versus REST. Si vous décidez d'aller dans le sens SOAP, je pense que la meilleure façon de développer des services Web est d'utiliser l'approche de service Web de «contrat premier» de Spring. Vous allez commencer avec un XSD pour les messages et travailler à partir de là. Vous n'êtes pas lié à un serveur d'applications de cette façon. C'est particulièrement bien si vous utilisez déjà Spring. Cela peut également vous aider à vous connecter à la base de données et aux transactions déclaratives.

0

En général, les services Web (SOAP ou REST) ​​sont sans état. La gestion des transactions a généralement lieu à l'intérieur du service lui-même. Si le travail s'est terminé avec succès, une "bonne" réponse est renvoyée et les modifications sont validées. Si le travail a échoué, le travail est annulé et une réponse "erreur" est donnée.

Pour strictement la partie service Web, je recommande AXIS (1 ou 2). Ce sont des projets Apache bien supportés qui ont des plugins pour Eclipse et d'autres IDEs. Je n'utilise pas Spring Framework, mais j'apprécie que ce soit génial pour relier tous les éléments de votre service (base de données, service web, configuration, etc.).

Questions connexes