59 votes

Qu'est-ce que l'architecture SOA (Service Oriented Architecture)?

Appelez-moi un troll si vous voulez, mais je suis sérieux -- comment exactement est la nouvelle SOA tendance toute différente de celle que le client-service d'architecture que j'ai été la construction de 15 ans? J'entends SOA mais je ne vois pas en quoi c'est différent de ce que nous avons toujours fait. De retour de 10 ans ,y société avait plusieurs clients (en plusieurs langues), qui a parlé pour le même service. Il n'était pas XML (c'était un protocole binaire appelé Microsoft DCOM) et il n'y avait pas d'auto-découverte à travers WSDL mais c'est OK, puisque la lecture de la documentation a été tout aussi facile. Notre système a même été "ouvert" dans le sens que nous documenté-il suffisant pour permettre à la 3ème partie de parler à nos services. Nous n'avons pas été les pionniers -- tous les autres que je connaissais il y a 10 ans était en train de faire la même chose. La SEULE différence que je vois entre alors et maintenant, c'est que maintenant il n'y a qu'un seul service disponible sur internet, alors qu'il y a 10 ans, chaque client qui serait l'hôte de sa propre instance du service. Mais ce n'est pas une architecture -- où le service physiquement vie est transparente à toute personne utilisant le service.

Alors, quelle est exactement la SOA qui est différente de ce que nous avons fait pendant des années? Est SOA simplement un terme marketing qui représente une meilleure pratique devenue courante il y a très longtemps? Ou suis-je en manque quelques une subtile de SOA qui est différente de ce que nous avons fait tout le long?

88voto

Michael Borgwardt Points 181658

Oublier XML. Oublier WSDL. SOA n'est pas une technologie, vous pouvez acheter, mais il est souvent commercialisé de cette façon.

Le véritable point de SOA est tout au sujet de l'organisation. Le point de la SOA est pour éviter d'avoir un énorme tas de "applications" qui ont isolé des pools de données et de ne pas parler les uns aux autres (et donc souvent de données en double), ou seulement dans un inefficace, buggy chemin à travers l'adaptateur de couches ou EAI systèmes.

Pour les grandes entreprises, c'est un problème sérieux - qu'ils ont des centaines d'applications, qui sont insuffisamment intégrées. Il y a en double et les données incohérentes partout et le résultat est que les clients obtiennent énervé et en argent réel est perdu parce que le service de facturation de l'continue à envoyer des factures pour l'annulation de la commande et le service à la clientèle rep ne pouvez même pas trouver la commande parce que c'est annulé dans le système de suivi des commandes, mais pas le système de facturation.

SOA est censé résoudre ce problème en concevant chaque application à partir du sol jusqu'à publier ses services dans un format normalisé, de la croix-platfrom, de sorte que d'autres applications puissent accéder aux données et ne pas avoir à dupliquer.

À partir d'un point de vue commercial, cela est très souhaitable. Le mot d'ordre de l'exagération et le sigle de la soupe est juste, les entreprises tentent d'encaisser sur cette opportunité. Malheureusement, cela n'a (sig)ont conduit de nombreuses personnes, y compris les chefs de la direction en leur faisant croire que la SOA est un produit que vous pouvez acheter et il va automatiquement faire de votre plus efficace, sans se rendre compte que cela ne se produira si vous aussi réorganiser l'ensemble de votre (et peut-être vos unités d'affaires), pour être SOA-compatible.

14voto

Chris Kaminski Points 5774

Permettez-moi d'utiliser le fameux bouc émissaire de l'Intégration de l'Enfer: Telco.

Chemin du retour dans les années 90, les entreprises de téléphonie cellulaire ont été pléthorique dans mon quartier, presque aussi nombreux que la longue distance revendeurs rendue possible par le service des communications de la déréglementation du milieu des années 90. Eh bien, le temps passe, et de Bell Atlantic devient la centrale, c'est-à Verizon, et engloutit société après société (et au moins un enfant de Bell). Chacune de ces entreprises a des technologies en place, dans les tours, dans l'équipement de commutation, dans les systèmes de facturation qui sont TOTALEMENT incompatibles les uns avec les autres.

De sorte que la société s'en va et dit, d'accord, nous avons ces modèles pour la façon dont nous faisons des affaires, il faut mettre une ambiance conviviale, cohérente visage sur l'ENSEMBLE de notre technologie dans le formulaire de WSDL/SOAP/XSD chaque langue et le système que nous avons aujourd'hui peut être interfacé à ce! Lentement mais sûrement, la société a fait l'ensemble de systèmes capables de rapports sur les capacités, les cours de l'interrogatoire de charge et de facturation, et exposés pour de futures visionnaires à exploiter dans les mœurs qui n'ont pas été pris en compte pour le moment.

N'importe qui peut construire une SOA client. N'importe qui avec wget et un éditeur de texte. Et n'importe qui peut analyser les résultats (XML).

Qu'est ce qui est fondamentalement différent du passé, des architectures clients/serveurs. Je viens de dire, l'autre jour, quelqu'un sur l'interfaçage avec Cobol et Smalltalk systèmes à la base d'architectures SOA. C'est un problème facile à résoudre. Dites-moi, vous pouvez dire la même chose pour votre DCOM systèmes.

12voto

edutesoy Points 3024

SOA est rien, mais une sorte de conception, dans lequel les modules comunicates avec les uns des autres par le biais de "services". C'est juste que, et maintenant, la prochaine question est: quel est exactement un "service" et quelle est sa différence avec une "méthode"??

Un service est une opération qui ne fait qu'un seul, atomique fonctionnement de l'entreprise. Cette atomicité rendre hautement réutilisables à partir de plusieurs modules. Puis un complexe d'affaires de l'opération est juste le orchestation de la invokation de plusieurs de ces services dans un ordre spécifique.

SOA n'a rien à voir avec la technologie spécifique, est juste une façon particulière de concevoir.

7voto

nik Points 8025

Le professeur Frank Leyman, de l'Université de Stuttgart prend SOA comme un concept clé pour son Service oriented Computing (SOC) des travaux de recherche qu'il parle de la SOA. Il est demandé au sujet de la définition de la SOA et la conversation qui s'ensuit peut être une bonne lecture.

Veuillez noter que notre feuille de route est sur le "service oriented computing (SoC)", c'est à dire le calcul de paradigme derrière orientation service. L'Architecture Orientée Service (SOA) est une architecture de la réalisation de ce calcul paradigme. Vous pouvez comparer cela avec "informatique client/serveur" comme paradigme et "navigateur/serveur" ou "DB-client/procédure stockée" en tant que deux (de diverses autres) réalisations architecturales de ce paradigme.

...

SOA n'est pas complètement nouveau. Certains aspects de la SOA sont utilisés dans la pratique pendant une longue période. Par exemple, regardez le "couplage lâche": les Entreprises sont à l'aide de la messagerie fiable de la technologie depuis des décennies pour intégrer des applications, c'est à dire de manière lâche couple. Ne m'obtenez pas le mal, il y a de nouveaux concepts SOA, par exemple, les concepts résultant de la combinaison de concepts mis en SOA, c'est à dire qu'ils résultent de l'émergence.

Web Service, les spécifications et les technologies à la disposition de la croix-plate-forme. I. e. les cahiers des charges correspondants n'inventons pas, fondamentalement, de nouveaux concepts, mais de définir comment ces concepts et implémentations correspondantes de travail dans des environnements hétérogènes. L'résultant de l'interopérabilité est révolutionnaire, en faisant SOA réel.

En résumé, l'architecture est un mélange de maturité des choses et de l'émergence de nouvelles choses.

Il y a aussi un SoC document de référence en date d'avril 2006.


Une recherche sur google identifie Prof. Frank Leyman, et ses œuvres.

4voto

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X