L'architecture orientée services (SOA) est un modèle d'intégration du système informatique de l'entreprise développé pour la création et l'utilisation sur demande des processus business, implémentés sous la forme de services, flexibles, adaptables, inter connectables, interopérables et évolutifs suivant les besoins des processus métier, sans interruption des flux d'activité et information.
Le concept de service est le principe fondamental d'une architecture SOA. Les services sont les éléments de base qui fournissent les fonctionnalités à partir des qu'elles se construisent les systèmes distribués.
SOA associe des services qui déclarent leurs fonctionnalités au moyen d'interfaces qui peuvent être reconnues et interprétées par d'autres services et applications leur permettant de comprendre comment le service peut être utilisé. On peut définir un service comme une unité comportant une fonctionnalité disponible pour autant qu'elle soit définie par une interface standardisée. Le format utilisé est le WSDL.
Cette interface permet, dans un environnement SOA, d'avoir accès aux services sans connaître la plateforme sur laquelle ce service a été implémenté et indépendamment de celle-ci.
L'assemblage de ces unités de fonctionnalité permet à l'architecture orientée services de construire des systèmes informatiques complexes avec un déploiement logiciel intensif sur la base d'un ensemble de blocs de construction interconnectés et interdépendants, appelés services.
Le modèle SOA offre la possibilité de définir et d'organiser une infrastructure IT permettant à diverses applications à échanger des données et à collaborer dans les processus business.
Les fonctions fournies par ces applications sont légèrement associées, - faiblement couplées dans le jargon SOA -, aux systèmes d'exploitation et aux langages de programmation sur lesquels fonctionnent ou ont été développées ces applications.
Le concept des services, conçus comme des unités de fonctionnalités autonomes et indépendantes des plateformes à partir desquelles ils sont fournis, appelé découplage, offre un éventail potentiellement illimité dans l'assemblage de composants pour le développement de toutes sortes de fonctionnalités et d'applications métier tout en permettant de modifier et inter changer les éléments en souplesse et sans rupture de continuité dans l'activité.
SOA incorpore les avantages du couplage faible du monde de la messagerie et celui de l'encapsulation dans une interface standardisé du concept d'objet pour l'intégration de solutions d'entreprise. Il implémente avec succès des concepts en provenance du développement orienté objet (POO), du design basé sur des composants (CBD) et des technologies de l'entreprise Application Intégration (EAI) dans son approche architecturale du système d'intégration IT.
L'organisme de normalisation OASIS, définit SOA comme un nouveau paradigme pour l'organisation et l'utilisation de ressources distribués qui peuvent être sous le contrôle de divers domaines propietaires. Il fournit un méthode uniforme pour offrir, découvrir, interagir entr'êux et offre les fonctionnalités permettant d'obtenir les résultats désirés en conformité avec des pré-conditions et attentes mesurables.