Désolé pour la question très complexe, mais c'est quelque chose que je recherche depuis un moment et c'est vraiment frustrant pour moi. Je me sens comme dans l'âge d'aujourd'hui, nous avons un million et une façons de mettre en œuvre des services qui sont multi-plateforme (SOAP) et facile à construire (grâce à .NET, java, et d'autres cadres). Cependant, ces technologies ont été dans la communauté pour les 5-10 ans, mais nous sommes (ou tout au moins je suis) constamment aux prises avec les mêmes problèmes:Dilemme SOA/ESB
- Identification (services de suivi) - UDDI; Par exemple, il a fallu rappeler à un collègue les 3 fois ce mois où un service est présent, malgré le fait qu'il existe un wiki qui traite du service et une version PDF de la même documentation qui se trouve dans un référentiel où nous conservons nos documents de service. .
- Évolutivité - Mise en grappe prête à l'emploi; En tant qu'organisations, nous dépensons beaucoup d'argent pour payer nos administrateurs juste pour regarder l'utilisation de nos services et prendre des décisions comme, est-ce que ce service a besoin de plus de RAM, plus de CPU, plus d'interfaces? Comment puis-je équilibrer la charge?
- Surveillance - enregistrement des erreurs, etc; Je ne peux pas compter combien de fois je dois configurer le traçage sur les services afin de voir pourquoi un bogue se produit qui semble affecter seulement un client, ou doit coder la logique dans le service pour sérialiser des exceptions, enregistrer des exceptions à dbs, échoue gracieusement, etc.
- Déploiement - facile à déployer; aucun de ce déploiement de DLL pour charger 5 serveurs équilibrés
Chacun de ces problèmes nécessite un certain type de solution personnalisée implémentée par l'organisation. Documentation et UDDI pour # 1. Matériel de virtualisation et d'équilibrage de charge/logiciel pour # 2. Traçage, écriture d'exceptions aux bases de données/journaux, etc. pour # 3. Logiciel de déploiement personnalisé pour # 4. Je travaille pour une organisation de taille moyenne. Je ne peux même pas imaginer comment une entreprise de la taille de Sun, Google ou Microsoft pourrait s'attaquer à ces dilemmes. Peut-être que ma vision est irréaliste, mais je rêve d'avoir un cadre en soi qui vit au sommet d'un cluster de serveurs qui gère tout ce qui précède. J'étais ravi de lire sur AppFabric de Microsoft, car il semble vraiment étendre certaines fonctionnalités de BizTalk aux implémenteurs de service WCF: Caching, Hosting, Monitoring, etc. Cependant, d'après ce que j'ai vu, je ne pense toujours pas qu'il vit jusqu'à mon rêve pour une solution tout-en-un qui aide le développeur et l'organisation à écrire des services qui sont facilement mis à l'échelle des clusters, déployées dans le cluster facilement et identifiables, éventuellement même versionnables. Donc, je ne veux pas dire que ce post concerne mon rêve. J'ai effectivement une question. Pour commencer, mon rêve/vouloir est-il complètement irréaliste? En outre, quelles sont les solutions disponibles qui tentent de résoudre ces problèmes sans nous confiner à une nouvelle manière plus exclusive (BizTalk) de développer des services? Enfin, en ce qui concerne une solution SOA/ESB complète, où voyons-nous le plus de potentiel sur le marché, maintenant ou dans le futur?