Question

Je me suis opposé à tout investissement dans ma carrière personnelle pour apprendre quoi que ce soit sur cet acronyme, car mon domaine de travail particulier ne l'exige pas. Je suis curieux de savoir si cela vaudrait la peine ou s'il s'agit d'une autre lubie informatique qui finira par s'éteindre.

Était-ce utile?

La solution

C’est une lubie en ce sens que pendant un certain temps, certains diront que "tout doit désormais être en SOA". Après quelque temps, les avantages de la SOA resteront, tandis que ceux qui sont plus controversés ou moins utiles s’effondrent.

Autres conseils

C'est les deux.

Architecture orientée services , d'un point de vue technique réel, présente des avantages et des inconvénients . C’est couplé de manière lâche, ce qui est bien, car avoir "de petits morceaux, joignant lâchement" est la stratégie de conception solide qui a fonctionné pour Unix et qui compte de nombreux promoteurs parmi les ingénieurs en logiciel.

Cependant, comme tout autre logiciel, il nécessite une conception très soignée: vous pouvez avoir une mauvaise SOA tout comme vous pouvez avoir une mauvaise chose, et comme le domaine est plus récent, les meilleures pratiques ne sont pas encore bien définies. . Il présente également généralement des performances bien inférieures à celles d’autres approches architecturales. À ce stade, la plupart des grands acteurs (tels que Google) semblent penser que cela convient mieux à l'interopérabilité de différents systèmes (leur Les API sont pratiquement la définition de SOA), mais pas pour l'architecture interne d'un système unique (ils utilisent leur propre Tampons de protocole pour cela).

La SOA est un phénomène de mode pour les gestionnaires qui ne connaissent pas vraiment l’ingénierie. Ils l’apprécient car a) ça sonne comme neuf et chaud, et b) ça a le mot "service" dans ce qui les fait se sentir utiles. Demandez à la moitié d’entre eux quelle est la différence entre un "centre de services". et une " architecture orientée service " est, et ils auraient du mal à vous dire.

C’est un moyen formidable pour les vendeurs d’outils de vous amener à acheter beaucoup de choses (par exemple, ESB), aux consultants de facturer beaucoup d’heures facturables et à Gartner de fournir plus de Magic Quadrants.

Je pense que ce n'est pas vraiment une "lubie"; C'est plus une évolution d'une idée qui existe depuis l'arrivée des réseaux: les composants distribués. CORBA et DCOM étaient deux architectures de composants distribués qui étaient propriétaires. SOA utilise HTTP comme protocole filaire commun pouvant passer par le port 80 des pare-feu. Toutes les autres normes telles que XML, WSDL, etc. tentent de les rendre détectables et automatiquement comprises par les clients. Il est important de comprendre les idées derrière tout cela et de ne pas être trop pris dans le battage médiatique.

Cela semble fonctionner pour Amazon, Yahoo !, etc. Il pourrait également y avoir quelque chose à propos de simples mortels comme nous.

Je vois des soucis:

La

latence est fournie avec des composants distribués. Si tout est un service, communiquant via un bus de services d'entreprise pour un meilleur découplage, comment peut-il être rapide? Nous risquons de créer une belle entreprise de découplage.

Le design est difficile. Personne ne peut s'entendre sur ce qui constitue un service. Combien doit en avoir votre entreprise? Dizaines? Des centaines? Milliers? Quel doit être leur grain?

Si votre employeur finance traditionnellement le travail selon un modèle de projet, comment des services à longue durée de vie peuvent-ils s’intégrer dans ce moule?

La chose la plus importante à comprendre à propos de la SOA est que ce n'est pas vraiment une technologie, mais un moyen d'organiser l'infrastructure informatique comme un ensemble de services réutilisables pouvant être combinés, plutôt que comme la norme actuelle d'un ensemble d'applications nécessitant des ressources supplémentaires. effort d'intégration si nécessaire.

Bien sûr, faire ce travail nécessite de la technologie, mais "apprendre". ou acheter cette technologie n'a pas de sens si vous ne réorganisez pas votre informatique de cette façon.

Je pense que l’idée de base de la SOA est valable et qu’elle va rester (même si elle n’est peut-être pas utile dans tous les contextes). La technologie SOA, en revanche, est un phénomène à la mode qui mourra.

Personnellement, je dirais que c'est une mode. Le nuage est grand en ce moment, tout comme les ordinateurs centraux, mais les ordinateurs de bureau sont arrivés et ont pris le relais. Maintenant nous retournons au gros fer ...

Je travaille pour une société de fabrication de matériel médical et de logiciels, et la SOA n’est pas une mode, c’est une nécessité. Les progrès dans ce domaine sont lents à cause des systèmes existants et des coûts associés à la création d'un système aussi ouvert.

Un autre aspect de la discussion est de savoir si votre entreprise envisage de créer une suite de produits ou tout simplement un seul produit.

Il n’existe pas de mode, ni de concept, ni d’idée, si l’on y réfléchissait et que quelque chose s’avérait être une bonne solution, ce n’est pas une mode. Bien que, si vous achetez une Ferrari et que vous courriez sur une piste en terre battue avec la main cassée, c’est bien sûr une mode. Un couplage lâche est vital aujourd’hui. Tout consultant expérimenté ou programmeur ayant travaillé directement avec un client vous dira que les choses changent constamment et que rien n’est jamais passé comme il a été discuté lors de la première analyse. Selon mon expérience, les principes SOA avaient fait leurs preuves. 100% de mes clients qui travaillaient avec d'autres programmeurs m'ont dit qu'à un moment donné, l'autre homme avait décidé de tout recommencer à un moment donné ou avait déclaré qu'une certaine demande était impossible à mettre en œuvre. La SOA est la meilleure solution pour les clients difficiles, et la plupart des clients sont difficiles. Ce que vous devez faire, c'est maintenir le sens de la mesure. ESB est une bonne chose si vous avez 100 succursales dans 30 pays et prévoyez une croissance rapide. Les soi-disant consultants en logiciel d’aujourd’hui et les vendeurs de logiciels sont, à mon avis, des types qui n’ont jamais écrit une ligne de code dans leur vie, ils ne se sont jamais vus eux-mêmes le processus d’analyse, de développement, de livraison, de gestion des demandes de changement et toutes les boucles. C'est la raison pour laquelle, aux yeux des vrais développeurs de logiciels, ils semblent parler de manière fictive. Bien sûr, ils parlent de manière fictive, mais c'est parce qu'ils ne savent pas de quoi ils parlent, pas parce que la chose dont ils parlent est fausse. À mesure que le temps passe et que les applications Web et le cloud computing prennent le dessus, de plus en plus de SOA deviendront de plus en plus solides, car il n'y a pas d'alternative à la communication système-à-système, compte tenu de la multitude de plateformes, de systèmes d'exploitation, de langages de programmation et bien sûr programmeurs. Ne vous laissez pas égarer par le tapage causé par l’ignorance des autres qui l’aiment juste parce qu’ils aiment le mot.

En ce qui concerne le problème de la lenteur, je vais vous donner un conseil: essayez de communiquer via JSON, vous n’en croirez pas vos yeux;).

En supposant que vous entendiez «architecture orientée service», certaines applications sont utiles, mais elles vont et viennent comme toute autre mode. Comme pour tout marché de ce type, il existe une fenêtre en cas de pénurie de main-d’œuvre qualifiée. Si vous arrivez au bon moment, vous pouvez vous en tirer très bien. Au moment où les médias grand public se mettent à la mode, vous êtes probablement trop en retard, car tous les autres Tom, Dick et Harry décriront les opportunités du marché.

Si vous travaillez dans un domaine où la SOA est pertinente, ne vous gênez pas.

À bien des égards, ce sont les mêmes concepts que les applications distribuées, qui étaient à la mode avec plusieurs générations de technologies (SNA, Sun RPC, DCE, CORBA, EJB, DCOM et maintenant les services Web).

Sous d’autres aspects, on peut considérer les systèmes d’orchestration comme un moyen d’intégrer des composants dans une application complète. Si vous avez une série de composants qui exposent des services utiles, vous pouvez créer une architecture d’application agréable et flexible.

Une fois que la poussière sera retombée, les applications les plus meurtrières de SOA deviendront évidentes. Je dirais que la fenêtre dans laquelle on peut facturer des frais de consultation disproportionnés pour savoir comment épeler SOA est probablement en train de fermer. Apprenez-le si vous voulez l'utiliser pour quelque chose ou si vous voyez une synergie utile avec d'autres compétences ou expériences où cela pourrait se combiner pour rendre quelque chose vendable. Sinon, obtenez une vue d'ensemble et approfondissez vos connaissances lorsque vous en avez besoin.

Si un "engouement" est "une mode qui est adoptée avec un grand enthousiasme pendant une brève période de temps; un engouement. " alors SOA n'est pas une mode. La SOA existe depuis un certain temps - depuis les RPC basés sur SOAP (c'est-à-dire les services Web XML). Cela fait quelques années depuis, et au lieu de disparaître, SOA n'a prospéré que dans son incarnation WCF. Je dirais donc que la SOA est loin d’être une lubie.

Je ne pense pas que ce soit vraiment une lubie. La création de systèmes ouverts pouvant interagir avec d'autres systèmes est plus difficile que la création de systèmes fermés. Je pense que cela sera toujours vrai.

Si vous transférez des données avec des "protocoles" normalisés tels que XML Soap, les performances sont également réduites.

La SOA n’est pas une mauvaise technologie. En fait, je pense qu’elle est généralement mal appliquée et mal interprétée. Certains scénarios conviennent parfaitement à la SOA.

Mais il existe certains endroits pour éviter la SOA. Pour info, l’un des inconvénients de la SOA est qu’elle est généralement lente.

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