Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Dernière révision Les deux révisions suivantes | ||
cours:service_oriented_computing_and_web_services_2017_2018:lab_eventing_and_wstutorial:publish_subscribe_pattern_for_eventing_with_web_services [2018/03/29 11:02] tigli [Introduction : Why Event driven Architecture ?] |
cours:service_oriented_computing_and_web_services_2017_2018:lab_eventing_and_wstutorial:publish_subscribe_pattern_for_eventing_with_web_services [2018/03/29 11:33] tigli [Create WCF Service Library (EventsLib.dll)] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Event based Communication and Event driven Architecture with web services ===== | ====== Event based Communication and Event driven Architecture with web services ===== | ||
+ | |||
+ | <note warning> | ||
+ | The solution of the first part of this tutorial is provided below. | ||
+ | |||
+ | Add the solution(s) of the second part of this tutorial on your Github repository ! | ||
+ | </note> | ||
===== Introduction : Why Event driven Architecture ? ===== | ===== Introduction : Why Event driven Architecture ? ===== | ||
Ligne 20: | Ligne 26: | ||
- | ===== Your first step by step eventing communications between Web service and Client ===== | + | ===== PART 1 : Your first step by step eventing communications between Web service and Client ===== |
==== Events Introduction ==== | ==== Events Introduction ==== | ||
Ligne 43: | Ligne 49: | ||
* **.Net Framework Class Library** (EventsLib.dll): Actual Service logic, which defines a Service Contract Interface, OperationContract, and implements them, and exposes few functions to the world to use them | * **.Net Framework Class Library** (EventsLib.dll): Actual Service logic, which defines a Service Contract Interface, OperationContract, and implements them, and exposes few functions to the world to use them | ||
- | * **Console Application** to host the WCF Service Library EventsLibHost.exe): Host the WCF library | + | * **Console Application** to host the WCF Service Library EventsLibHost.exe): Host the WCF library |
- | * | + | |
On the client side : | On the client side : | ||
- | * Console Client Application (EventsClient.exe): Client Application which will use this service. | + | * ** Console Application ** (EventsClient.exe): Client Application which will use this service. |
<note warning> | <note warning> | ||
Ligne 64: | Ligne 69: | ||
=== Defining Interface ICalcServiceEvents (ICalcServiceEvents.cs) === | === Defining Interface ICalcServiceEvents (ICalcServiceEvents.cs) === | ||
+ | ||| | ||
** Exercice: ** | ** Exercice: ** | ||
Ligne 359: | Ligne 365: | ||
<note warning> | <note warning> | ||
+ | Here, is the solution of the first part | ||
</note> | </note> | ||
Ligne 383: | Ligne 390: | ||
=== Action<T> Delegate === | === Action<T> Delegate === | ||
https://msdn.microsoft.com/en-us/library/018hxwa8(v=vs.110).aspx | https://msdn.microsoft.com/en-us/library/018hxwa8(v=vs.110).aspx | ||
- | ===== Advanced use of Eventing ===== | + | ===== PART 2 : Advanced use of Eventing ===== |
Thanks to the previous example, create a central WS that accept data modification from "Publishers" clients and send event on these modifications to "subscribers" clients. | Thanks to the previous example, create a central WS that accept data modification from "Publishers" clients and send event on these modifications to "subscribers" clients. | ||
Test it with a simple shared data like a count value, with one pupblisher and various subscribers. | Test it with a simple shared data like a count value, with one pupblisher and various subscribers. | ||