(Ajoutez vos captures d'écran ici)
🇬🇧 English | 🇫🇷 Français
This project consists of SOAP Web Services and a client application designed to calculate life expectancy and age. It utilizes Java (Jakarta EE) and Maven.
SOA (Service-Oriented Architecture) is an architectural style that supports service orientation. It organizes software design around services—discrete units of functionality that can be accessed remotely and acted upon and updated independently, such as producing data, validating a customer, or providing simple analytical services.
Key characteristics:
- Reusability: Services can be used by multiple applications.
- Interoperability: Services communicate via standard protocols (like SOAP) regardless of platform.
- Loose Coupling: Services are independent of each other.
SOAP (Simple Object Access Protocol) is a protocol for exchanging structured information in the implementation of web services. It uses XML (eXtensible Markup Language) as its message format and relies on application layer protocols, most often Hypertext Transfer Protocol (HTTP), for message negotiation and transmission.
Key characteristics:
- Strict Standards: Defined by the W3C.
- XML-Based: Messages are formatted in XML.
- WSDL (Web Services Description Language): Describes the service's interface (methods, arguments, return types).
The project is divided into three main modules:
lifeleft: A SOAP Web Service (WAR) that calculates how many years a person has left to live based on their gender and birth year.age: A SOAP Web Service (WAR) for age calculation, generated from a WSDL definition.leftlifeclient: A Java Client application that consumes thelifeleftweb service.
- Java: JDK 17 or higher.
- Maven: Apache Maven 3.8+ for building the project.
- Application Server: A Jakarta EE compatible server like GlassFish 7+ or Apache Tomcat 10+ (supporting Jakarta EE 10/Servlet 6.0) to deploy the WAR files.
- Clone the repository (or download usage).
- Build the services and client:
Navigate to each folder and run:
mvn clean install
- Deploy
lifeleft/target/lifeleft.warandage/target/age.warto your application server (e.g., GlassFish). - Ensure the services are running. The WSDLs should be accessible at:
http://localhost:8080/lifeleft/LifeLeft?wsdlhttp://localhost:8080/age/AgeService?wsdl(URL may vary based on deployment context).
Before running the client, make sure the lifeleft service is deployed and running.
Navigate to leftlifeclient and run the main class Main.java or use Maven:
cd leftlifeclient
mvn exec:java -Dexec.mainClass="Main"Note: You might need to update the WSDL URL in the client configuration if your server port differs from 8080.
Ce projet est composé de services Web SOAP et d'une application client, conçus pour calculer l'espérance de vie restante et l'âge. Il utilise Java (Jakarta EE) et Maven.
L'Architecture Orientée Services (SOA) est un style architectural qui soutient l'orientation service. Elle organise la conception logicielle autour de services : des unités fonctionnelles discrètes accessibles à distance, pouvant être utilisées et mises à jour indépendamment (comme la production de données, la validation d'un client ou la fourniture de services analytiques simples).
Caractéristiques clés :
- Réutilisabilité : Les services peuvent être utilisés par plusieurs applications.
- Interopérabilité : Les services communiquent via des protocoles standards (comme SOAP) indépendamment de la plateforme.
- Couplage Faible : Les services sont indépendants les uns des autres.
SOAP (Simple Object Access Protocol) est un protocole d'échange d'informations structurées dans la mise en œuvre de services web. Il utilise le XML (eXtensible Markup Language) comme format de message et s'appuie sur des protocoles de la couche application, le plus souvent HTTP, pour la négociation et la transmission des messages.
Caractéristiques clés :
- Standards Stricts : Défini par le W3C.
- Basé sur XML : Les messages sont formatés en XML.
- WSDL (Web Services Description Language) : Décrit l'interface du service (méthodes, arguments, types de retour).
Le projet est divisé en trois modules principaux :
lifeleft: Un service Web SOAP (WAR) qui calcule combien d'années il reste à vivre à une personne en fonction de son sexe et de son année de naissance.age: Un service Web SOAP (WAR) pour le calcul de l'âge, généré à partir d'une définition WSDL.leftlifeclient: Une application Java Client qui consomme le service weblifeleft.
- Java : JDK 17 ou supérieur.
- Maven : Apache Maven 3.8+ pour la construction du projet.
- Serveur d'Application : Un serveur compatible Jakarta EE comme GlassFish 7+ ou Apache Tomcat 10+ (supportant Jakarta EE 10/Servlet 6.0) pour déployer les fichiers WAR.
- Cloner le dépôt (ou télécharger).
- Compiler les services et le client :
Naviguez dans chaque dossier et exécutez :
mvn clean install
- Déployez
lifeleft/target/lifeleft.waretage/target/age.warsur votre serveur d'application (ex: GlassFish). - Assurez-vous que les services sont en cours d'exécution. Les WSDL devraient être accessibles aux adresses suivantes :
http://localhost:8080/lifeleft/LifeLeft?wsdlhttp://localhost:8080/age/AgeService?wsdl(L'URL peut varier selon le contexte de déploiement).
Avant de lancer le client, assurez-vous que le service lifeleft est déployé et fonctionne.
Allez dans le dossier leftlifeclient et exécutez la classe principale Main.java ou utilisez Maven :
cd leftlifeclient
mvn exec:java -Dexec.mainClass="Main"Note : Vous devrez peut-être mettre à jour l'URL du WSDL dans la configuration du client si le port de votre serveur est différent de 8080.