SOA vs services Web
Les services Web sont utilisés pour créer des applications qui peuvent envoyer/recevoir des messages en utilisant SOAP sur HTTP. Un service Web est un ensemble publicisé de fonctionnalités offertes sur le Web. SOA est un ensemble de concepts architecturaux utilisés pour le développement et l'intégration de services. Les services Web peuvent être utilisés pour implémenter SOA. Mais ce n'est qu'une méthode unique pour réaliser des applications basées sur SOA.
Qu'est-ce que les services Web ?
Un service Web est une méthode de communication sur le réseau. Selon le W3C, un service Web est un système dédié à la prise en charge des transactions de machine à machine sur un réseau. Il s'agit d'une API Web décrite en WSDL (Web Service Description Language), et les services Web sont généralement autonomes et auto-descriptifs. Les services Web peuvent être découverts à l'aide du protocole UDDI (Universal Description, Discovery and Integration). En échangeant des messages SOAP (Simple Object Access Protocol) généralement via HTTP (avec XML), d'autres systèmes peuvent interagir avec les services Web.
Les services Web sont utilisés de plusieurs façons telles que RPC (Remote Procedure Calls), SOA (Service Oriented Architecture) et REST (Representational State Transfer). Il existe deux méthodologies de conception automatisées pour le développement de services Web. L'approche ascendante traite d'abord de la création des classes, puis de l'utilisation des outils de génération WSDL pour composer ces classes en tant que services Web. L'approche descendante consiste à définir les spécifications WSDL puis à utiliser des outils de génération de code pour générer les classes correspondantes. Les services Web ont deux usages principaux. Ils peuvent être utilisés comme composants d'application réutilisables et/ou pour connecter des applications Web s'exécutant sur différentes plates-formes.
Qu'est-ce que SOA ?
SOA (Service-oriented architecture) est un ensemble de concepts architecturaux utilisés pour le développement et l'intégration de services. SOA traite de l'informatique distribuée, dans laquelle les consommateurs consomment un ensemble de services interopérables. Plusieurs consommateurs peuvent consommer un seul service et vice versa. Par conséquent, la SOA est souvent utilisée pour intégrer plusieurs applications qui utilisent différentes plates-formes. Pour que la SOA fonctionne correctement, les services doivent être étroitement associés aux systèmes d'exploitation et aux technologies des applications sous-jacentes. Les développeurs SOA créent des services à l'aide d'unités de fonctionnalité et les rendent disponibles sur Internet. Les services Web peuvent être utilisés pour mettre en œuvre l'architecture SOA. Dans ce cas, les services Web deviennent les unités de fonctionnalité de la SOA accessibles sur Internet. Les services Web peuvent être utilisés par n'importe qui sans se soucier des plates-formes ou des langages de programmation utilisés pour les développer. SOA est directement construit sur le principe de l'orientation service, qui parle de services avec une interface simple accessible indépendamment par les utilisateurs sans se soucier de la mise en œuvre réelle de la plate-forme du service.
Quelle est la différence entre SOA et Web Services ?
Il existe des différences essentielles entre les services Web et la SOA. Les services Web définissent une technologie Web qui peut être utilisée pour créer des applications pouvant envoyer/recevoir des messages à l'aide de SOPA sur HTTP. Cependant, SOA est un modèle architectural pour la mise en œuvre d'applications basées sur des services faiblement couplés. Les services Web peuvent être utilisés pour implémenter des applications SOA. Même si l'approche de service Web de la SOA est devenue très populaire, il ne s'agit que d'une seule méthode de mise en œuvre de la SOA. La SOA peut être mise en œuvre à l'aide de toute autre technologie basée sur les services (par exemple, CORBA et REST).