Vous êtes sur la page 1sur 5

Cas d'Utilisation des Services Web dans une Agence de Voyage :

Processus détaillé pour la recherche de destinations de vol, le choix d'un vol et la réservation d'un
hôtel :

1. Étape 1 - Recherche de Destinations de Vol :

 Le client remplit un formulaire avec des détails sur la destination et les dates de
voyage.

 Le service web de l'agence de voyage recherche les horaires de vol disponibles en


consultant différents fournisseurs de services de compagnies aériennes.

2. Étape 2 - Choix d'un Vol :

 Le service web de l'agence de voyage présente au client les options de vols


disponibles, y compris les tarifs et les horaires.

 Le client sélectionne un vol en fonction de ses préférences.

3. Étape 3 - Réservation d'un Hôtel :

 Le client communique son choix de vol à l'agent de voyage.

 L'agent de voyage utilise le service web pour envoyer une demande de réservation à
un service d'hôtellerie.

 Le service d'hôtellerie confirme la disponibilité et fournit une confirmation à l'agent.

 L'agent présente les résultats au client, lui permettant de faire le meilleur choix
d'hébergement.

Ces scénarios démontrent comment les services web facilitent le processus complexe de réservation
de voyages, en permettant une communication efficace entre l'agence de voyage, les compagnies
aériennes, les services d'hôtellerie et d'autres prestataires, tout en répondant aux besoins individuels
des clients.

Partie 1 :
Recherche de Destinations de Vol (Serveur et Client)

Client pour la recherche de destinations de vol

_______________________________________

public class FlightSearchClient {


public static void main(String[] args) throws Exception {
URL url = new URL("http://localhost:8080/flightsearch?wsdl");
QName qname = new QName("http://impl.java.server/",
"FlightSearchServiceImplService");
Service service = Service.create(url, qname);
FlightSearchService flightSearchService =
service.getPort(FlightSearchService.class);

String[] destinations =
flightSearchService.getAvailableDestinations();

System.out.println("Destinations disponibles :");


for (String destination : destinations) {
System.out.println(destination);
}
}
}

Serveur (Service Web) pour la recherche de destinations de vol

_____________________________________________________

public interface FlightSearchService {

String[] getAvailableDestinations();
}

public class FlightSearchServiceImpl implements FlightSearchService {

public String[] getAvailableDestinations() {


// Logique pour récupérer les destinations disponibles depuis une
source de données
// (par exemple, base de données, système externe, etc.)
String[] destinations = {"Paris", "New York", "Tokyo", "London"};
return destinations;
}

public static void main(String[] args) {


Endpoint.publish("http://localhost:8080/flightsearch", new
FlightSearchServiceImpl());
System.out.println("Service de recherche de vol publié avec
succès.");
}
}

Partie 2 : Choix d'un Vol (Serveur et Client)


Serveur (Service Web) pour le choix d'un vol

_____________________________________



public interface FlightSelectionService {

String selectFlight(String destination);


}

public class FlightSelectionServiceImpl implements FlightSelectionService {

public String selectFlight(String destination) {


// Logique pour sélectionner un vol en fonction de la destination
// (simulé ici avec une réponse statique)
return "Vol sélectionné pour " + destination;
}

public static void main(String[] args) {


Endpoint.publish("http://localhost:8080/flightselection", new
FlightSelectionServiceImpl());
System.out.println("Service de sélection de vol publié avec
succès.");
}
}

Client pour le choix d'un vol

________________________

public class FlightSelectionClient {


public static void main(String[] args) throws Exception {
URL url = new URL("http://localhost:8080/flightselection?wsdl");
QName qname = new QName("http://impl.java.server/",
"FlightSelectionServiceImplService");
Service service = Service.create(url, qname);
FlightSelectionService flightSelectionService =
service.getPort(FlightSelectionService.class);

String destination = "Paris";


String selectedFlight =
flightSelectionService.selectFlight(destination);

System.out.println(selectedFlight);
}
}
Partie 3 : Réservation d'un Hôtel (Serveur et Client)

Serveur (Service Web) pour la Réservation d'un Hôtel

_____________________________________________

public interface HotelReservationService {

String reserveHotel(String hotelName, int numNights);


}

public class HotelReservationServiceImpl implements HotelReservationService


{

public String reserveHotel(String hotelName, int numNights) {


// Logique pour réserver un hôtel (simulé ici avec une réponse
statique)
return "Réservation confirmée à " + hotelName + " pour " +
numNights + " nuits.";
}

public static void main(String[] args) {


Endpoint.publish("http://localhost:8080/hotelreservation", new
HotelReservationServiceImpl());
System.out.println("Service de réservation d'hôtel publié avec
succès.");
}
}

Client pour la Réservation d'un Hôtel

_______________________________

public class HotelReservationClient {


public static void main(String[] args) throws Exception {
URL url = new URL("http://localhost:8080/hotelreservation?wsdl");
QName qname = new QName("http://impl.java.server/",
"HotelReservationServiceImplService");
Service service = Service.create(url, qname);
HotelReservationService hotelReservationService =
service.getPort(HotelReservationService.class);

String hotelName = "Example Hotel";


int numNights = 3;
String reservationConfirmation =
hotelReservationService.reserveHotel(hotelName, numNights);
System.out.println(reservationConfirmation);
}
}

Vous aimerez peut-être aussi