Vous voulez en savoir plus, en voici une description succinte, avec un diagramme UML.

List<Person> personInFamily = asList(new Person("Domenico"), new Person("Mario"), new Person("Irma"));
forEach(personInFamily).setLastName("Fusco");
Comment SOA peut faire évoluer ce scénario ? A la première étape d’SOA, nous avons besoin d’identifier les unités de fonctionnement de notre systèmes afin d’en faire des services. Pour simplifier, on peut dire que chaque système (inventaire, paiement, etc…) est un service simple. Mais dans la vie courante, on pourrait identifier plusieurs services au sein d’un seul ou, exposer des fonctionnalités de plusieurs systèmes comme un seul service. Une fois les services identifiés, on doit les implémenter comme des services standards. Une façon de faire, la plus recommandée, serait de créer des web services. Il existe beaucoup de produits qui vous aideront à créer et déployer des web services et à automatiser ce processus à plusieurs niveaux. WSO2 Web Services Application Server peut être très utile dans cette phase d’implémentation de SOA. Ces web services devraient remplacer l’ancien système (en cachant leur complexité interne) et exposer, les fonctionnalités attendues ainsi que leur définition. Une fois cette étape franchie, nous disposons d’un ensemble de services, dont la définition des fonctionnalités est connue (en utilisant WSDL) et qui communique en utilisant des protocoles connus (comme SOAP).
La prochaine étape est de les faire marcher ensemble pour exécuter des opérations métier. Pour cela on peut utiliser les Business Process Management Systems (BPMS). Un processus métier se définit en spécifiant comment contrôler le flux entre les différents systèmes (et utilisateurs) et les données utilisées en entrée et sortie de chaque système. Une fois que le processus métier est défini, on peut le déployer dans un BPMS qui l’exposera en tant que service. Donc, la seule chose que notre interface web a à faire est d’appeler le web service dans notre BPMS avec les paramètres requis. De plus, il existe plusieurs solutions de BPMS, qui peuvent être utilisés pour mettre en place cette solution. Particulièrement, le WSO2 Business Process Server fournit nombre de fonctionnalités pour simplifier le déploiement et la gestion des processus métier.
Maintenant, examinons comment cette approche basée sur SOA améliore le processus par rapport aux anciennes méthodes. Premièrement, nous avons standardisé les interfaces de chacun des systèmes. Cependant, d’autres systèmes peuvent communiquer avec les notre grâce au même protocole (même modules client). Et leur fonctionnalités sont définies dans un format prédéfini (WSDL), donc n’importe quel système externes peut comprendre ce qu’ils font. Puis, nous avons bougé la logique métier vers un BPMS. Les processus sont définis en utilisant des fichiers plats (fichiers textes) dans le BPMS. Il est donc très facile de changer et redéployer les processus métier selon les demandes de changements. La plupart des BPMS disposent d’interfaces graphiques pour amplifier la simplification de ce processus. L'introduction d'une nouvelle activité économique est également plus simple dans cet environnement. Il faut seulement écrire un nouveau processus et le déployer dans le BPMS. Il sait déjà de quelle manière communiquer avec les systèmes existants (puisque ce sont des webservices) et toute l’infrastructure déjà en place. Ceci est décrit dans le diagramme ci-dessous.
C’est un exemple simple de la manière dont SOA peut vous aider à améliorer vos opérations. Comme il est dit plus haut, l’application d’SOA varie selon des scénarios et des conditions.