War and economy. Putin and Sun Tzu Jacques Fontanel

Conference at UNECON State University of Economy September, 13, 2019

Pre-publication

In english and Russian Summary : The annexation of Crimea to Russia has been the subject of economic retaliation measures mainly by NATO members. Putin has used the lessons of Sun Tzu to achieve a result that, on the side of Russia, is globally positive; since the question of the return of Crimea to Ukraine is hardly mentioned anymore. In this context, we realize that Russia has suffered some negative effects on its growth, but it has considerably improved the conditions of its national security and its patrimony and heritage. Words : economic war, war, economic weapons, strategy When countries have long been portrayed as antagonistic camp leaders, it is difficult for states to suppress the grievances arising from this confrontation. While Russia has now opted for a market economy adapted to its historical situation and has been admitted as a member of the World Trade Organization, it nevertheless remains partially obsessed with its past as a great ideological, political and military power. Washington, with its NATO allies, is gradually locking it into a position of active defence. Of course, Russia belongs to the famous BRICS, but this association of countries seeks to find coherence of action, while their immediate individual interests differ. The solution of an agreement with China is not easy today for the Kremlin, given the new strength of a state that stands up against the American all-powerful, to the point of becoming its main rival. Russia has engaged in a process of disarmament in its economy, including the military-industrial complex, which has made it more vulnerable. However, it remains a powerful nuclear force, the second in the world after the United States. However, the links between the national economy and national defence are complex, and often lead to the expression of long-term power relations between states that are not sufficiently taken into account by economists.

Russia's military strategy in the Crimea case was inspired by Sun Sun Tse teachings of using cunning to lead the enemy to avoid direct combat, to lay down arms or to surrender even before having started to fight. You have to know how to win a war without fighting or do it at least gently, in relation to the importance of long-term issues. In 2019, Crimea is ruled by Russia. Major sanctions were taken against Moscow, but logistically Russia recovered the Crimea and thus protected the port of Sevastopol, their large military base turned directly to the "hot seas". No doubt Russia still suffers retaliatory measures from NATO allies, but the Crimea question seems set for the coming decade, it is an integral part of Russian territory. Overall, the situation is rather favourable for President Putin, both in terms of security and in economic terms. Today, in 2019, President Donald Trump talks about easing sanctions against Russia, while a few months ago, opposed to the North Stream, he had considered increasing pressure on Moscow by new economic measures. In the long term, the annexation of Crimea seems today no longer to pose significant problems in international relations. The strategies advocated by Sun Tzu, 6 centuries before Christ, seem to have been retained by the master of the Kremlin.

-First lesson: "For the good strategist, the essential is in the victory and not in the prolonged operations". The Western camp wants Ukraine to join NATO. Such an eventuality is impossible to accept for Moscow, given the special situation of Sevastopol, its port of war, with almost direct access to the Mediterranean via the Black Sea, its only winter sea. In these circumstances, accepting that the Crimea surrounding the military port is now committed under NATO control, largely directed against Russia, is hardly acceptable to Moscow. If Ukraine wants to negotiate with Western countries, it cannot claim membership in an alliance against its big Russian neighbour, whose history is historically common. Western countries support the solution of a rapid accession of Ukraine to the European Union. In this context, the accession of Crimea to the European Union would become irreversible and Moscow would be strategically in a situation of great weakness in the face of the diplomatic, military and political advantage that the West would derive from this new situation. In these conditions, Russian action for the return of Crimea to the national fold is crucial. Faced with world public opinion, Vladimir Purine chose the only solution that allows him to maintain an international public authority, which of a masked military intervention, followed by a questionable application of an "ad hoc" referendum justifying his operation. Only the final result of all operations matters.

-Second lesson: "Whoever pushes the enemy to move by making him glimmer an opportunity ensures superiority. It's about getting the opponent to attack you on the most seemingly sensitive point of your defence. It's about getting the opponent to act according to your strategic expectations. While Yanukovych's Ukraine, the legally elected president, was up to now faithful to the commitments with Moscow, the change of power becomes inevitable in Ukraine. The indirect intervention of Westerners is not necessarily in conformity with international law, especially since new elections are planned in one year. Russia has proof that the United States is financing and arming the Ukrainian opposition forces. Yet, in this context, direct Russian military action against Ukraine is unlikely.

-Third lesson: If the Western camp acts more and more openly for the change of a pro-Russian government, Moscow feigns a form of helplessness of action in the face of the potential conflict. He wants to avoid putting on a bellicose position. Moscow has left the field as helpless in the face of this display of interest to destabilize Ukraine and push it, even by elections, to choose a policy more favourable to the interests of Westerners. Moscow first chooses a strategy of invisibility and silence; the Kremlin seems obsessed with the international coverage of the Sochi Olympic Games. However, it did not go unchecked, but its actions were covertly and covertly supported by Russian-speaking Crimean citizens and disappointed by the political instability in Ukraine. Russia has had time to point out the errors and approximations of its opponents. The silence she imposed on herself suggested that she was reluctant to act, that she was not convinced by the legitimacy or effectiveness of her action.

-Fourth lesson: It is then to provoke the error of the adversary, in order to act where the opponent does not expect you. The violence and flight of Viktor Yanukovych are the occasion of the official awakening of Putin. The Western camp supported him when he was in favour of the agreement, but he abandoned it when he returned to the Russian fold. It does not matter who governs Ukraine provided that it engages in a policy favourable to NATO and the European Union. The West supported the popular revolution. While appealing to the notion of democracy (which will not, at least in the rule, respected), he has maintained and guided the wrath of the Maidan Square. While new elections would be held in one year, rioters no longer want to wait and install, with the help of Western countries, Arseniy Yatsenyuk as Prime Minister. A priori, for Washington, Moscow is trapped, it can no longer react and it will suffer the effect of encirclement that limit its ambitions deemed "imperialist". The answer is not then wait. Since the Crimean pro-Russians are fighting for the reunification of the peninsula with Russia, in the name of the principle still claimed internationally the right of peoples to self-determination, the Crimean Parliament, acquired to the Russian cause, organizes a referendum that is supposed to legitimize the action of Russia against its opponents and the writing of history. For the organization of the referendum, popular pressure justifies the first official, then official, presence of Russia in Crimea. Thus, Vladimir Putin reacts to the signing of the Association Agreement between Ukraine and the European Union, gateway to NATO membership, and at the end of the lease of the Sevastopol maritime base to the Russian Navy. For the Kremlin, the whole operation is "up" against Russia. There remained to him the referendum solution of the Crimea, which, in conditions undoubtedly little serene, gives him reason. The fact that Crimea prefers Russia to Europe legitimizes this annexation. In fact, this operation is less "legitimate" than that engaged with the Kiev rioters.

-Fifth lesson. The retention of information or its deliberately erroneous character allows giving "time to time". Despite the information provided by the Western camp, Vladimir Putin says that there are no Russian troops in Crimea. Surprised by the action of the Kremlin, Westerners raise the issue of economic sanctions against Russia, evidence if it is impossible to imagine a military action for the return of Crimea in the Republic of Ukraine. Moscow is speeding up operations, while allies are spending a lot of time working together. In this context, Russia continues its action with a consummate art of strategy. The Crimean Parliament unanimously asks for its attachment to Russia, which will then be validated by a plebiscitary referendum. Crimea then nationalises the oil and gas sector, public companies become Russian companies. For Vladimir Putin, democracy has provided its verdict. The world is then faced with a fait accompli. Russia is then developing an information strategy, based on the right of peoples to self-determination, which justifies its action. In the face of Ukraine's political instability and growing corruption, Crimean citizens seem to prefer to become a member of the Russian Federation.

Lesson 6: Armed conflict must be engaged only if victory is offered to us. Officially, with the referendum, Russia justifies its action, which did not need serious military support. Russian military power was more present in the minds than in the facts. The art of war is precisely to reduce the collateral damage with regard to its own objectives. Victory is only true if its price does not exceed the benefits received in exchange. Today, it is a question of convincing the opponents of the irremediable character of the union between Russia and Crimea. Some of the opponents fled, the Tatars could be in trouble. However, the "real politic" is never interested in the cruelty of situations.

-Lesson 7: Russia has integrated the limits of the military instrument. European citizens do not wish to engage in armed conflict for a rather Russian-speaking Crimea. Every European citizen knows that military action against Russia is doomed to failure. The economic war is then recommended. Only those at the third level, the highest (banking transactions and budgetary revenue sources), would have a significant impact, with the energy issue, which for the moment is still not retained. Russia must now bear the effects of the economic weapon. In case of embargo or economic war against Russia, the cost to pay would be significant for all actors, including Europeans. However, the interests of the United States, rich in oil and gas, are not the same as those of Germany or France, dependent on oil and gas, especially from Russia. The United States and even several countries of the European Union do not agree on the establishment of the Nord Stream gas pipeline linking Russia directly to Germany. The divergent interests of the Allies give new diplomatic prospects to Russia in the years to come. When the interests of the alliance formed by your enemies are divergent, the resumption of negotiations becomes inevitable in the long run. Opposite, Russia strengthens its military apparatus, but this effort remains difficult to digest for the Russian economy.

Eighth lesson: No voice was expressed in Russia against its policy in Crimea, quite the contrary. The Crimea had once belonged to the Russian Federation, and it was a simple decision of the Ukrainian Khrushchev that the island had been attached to Kiev. History often soothes resentment when struggles have not been violent in time and space. Vladimir Putin obtained the agreement of his people, while strengthening his personal power. In view of the stakes, the price of blood has not been very high. Putin thus strengthened his position in the strategists able to defend the interests of his country, which allowed him to increase, undoubtedly to excess, his personal power. However, Russia's economy remains highly dependent on its natural and energy resources, which is a point of weakness that may ultimately have disastrous consequences. Russia is going through a new period in its history that is putting it out of the way of western chancelleries. She does not care, convinced of her right. If it undergoes more or less severe sanctions from the West, India or China are less committed to the resolution of this conflict. Vladimir Putin seeks to get closer to these countries (especially in the framework of the BRICS group). She is nevertheless convinced that she will soon be allowed to return to the G8. The annexation of Crimea to Russia has been the subject of economic retaliation measures mainly by NATO members. Putin has used the lessons of Sun Tzu to achieve a result that, on the side of Russia, is globally positive; since the question of the return of Crimea to Ukraine is hardly mentioned anymore. In this context, we realize that Russia has suffered some negative effects on its growth, but it has considerably improved the conditions of its national security and its patrimony and heritage. Westerners have forgotten the principles enunciated by Sun Ste, so farsighted about the desirability of wars and the rules to be respected in times of peace. Putin pursues his great goal of putting Russia back on the international scene and recreating a sphere of influence around it. He had not expected, however, that his person and his national government would gradually begin to stir up internal opposition ... except in Crimea.


Jean Brossard

Michel Emery

Christophe Leuridan

Michel Émery

Skew-Product Decomposition of Planar Brownian Motion and Complementability

Keywords: Mathematical Classification : 60J65, 60H20 Brownian filtrations, Planar Brownian motion, Skew-product decomposition, Complementability

come   L'archive ouverte pluridisciplinaire

Introduction

Brownian filtrations constitute a rich topic, where innocent-looking questions sometimes turn out to be quite tricky. How can one recognize if a given filtration is Brownian (that is, generated by some Brownian motion)? Few characterizations are known, and most of the time one has to exhibit a generating Brownian motion.

In 1980, Stroock and Yor [START_REF] Stroock | On extremal solutions of martingale problems[END_REF] raised the following question.

(Q1): If a filtration F has the previsible representation property (PRP) w.r.t. some Brownian motion, is F necessarily Brownian?

Not until 15 years later was the matter settled, with two very different counterexamples provided by Dubins, Feldman, Smorodinsky and Tsirelson [START_REF] Dubins | Decreasing sequences of σ-fields and a measure change for Brownian motion[END_REF] and by Tsirelson [START_REF] Tsirelson | Triple points: from non-Brownian filtrations to harmonic measures[END_REF]. The former shows the existence on Wiener space of a probability Q equivalent to the Wiener measure P , such that no Q-BM generates the filtration (even though the filtration must have the PRP w.r.t. the Q-BM obtained as the Girsanov transform of P ). And the latter counter-example asserts that the Walsh BM on three or more branches generates a non-Brownian filtration.

In view of the new light shed by these examples, an updated version of Stroock and Yor's original question can be asked.

(Q2): If a filtration F is immersed1 in some (possibly infinite-dimensional) Brownian filtration and has the PRP w.r.t. some F-Brownian motion, is F necessarily Brownian?

The general case remains elusive, although a positive answer is obtained in [START_REF] Émery | On certain almost Brownian filtrations[END_REF] in the particular case of filtrations which are Brownian on every interval [ε, ∞[ with ε > 0; under this very strong additional hypothesis, Brownianness or non Brownianness is a germ property at time 0+. Natural examples of such filtrations are provided by quotienting the filtration of a d-dimensional Brownian motion by some subgroup of the orthogonal group. These filtrations are already proved to be Brownian by Malric in [START_REF] Malric | Filtrations quotients de la filtration brownienne[END_REF], who explicitly constructs Brownian motions generating them.

(Q2) draws attention to the various ways a Brownian filtration can be immersed in another Brownian filtration. For instance, given Z a d-dimensional BM and given k ∈ [ [1, d -1]], for each k-dimensional linear subspace S of R d the orthogonal projection of Z on S is a BM whose filtration is immersed in the filtration Z of Z, and all these immersions are clearly isomorphic to each other 2 . Moreover, given a k-dimensional Z-BM B, its filtration is immersed in Z, and this immersion is isomorphic to all previous ones if and only if there exists a (d-k)-dimensional Z-BM B independent of B such that the d-dimensional Z-BM (B, B ) generates the full filtration Z. This property was introduced in [START_REF] Brossard | Filtrations browniennes et compléments indépendants[END_REF] and called complementability; it is the simplest way a k-dimensional Brownian filtration can be immersed in a d-dimensional one.

Another property, maximality3 , is defined in [START_REF] Brossard | Filtrations browniennes et compléments indépendants[END_REF] and shown there to be necessary for complementability. This leads to the question of the sufficiency.

(Q3): Conversely, does maximality imply complementability?

Even in the simplest case, when k = 1 and d = 2, question (Q3) is still open. Although there is no direct mathematical relation between (Q2) and (Q3), they turn out to be similar, at two levels. First, each of them asks if some BM can be constructed, so as to generate (alone for (Q2), or together with B for (Q3)) a given filtration. Second, in all instances so far that such a BM has successfully been constructed, the methods are similar, be it for (Q2) or (Q3); they rely on coupling arguments. It thus appears that studying (Q3) might indirectly contribute to progress on (Q2). At this stage, both (Q2) and (Q3) seem difficult: we have in view no strategy of proof, nor any candidate for a counter-example; but one of (Q2) and (Q3) may eventually turn out to be less difficult than the other.

The present work describes a family of real BM shown to be complementable in the filtration of a complex BM (Corollary ); although these real BM are very simply defined, our proof of their complementability (by explicit construction of a complement) is rather involved.

From now on, we fix a complex Brownian motion Z = X + iY starting at 0. Almost surely, the Bessel process R = |Z| never returns to 0. We shall focus on the independent Brownian motions U and V given by

U t = t 0 X s dX s + Y s dY s R s and V t = t 0 X s dY s -Y s dX s R s .
The complex Brownian motion W = U + iV = (Z/R) dZ is known to generate the quotient filtration generated by Z up to an arbitrary rotation. Actually, W is not the generating Brownian motion constructed by Malric in [START_REF] Malric | Filtrations quotients de la filtration brownienne[END_REF]. But among all Brownian motions generating the quotient filtration of Z modulo SO 2 , the complex Brownian motion W = U + iV is somehow the most natural one, since its real part U governs the Bessel process R whereas its imaginary part V governs the increments of the angular part of Z. These facts are due to Stroock and Yor [START_REF] Stroock | Some remarkable martingales[END_REF] and recalled in Proposition 1.

The complementability of U is proved in [START_REF] Brossard | Filtrations browniennes et compléments indépendants[END_REF] by exhibiting an independent complement. Is V complementable too? In [START_REF] Brossard | Maximal Brownian motions[END_REF], V is shown to be maximal, and its complementability is announced, without proof, at the end of the introduction. A proof will be given in the present paper; we shall actually establish a more general result as follows.

Let Q 1 and Q 2 be any two different matrices in O 2 (R). There exists an F Z -previsible process H taking values in {Q 1 , Q 2 } such that the Brownian motion H • dW generates the whole filtration F Z .

Here, for every Q ∈ O 2 (R) and z ∈ C, we denote by Q • z the complex number provided by the usual action of the 2 × 2 real matrices on C identified with R 2 . More precisely, set

Q = a -σb b σa (1)
with a and b in R,

a 2 + b 2 = 1, σ ∈ {-1, 1}, and put c = a + ib. Then Q • z = cz or Q • z = cz according to σ being equal to 1 or -1. Observe that for each Q ∈ O 2 (R), the Brownian motion (QH) • dW = Q • d( H • dW )
generates the same filtration as H • dW . Hence, assuming that Q 2 = I 2 in the proof of the theorem is no restriction. Moreover, Theorem is completely contained in its two corollaries below.

For every complex number c = 1 with modulus 1, there exists an F Z -previsible process η taking values in {1, c} such that the Brownian motion η dW generates the whole filtration F Z .

For all a and b in R such that a 2 + b 2 = 1, the Brownian motion aU + bV is complementable in F Z .

Corollary directly follows from Theorem applied to the matrices

Q 1 and Q 2 such that Q 1 • z = z and Q 2 • z = c z.
Similarly, Corollary follows from Theorem applied to the matrices

Q 1 = a b b -a and Q 2 = a b -b a . (2)
Indeed, since (Q Note that the complementability of U , already proved in [START_REF] Brossard | Filtrations browniennes et compléments indépendants[END_REF], corresponds to the choice a = 1 and b = 0 in formulas [START_REF] Brossard | Filtrations browniennes et compléments indépendants[END_REF]. Thus, what remains to be proved is Theorem when

1 • z) = (Q 2 • z) = a (z) + b (z),
Q 2 = I 2 and Q 1 = Q given by formula (1) with (a, b) = (1, 0) and σ ∈ {-1, 1}.
Actually, the proof given below for the case (a, b) = (1, 0) does not work any longer when (a, b) = (1, 0) and σ = -1 and must then be modified. We will explain why in subsection 2.4. Observe that the case when (a, b) = (1, 0) and σ = 1 is not to be considered since it corresponds to Q = I 2 .

The first section provides preliminary results whereas the second section is devoted to the proof.

Notations and tools

In the sequel, we fix a complex-valued Brownian motion Z = X + iY started from 0, and U , V , W and R are defined as above. The filtration F Z generated by Z will be the ambient filtration: unless otherwise specified, martingales, Brownian motions, stopping times are always relative to F Z .

We fix an orthogonal matrix

Q = a -σb b σa ,
with a and b in R, a 2 + b 2 = 1, σ ∈ {-1, 1} and a = 1. Our aim is to construct a previsible process H with values in {I 2 , Q} such that the complex Brownian motion W = H • dW generates F Z . Before introducing the tools for the construction of H, we recall some well-known facts (see Proposition 3.1 and Theorem 3.4 of Stroock-Yor [START_REF] Stroock | Some remarkable martingales[END_REF]).

(Classical properties of U and V .)

• The process R is the unique and strong solution of the stochastic differential equation

dR s = dU s + ds 2R s ; R 0 = 0 .
In particular, the processes R and U generate the same filtration.

• For t ≥ s > 0, Z t R t = Z s R s exp i t s dV r R r .
• Hence, given t ≥ s > 0, the value Z t can be recovered from Z s and from the increments of W on the time-interval [s, t].

• For each t > 0, one has

F Z t = F W t ∨ σ(Z t /R t )
, and the r.v. Z t /R t is independent of W , with uniform law on the unit circle.

The fourth point of Proposition 1 describes the information missing in W to recover Z, whereas the third point shows that the loss of information occurs only at time 0+. This is a key fact in the proof of the next lemma.

Let (C t ) 0≤t≤1 be a complex F Z -Brownian motion such that the r.v.

Z 1 is measurable in the σ-field F C 1 . For t > 1 set C t = C 1 + W t -W 1 .
Then (C t ) t≥0 is a Brownian motion which generates the whole filtration F Z .

By the third point of Proposition 1, since C has the same increments as W after time 1, it suffices to show that C generates on the time-interval [0, 1] the same filtration as Z. We only need to check that for every t ∈

[0, 1], Z t is F C t -measurable. Consider the F C -martingale M given by M t = E[ Z 1 | F C t ],
whose final value M 1 is equal to Z 1 by our measurability hypothesis. As C is an F Z -Brownian motion, every F C -martingale is an F Z -martingale (by the previsible representation property); so

M is on [0, 1] the F Z -martingale (E[ Z 1 | F Z s ]) s∈[0,1] , namely, M = Z on [0, 1]. Thus Z t is F C t -measurable for t ∈ [0, 1]
. Given a previsible process (H t ) 0<t≤1 with values in {I 2 , Q}, one may apply Lemma 1 to the Brownian motion C = W = H • dW . To prove Theorem , it is thus sufficient to construct a previsible process (H t ) 0<t≤1 with values in {I 2 , Q} such that the r.v. Z 1 can be recovered from the Brownian motion ( W t ) 0≤t≤1 .

Solution of a SDE governed by a complex Brownian motion C

Let C = A + iB be any complex F Z -Brownian motion.

and by then setting, for every t ≥ s

Z t R t = ζ |ζ| exp i t s dB r R r . (4)
Formulas ( 3) and ( 4) show that two solutions associated to two initial conditions which have the same modulus evolve parallelly. This statement is made formal in the next lemma, which will repeatedly be used.

(Parallel evolution.) Given s > 0, let C = A + iB be any complex

z = ze iθ for some θ ∈ [-ε, ε]. Given ε ∈ ]0, π], set m ε = 2π/ε = min{n ∈ N : π/n ≤ ε/2}. For every z ∈ C * , the definition z ε = |z|e i2kπ/mε if z = |z|e iθ with (2k -1)π/m ε < θ ≤ (2k + 1)π/m ε provides an approximation z ε of z such that z ε/2
z ε ; the modulus of z ε is the same as the modulus of z, and the argument of z ε is the argument of the closest m ε -th root of unity. When z belongs to the set

∆ ε = mε-1 k=0
R + e i(2k+1)π/mε , which consists of m ε rays separating the roots of unity, the root of unity closest to z is not unique, and an arbitrary choice has been made. The map z → z ε is continuous on C \ ∆ ε for the usual distance, and locally constant on C \ ∆ ε for the distance d.

Modifying the increments before a stopping time

For every stopping time τ and every complex Brownian motion C, we define two new complex Brownian motions C Q,τ and C

Q -1 ,τ by dC Q,τ = (1 [0,τ ] Q + 1 ]τ,+∞[ I 2 ) • dC ; dC Q -1 ,τ = (1 [0,τ ] Q -1 + 1 ]τ,+∞[ I 2 ) • dC .
Given s > 0 and ε > 0, we introduce the stopping time

τ s,ε = inf{t ≥ s : Sol(W, s, t, Z ε s ) ε/2 Sol(Q • W, s, t, √ s )}.
In this formula, s is a time, but √ s (considered as a complex number) is a spatial position; due to Brownian scaling invariance, τ s,ε has the same law as s τ 1,ε .

(

Note that the definition of τ s,ε involves Z ε s but not Z s ; since almost surely Z s / ∈ ∆ ε , a small perturbation of the argument of Z s does not change Z ε s , τ s,ε and W Q,τs,ε . Moreover, parallel evolution of

Z = Sol(W,
Z ε/2 Sol(W, s, •, Z ε s ) ε/2 Sol(W Q,τs,ε , s, •, √ s ) on [τ s,ε , +∞[ .
This establishes the next lemma. For s > 0 and ε > 0, the process W Q,τs,ε is an F Z -Brownian motion. Moreover,

Z ε Sol(W Q,τs,ε , s, •, √ s ) on the interval [τ s,ε , +∞[ .
We will see later that τ s,ε is a.s. finite; the scaling property (5) will then show that τ s,ε → 0 in probability when s → 0. Thus, when s is small enough, knowing the increments after s of the Brownian motion W Q,τs,ε is sufficient to approach Z t .

In order to get a Brownian motion W = H • dW on the time interval [0, 1] such that Z 1 can be recovered from ( W t ) 0≤t≤1 , we shall concatenate pieces of Brownian motions W Q,τs n ,εn for some decreasing sequences (s n ) n≥0 and (ε n ) n≥0 tending to 0.

Assume that, for some s > 0, we have constructed an approximation of Z s using the Brownian motion W Q,τ r,δ for some s ∈ ]0, r[. How can we now utilize this approximation and the Brownian motion W Q,τs,ε to approach Z t for t ≥ s? This is the role of the random maps F ε C,s,t that we now introduce.

The random maps

F ε C,s,t
Let C be any F Z -complex Brownian motion. For s > 0, ε > 0 and ζ a C * -valued, F Z s -measurable r.v., we define the stopping time

τ ε C,s,ζ = inf{t ≥ s : Sol(Q -1 • C, s, t, ζ ε ) ε/2 Sol(C, s, t, √ s )} ,
and for t ≥ s we set

F ε C,s,t (ζ) = F ε (C, s, t, ζ) = Sol(C Q -1 ,τ ε C,s,ζ , s, t, ζ) .
In particular, taking ζ a constant r.v. z, we get an almost surely well defined random map z → F ε C,s,t (z) from C * to C * , and F ε C,s,t (ζ) can be identified with the compound F ε C,s,t • ζ. As a consequence of Lemma 1.1,

F ε C,s,t (ζ) is measurable for σ (C r -C s ) r∈[s,t] , ζ ; (6)
this will be useful later. When C = W Q,τs,ε , the Brownian motions C and Q • W coincide up to time τ s,ε , so τ ε C,s,Zs = τ s,ε and

C Q -1 ,τ ε C,s,Zs = W . Thus F ε (W Q,τs,ε , s, t, Z s ) = Sol(W, s, t, Z s ) = Z t . (7)
It will also be useful to know that if ζ is a complex random variable close to Z s , the random variable F ε (W Q,τs,ε , s, t, ζ) is close to Z t . We now establish this continuity property of the map F ε W Q,τs,ε . Fix ε > 0, s > 0 and C a complex Brownian motion in F Z ; let also ζ 0 be any complex,

F Z s -measurable r.v such that P[ζ 0 ∈ ∆ ε ] = 0. The map ζ → F ε C,s,t (ζ), defined on the set of all C * -valued, F Z s -measurable random variables, is continuous at ζ 0 in the D-distance. In other terms, D F ε C,s,t (ζ), F ε C,s,t (ζ 0 ) → 0 when D(ζ, ζ 0 ) → 0. On the event [d(ζ, ζ 0 ) < d(ζ 0 , ∆ ε )], one has d(ζ, ζ 0 ) < 2π, whence |ζ| = |ζ 0 |; moreover, ζ and ζ 0 are in the same connected component of ∆ c ε , so ζ ε 0 = ζ ε . This implies τ ε C,s,ζ = τ ε C,s,ζ0
, and consequently also

C Q,τ ε C,s,ζ = C Q,τ ε C,s,ζ 0 ; by Corol- lary 1.2, d F ε C,s,t (ζ), F ε C,s,t (ζ 0 ) ≤ d(ζ, ζ 0 ). On the complementary event [d(ζ, ζ 0 ) ≥ d(ζ 0 , ∆ ε )], we simply majorize d F ε C,s,t (ζ), F ε C,s,t (ζ 0 ) by 2π.
All in all,

d F ε C,s,t (ζ), F ε C,s,t (ζ 0 ) ≤ d(ζ, ζ 0 ) + 2π 1 d(ζ,ζ0)≥d(ζ0,∆ε) ;
and taking expectations gives

D F ε C,s,t (ζ), F ε C,s,t (ζ 0 ) ≤ E[d(ζ, ζ 0 )] + 2π P[d(ζ, ζ 0 ) ≥ d(ζ 0 , ∆ ε )] .
By hypothesis, the r.v. d(ζ 0 , ∆ ε ) is a.s. > 0; so when d(ζ, ζ 0 ) tends to zero in probability, the right-hand side tends to zero.

Construction of W = H • dW on the time interval [0, 1]

The construction will rest on the continuity properties of the maps F ε C,s,t (Lemma 1.4) and on the next statement, which will be admitted in subsection 2.1, and proved in subsection 2.2 as a consequence of the convergence

P [τ s,ε ≤ t] = P [τ 1,ε ≤ t/s] → 1 as s → 0.
For all t ≥ s > 0 and ε > 0,

F ε W Q,τs,ε ,s,t ( √ s ) = Sol(W Q,τs,ε , s, t, √ s ).
Moreover, given t > 0 and ε > 0,

D Z t , F ε W Q,τs,ε ,s,t ( √ s ) < 2 ε provided s is small enough.

The construction

First, we recursively define two decreasing sequences (s n ) n≥0 and (ε n ) n≥0 such that for every n ≥ 1,

D Z 1 , G n ( √ s n ) ≤ 1/n, with G n = F ε1 W Q,τs 1 ,ε 1 ,s1,s0 • • • • • F εn W Q,τs n ,εn ,sn,sn-1 .
The construction begins with s 0 = 1 and ε 0 = 1. Assume that, for some n ≥ 1, s 0 > . . . > s n-1 > 0 and ε 0 > . . . > ε n-1 > 0 have already been constructed. Property [START_REF] Stroock | Some remarkable martingales[END_REF]

says that F ε W Q,τs,ε ,s,t (Z s ) = Z t for t ≥ s, so G n-1 (Z sn-1 ) = Z s0 = Z 1 ; and Lemma 1.4 says that the map ζ → G n-1 (ζ) is D-continuous at Z sn-1 . This provides some ε n ∈ ]0, ε n-1 [ such that, for each ζ measurable in F Z sn-1 , D(Z sn-1 , ζ) ≤ 2 ε n =⇒ D Z 1 , G n-1 (ζ) ≤ 1/n . (8)
Then Lemma 2 (provisionally admitted) provides some

s n ∈ ]0, s n-1 /2[ such that D Z sn-1 , F εn W Q,τs n ,εn ,sn,sn-1 ( √ s n ) < 2 ε n ,
and taking ζ = F εn W Q,τs n ,εn ,sn,sn-1 ( √ s n ) in (8) yields D Z 1 , G n ( √ s n ) ≤ 1/n, which
completes the recursion. Let now H be the process defined on the interval ]0, 1] by

H s = Q1 [s≤τs n,εn ] + I 2 1 [s>τs n ,εn ] on the interval ]s n , s n-1 ] .
As H takes its values in {I 2 , Q}, the process W = H • dW is a complex Brownian motion. By construction, W has the same increments as W Q,τs n ,εn on the interval ]s n , s n-1 ]. By Lemma 1, we only have to show that the r.v.

ζ n,k-1 = F ε k W ,s k ,s k-1 (ζ n,k ) = F ε k W Q,τs k ,ε k ,s k ,s k-1 (ζ n,k ) .
Property [START_REF] Stroock | On extremal solutions of martingale problems[END_REF] shows by recursion that

ζ n,k is F W s k -measurable; in particular ζ n,1 is F W 1 -measurable. By definition of G n , one has ζ n,1 = G n ( √ s n ), wherefrom D(Z 1 , ζ n,1 ) ≤ 1/n. By Lemma 1.2, ζ n,1 → Z 1 in probability, and Z 1 too is F W 1 - measurable.

Proof of Lemma 2

The last missing step in the proof is Lemma 2, to be proved now. A key point in this proof is the following coupling property.

The orthogonal matrix

Q = a -σb b σa
is still fixed, with a and b in R, a 2 + b 2 = 1 and σ ∈ {-1, 1}. Assume that (a, b) = (1, 0). Then, given ε > 0, the stopping time

τ 1,ε = inf{t ≥ 1 : Sol(W, 1, t, Z ε 1 ) ε/2 Sol(Q • W, 1, t, 1)} is almost surely finite.
We stress the fact that the conclusion turns out to be false if one takes (a, b) = (1, 0). This case will be discussed in subsection 2.4.

Proof of Lemma 2, assuming Lemma 2.2. Fix t ≥ s > 0, and let C be any complex F Z -Brownian motion. Since the stopping time

τ ε C,s,ζ defined in subsection 1.4 is equal to s when ζ = √ s, one has C Q -1 ,τ ε C,s, √ s = C and F ε C,s,t ( √ s ) = Sol(C, s, t, √ s ). Taking in particular C = W Q,τs,ε yields the first part of Lemma 2. By Lemma 1.3, Z t ε Sol(W Q,τs,ε , s, t, √ s ) on the event [τ s,ε ≤ t], so D Z t , Sol(W Q,τs,ε , s, t, √ s ) ≤ ε P [τ s,ε ≤ t] + 2π P [τ s,ε > t] ≤ ε + 2π P [τ s,ε > t] .
Now, by Lemma 2.2 and by the scaling property [START_REF] Malric | Filtrations quotients de la filtration brownienne[END_REF],

P [τ s,ε > t] = P [τ 1,ε > t/s] → 0 as s → 0 ; hence lim sup s→0 D Z t , Sol(W Q,τs,ε , s, t, √ s ) ≤ ε.

Proof of Lemma 2.2

By parallel evolution, for every

t ≥ 1, Sol(W, 1, t, Z ε 1 ) = (Z ε 1 /Z 1 ) × Z t . Set Z t = Sol(Q • W, 1, t, Z 1 /Z ε 1 ) = (Z 1 /Z ε 1 ) × Sol(Q • W, 1, t, 1). Then τ 1,ε = inf{t ≥ 1 : Z t ε/2 Z t )}.
For t ≥ 1, set Z t = R t e iΘt and Z t = R t e iΘ t , where Θ and Θ are continuous and F Z -adapted determinations of the arguments of Z and Z on the time-interval [1, +∞[, and put

L t = ln R t -ln R t , M t = Θ t -Θ t .
With this notation, τ 1,ε becomes

τ 1,ε = inf{t ≥ 1 : L t = 0 and M t ∈ [-ε/2, ε/2] + 2πZ} .
Set c = a + ib. By assumption, c has modulus 1 and c = 1. Two cases will be distinguished according to the value of σ.

d(L t + iM t ) = dZ t Z t - dZ t Z t = dW t R t - c dW t R t .
We can define a real local martingale (N t ) t≥1 by N 1 = 0 and

i d(N t -M t ) = 1 R t (c dW t -c dW t ) .
Observe that

d(L t + iN t ) = 1 R t - c R t dW t = R t -cR t R t R t dW t ,
so L + iN is a conformal local martingale and

c dW t R t = cR t R t -cR t d(L t -iN t ) .
But using c = a + ib, cc = 1 and R t /R t = e Lt , one gets

cR t R t -cR t = cR t (R t -cR t ) R t 2 -2aR t R t + R 2 t = c -e Lt e -Lt -2a + e Lt = c -e Lt 2(cosh(L t ) -a) . Hence d(N t -M t ) = 2 c dW t R t = b dL t -a dN t + e Lt dN t cosh(L t ) -a ,
or equivalently,

dM t = -b dL t -sinh(L t ) dN t cosh(L t ) -a . (9)
Moreover, L, N t = 0 because L + iN is conformal, and

L t = N t = t 1 1 R s - c R s 2 ds .
As in the first case, the continuous, strictly increasing process L = N starts from 0 at time 1 and goes to +∞. Hence, on the time-interval [1, +∞[, the local martingale (L, N ) is a time-changed two-dimensional Brownian motion. Call (α s ) s≥0 the inverse of the process L = N , and set λ s = L αs , µ s = M αs and ν s = N αs .

Then the processes λ and ν are independent one-dimensional Brownian motions and (9) becomes

dµ s = - b cosh(λ s ) -a dλ s - sinh(λ s ) cosh(λ s ) -a dν s .
To prove that τ 1,ε is (almost surely) finite, we have to show that the process (λ, µ) almost surely visits the set {0} × [-ε/2, ε/2] + 2πZ . Changing time again, call the right-continuous inverse of the local time of λ at 0. Observing that λ = 0, it now suffices to verify that the process (µ ) ≥0 visits [-ε/2, ε/2] + 2πZ.

For every ≥ 0, set

S = µ 0 -µ = 0 b cosh(λ s ) -a dλ s + 0 sinh(λ s ) cosh(λ s ) -a dν s ;
The Markov property of Brownian motion and the independence of λ and ν imply that, conditionally on λ, S is a Gaussian process with independent increments, and the variance of S is

0 sinh(λ s ) cosh(λ s ) -a 2 ds .
This variance tends to infinity with because the time spent by λ outside [-1, 1] is infinite. Hence, the conclusion follows from the next lemma.

Let (S t ) t≥0 be a Gaussian process with independent increments, such that Var(S t ) → +∞ as t → +∞. Then almost surely, for every interval I with positive length, (S t ) t≥0 visits I + 2πZ.

First, notice that if G is a Gaussian random variable with law N(m, v), then the law of G -m is N(0, v); hence, calling g v the density of N(0, v), one has, for every interval I with length ≤ 2π,

P [G ∈ I + 2πZ] = k∈Z P [G ∈ I + 2πk] = I-m k∈Z g v (x -k2π) dx .

Now, the Poisson summation formula yields, for every

x ∈ R, k∈Z g v (x -k2π) = 1 2π n∈Z e -vn 2 /2 e inx . If v ≥ 2, 2π k∈Z g v (x -k2π) ≥ 1 -2 n≥1 e -vn 2 /2 ≥ 1 -2 n≥1 e -n 2 ≥ 1 5 ,
hence for every interval I with length ≤ 2π,

P [G ∈ I + 2πZ] ≥ 1 10π
|I|.

For every t ≥ 0, set V (t) = Var(S t ). Since V (t) → +∞ as t → +∞, one can recursively construct an increasing sequence (t n ) n≥1 such that V (t 1 ) ≥ 2 and V (t n ) ≥ V (t n-1 )+2 for every n ≥ 2. The random variables S t1 and (S tn -S tn-1 ) n≥2 are independent, Gaussian with variance ≥ 2, so for every n ≥ 1, P S tn ∈ I + 2πZ σ(S t1 , . . . , S tn-1 ) ≥ |I| 10π ;

and by recursion,

P ∀k ∈ [1 . . . n], S t k / ∈ I + 2πZ ≤ 1 - |I| 10π n . Hence P ∀k ≥ 1, S t k / ∈ I + 2πZ = 0 .
This provides the results for a given interval I. Letting the bounds of the interval vary in Q yields the result.

2.4

The case when (a, b) = (1, 0)

Assume now that (a, b) = (1, 0). First, we explain why the conclusion of Lemma 2.2 does not hold any longer. The case when σ = 1 is not interesting in view of Theorem since it corresponds to the choice Q = I 2 . In that case, both processes Sol(W, 1, t, Z ε 1 ) and Sol(Q • W, 1, t, 1) evolve parallelly, and by the remark after Corollary 1.2, the stopping time τ 1,ε is finite only on the null event [Z 1 ε/ 21].

The case when σ = -1 is much more interesting since it corresponds to the complementability of U . In that case, Q is diagonal with diagonal (1, -1), and Q • W = W = U -iV . Thus the processes R and R , introduced in the proof of Lemma 2. does not explode in finite time, or by applying classical results on flows of solutions of SDEs, one sees that the processes R and R never meet, so the stopping time τ 1,ε is infinite.

Still, the proof of Theorem can be adapted to the case when (a, b) = (1, 0) and σ = -1; it even becomes simpler, and, in fact, reduces to the proof given in [START_REF] Brossard | Filtrations browniennes et compléments indépendants[END_REF]. Here are the changes to be made in the preceding proof.

First, the stopping times τ s,ε must be replaced with the stopping times τ s = inf{t ≥ s : Sol(W, s, t, Z s ) = Sol(Q • W, s, t, R s )}.

Note the modifications in the definition:

• the ε/2-almost equality becomes a true equality;

• the initial position Z ε s in Sol(W, s, t, Z ε s ) is replaced by Z s ; • the initial position √ s in Sol(Q • W, s, t, √ s ) is replaced by R s .

Choosing R s as the initial position will not cause any difficulty since for every previsible process H with values in {I 2 , Q}, the real part of the Brownian motion W = H • dW is U , so the process R is adapted to F W . Almost sure finiteness is much more simply proved for τ 1 than for τ 1,ε . Indeed, setting Z t = Sol(W, 1, t, Z 1 ) = R t e iΘt for t ≥ 1 as before, one gets Sol(Q • W, 1, t, R 1 ) = R t e i(Θ0-Θt) , so

τ 1 = inf{t ≥ 1 : 2Θ t ∈ Θ 0 + 2πZ}.
As Θ is a time-changed Brownian motion, τ 1 is almost surely finite.

Then we only need to choose any decreasing sequence (s n ) n≥0 of positive real numbers such that s n /s n-1 → 0 as n → ∞ (this ensures that P [τ sn ≤ s n-1 ] = P [τ 1 ≤ s n-1 /s n ] → 1), and to define the Brownian motion W = H • dW on the interval [0, 1] as before. In the construction proposed in Subsection 2.1, the starting value ζ n,n of the sequence (ζ n,k ) k∈{1,...,n} also has to be modified; a possible choice is ζ n,n = R sn .

  F Z -Brownian motion and ζ and ζ two F Z s -measurable r.v. valued in C * . Then, on the event |ζ | = |ζ | , one almost surely has for all t ≥ s, Sol(C, s, t, ζ ) Sol(C, s, t, ζ ) = ζ ζ . 1.2 Metrics on C * and on C * -valued random variables Lemma 1.1 suggests that it is relevant to introduce the distance d defined on the set C * by d(z, z ) = 2π if |z| = |z | d(z, z ) = | arg(z /z)| if |z| = |z |, where arg(z /z) is chosen in [-π, π]. Notice that d(z, z ) ≤ π ⇔ |z| = |z |. With this notation, the next result follows immediately from Lemma 1.1. Let s, C, ζ and ζ be as in Lemma 1.1. Almost surely, one has for all t ≥ s d Sol(C, s, t, ζ ) , Sol(C, s, t, ζ ) ≤ d(ζ , ζ ) . On the event |ζ | = |ζ | the right-hand side is 2π, the maximal value of d; on |ζ | = |ζ | , Lemma 1.1 says that d Sol(C, s, t, ζ ), Sol(C, s, t, ζ ) remains constant in time.It is not difficult to see that equality always holds in the conclusion of Corollary 1.2; but except in subsection 2.4 where the case that (a, b) = (1, 0) is discussed, we shall only need the majoration.We come back to properties of d. For ε < 2π, the relation d(z, z ) ≤ ε implies |z -z | ≤ ε |z|; consequently, the d-topology is finer than the usual topology. We shall also use the corresponding distance on random variables: since the metric d is bounded, the formula D(ζ , ζ ) = E[d(ζ , ζ )] defines a distance on the set of all random variables valued in C * and defined up to almost sure equality. The topology associated to D is nothing but the topology of convergence in probability for the metric d, and the comparison with the usual topology easily extends to random variables. Let (ζ n ) n≥0 and ζ be random variables valued in C * , defined on (Ω, A, P). If ζ n → ζ in D-distance, this convergence also holds in probability for the usual metric. For z and z in C * , if |z| = |z |, one has d(z, z ) = 2π; and if |z| = |z |, one has |z -z| ≤ |z| d(z, z ). So, for all z and z in C * , |z -z| ∧ 2π ≤ 1 + |z| d(z, z ) . This estimate gives |ζ n -ζ| ∧ 2π ≤ 1 + |ζ| d(ζ, ζ n ). Hence if d(ζ n , ζ) tends to zero in probability, so does |ζ n -ζ|. When ε ∈ [0, π], we denote by z ε z the relation d(z, z ) ≤ ε, which means that

  Z 1 can be recovered from the observation of W on [0, 1]. Define a family (ζ n,k ) 1≤k≤n of C-valued random variables by ζ n,n = √ s n and, for k decreasing from n to 1,

2 .

 2 Case where σ = -1. If σ = -1, then Q • W = cW , and one has

  the complex Brownian motion H • dW provided by Theorem has real part ( H • dW ) = aU + bV ; so aU + bV is complemented by the imaginary part ( H • dW ).

  For t ≥ s > 0 and ζ any r.v. measurable in F Z s and valued in C * , we denote by Sol(C, s, t, ζ) the value at time t of the solution on the time interval [s, +∞[ of the stochastic differential equation dZ previsible and |H| = 1; so Z is a complex BM, and γ, the hitting time of 0 by a complex BM, must therefore be a.s. infinite. This shows that the above equation was well posed, with solution Z some complex BM started at time s from the value ζ. We have obtained the following statement.The process Sol(C, s, t, ζ) t≥s is a complex Brownian motion starting from ζ. Moreover, the random variable Sol(C, s, t, ζ) depends only on ζ and on the increments of C on the time interval [s, t].

	According to Proposition 1, the process Z t = Sol(C, s, t, z) can be obtained by
	first solving on the time interval [s, +∞[ the stochastic differential equation
	dR t = dA t +	dt 2R t	with initial condition R

t = Z t |Z t | dC t with initial condition Z s = ζ . A priori, the solution to this SDE is only defined on some interval [s, γ[, where γ is the hitting time of 0 by Z . But setting dZ = dC on [γ, ∞[, one has dZ = H dC with H s = |ζ| ,

  1. Case where σ = 1. If σ = 1, then Q • W = cW , and stochastic calculus since the time spent by R below any level is infinite. Consequently, L+iM is a timechanged complex Brownian motion, and it almost surely visits the set i [-ε/2, ε/2]+ 2πZ ; so τ 1,ε is finite.

	yields
	d(L t + iM t ) =	dZ t Z t	-	dZ t Z t	=	1 R t	-	c R t	dW t ;
	so L + iM is a conformal local martingale. Now, (1/R t ) -(c/R t ) can be minorated
	by the imaginary part |b|/R t ; or, if b = 0 and c = -1, by 1/R t . This minoration
	entails that
	L t = M t =	1	t	1 R s	-	c R s	2	ds → +∞	as t → +∞ ,

  2, are solutions of stochastic differential equations governed by the same Brownian motion U , namely, dR s = dU s + ds 2R s and dR s = dU s + ds 2R s with initial conditions R 1 = |Z 1 | and R 1 = 1. Almost surely, |Z 1 | = 1; hence, by noticing that the quantity ln |R t -R t | = ln |R 1 -R 1 | -

	t	ds
	1	2R s R s

A filtration F is said to be immersed in a filtration G when every F-martingale is a G-martingale.

Given four filtrations F, G, F and G with F immersed in G and F immersed in G , the immersion of F in G is isomorphic to the immersion of F in G if G and G are in correspondence by some isomorphism which maps F onto F .

A k-dimensional Z-BM B is called maximal if no other k-dimensional Z-BM generates a strictly bigger filtration than B.


John Samuel
email: samuel@isima.fr

Christophe Rey Limos
email: christophe.rey@univ-bpclermont.fr

DaWeS: Data Warehouse fed with Web Services

Keywords: médiation, entrepôt de données, services web, ETL, intégration de données, réécriture de requêtes mediation, data warehouses, web services, ETL, data integration, query rewriting

Nous présentons un prototype, appelé DaWeS, d'entrepôt de données alimenté par des services web. La spécificité de DaWeS est son approche médiation (intégration de données sans matérialisation) comme outil ETL (extraction, transformation et chargement des données). Cette approche permet d'automatiser une grande partie du processus ETL, tout en facilitant les interventions humaines par l'emploi exclusif de langages déclaratifs (requêtes datalog, SQL, XSD, XSLT). Le contexte de cette étude est celui des standards relatifs aux services web les plus utilisés car les plus simples (HTML, HTTP, REST, XML, JSON), et non des standards plus élaborés mais moins utilisés (SOAP, UDDI, WSDL, SA-WSDL, OWL-S, hRESTS). En termes applicatifs, l'ambition est de permettre à l'administrateur de DaWeS de proposer aux petites et moyennes entreprises un service de stockage et d'interrogation de leurs données métier liées à l'utilisation de services web tiers, sans avoir elles-mêmes à gérer leur propre entrepôt. En particulier, DaWeS permet la définition facile d'indicateurs de performance personnalisés.

ABSTRACT. We present a prototype, called DaWeS, which is a Data Warehouse fed with Web Services. The main feature of DaWeS is to use a mediation approach (data integration without materialization) as the ETL tool (data extraction, transformation and loading). This approach enables to automate many steps of the ETL process, while facilitating human interventions by exclusively relying on declarative languages (datalog queries, SQL, XSD, XSLT). The context of this work consists of the mostly used (because the simplest) web services standards (HTML, HTTP, REST, XML, JSON), and not of the more complex but less used ones (SOAP, UDDI, WSDL, SA-WSDL, OWL-S, hRESTS). In terms of applications, the aim is to allow a DaWeS administrator to provide to small and medium companies a service to store and query their business data coming from their usage of third-party services, without having to manage their own warehouse. In particular, DaWeS enables the easy design of personalized performance indicators.

Introduction

The past two decades have seen the rise of many Web Services (WS) providers offering a reduced subset of services rather than the traditional bloated software applications. These services are heterogeneous, autonomous and ever evolving. Enterprises using WS have no direct control over the underlying data infrastructure and thereby over their own business data. The only convenient mechanism for enterprises to access and manipulate their data is through application programming interface (API) exposed by service providers to allow the clients to build their own internal dashboards. WS APIs differ among each other significantly with respect to the use of different message formats, authentication mechanisms, service level agreements, access patterns, data types, and the choice of input, output and error parameters. APIs are mostly described using human readable (HTML) web pages. Furthermore service providers often make updates to their services (addition and deprecation of resources, change in the API or SLA). These changes may lead to the losing of past enterprise data. All the aforementioned challenges make it difficult for small and medium scale enterprises with lesser human resources and expertise to easily integrate with numerous WS.

Companies traditionally use a data warehouse to perform business analysis, compute performance measures (aka indicators) and track their growth. The purpose of our work is to aid enterprises using WS for their day to day business activities with a data warehouse service. We are building a multi-enterprise Data Warehouse fed with Web Services (DaWeS) able to fetch interesting data from various WS and expose them in a manner so that the end users can compute their own interesting performance indicators without having to manage their own warehouse.

In this paper, we present an experimental study of a prototype which aims at being a convenient and realistic semi-automated system. Indeed, our goal is not to build a fully automated WS fed data warehouse, which seems quite impossible, but to ease as much as possible the coding burden of adding and updating new WS (achievable by only a couple of developers or administrators). The feeding of the data warehouse is achieved through the use of mediation techniques associated to a generic wrapper. Though our experiments focus on REST (like) services given their popularity, it can be easily extended to SOAP services and the possible future availability of machine readable standards like WSDL will further reduce the administrators' tasks.

In section 2, we concretely explore three domains to determine what are the mostly used WS standards. Section 3 formally presents the mediation approach, coupled with the generic wrapper, used to feed the data warehouse. Section 4 describes DaWeS architecture, development and the various experiments. Section 6 describes the various related works. Finally we conclude by describing current and future works.

Data Warehouse and Web Services

This section surveys 12 WS belonging to three business domains to establish the mostly used WS standards that are effectively used by service providers. The three studied domains are email marketing, project management and helpdesk (support). Email marketing is a form of direct marketing which uses email campaigns as a means for communicating to a wide (subscribed) audience about new products and technologies. Project management encompasses many activities : planning and estimation of projects, decomposing them to several tasks and tracking their progress. Helpdesk is focused on managing customers' (intended or current) problems, complaints and suggestions on an online web portal internally tracked using tickets.

The 12 surveyed WS are project management (Basecamp : www.basecamp.com, Liquid Planner : www.liquidplanner.com, Teamwork : www.teamworkpm.net and Zoho Projects : www.zoho.com/projects), email marketing (iContact : www.icontact.com, CampaignMonitor : www.campaignmonitor.com and MailChimp : mailchimp.com) and helpdesk (Zendesk : www.zendesk.com, Desk : www.desk.com , Zoho Support : www.zoho.com/support, Uservoice : www.uservoice.com and FreshDesk : www.fresh desk.com). Each of the previous service may propose many operations, each of which has a callable API. The characteristics of these APIs are given in table 2 where WS are classified according to : the language in which APIs are described (i.e., documented), their REST compliance [START_REF] Fielding | Architectural Styles and the Design of Network-based Software Architectures[END_REF], their version of the API, their authentication method, the resource they deal with (e.g. task or todo in a project management service, ticket in an helpdesk service), their message format, the used service level agreement (constraints on the operations usage) their HTTP access method, the used data types, their handling of dynamic resources (resources which value can evolve), mandatory constraints during operation invocation (e.g. to get all the tasks, it first requires in Teamwork to get all the projects, following retrieving all the task lists in all the projects and finally followed by obtaining the tasks from all the task lists), and their pagination features (i.e., one or many call(s) to retrieve all data). From these characteristics, an average profile of WS emerges : describing services with HTML, following the REST architecture, using basic HTTP authentication with a GET access, XML or JSON as message format, enumeration and date as data types, dynamic resources and sequence operation invocation. This average profile clearly focuses on simplicity. The consequence is a low level of service management automation. For example, none of these services are described using a computer-oriented language (with or without semantic features) like WSDL (W3C, 2001), SA-WSDL [START_REF] Kopecký | SAWSDL Semantic Annotations for WSDL and XML Schema[END_REF], DAML-S [START_REF] Burstein | DAML-S : Web Service Description for the Semantic Web[END_REF], OWL-S [START_REF] Martin | Bringing Semantic Annotations to Web Services OWL-S from the SAWSDL Perspective[END_REF], hRESTS [START_REF] Kopecký | hRESTS An HTML Microformat for Describing RES-Tful Web Services[END_REF]. This situation is also confirmed by Programmable-Web (ProgrammableWeb, 2013), a directory which documentes 10,555 APIs and in which a vast majority (around 69%) are REST based WS.

So the existing standards aiming at a better automation of WS management are not really used and widely spread yet. It thus seems important to investigate a semiautomated approach to build a WS fed data warehouse, keeping the requirement of reducing the code burden needed to maintain such a system. Unlike the traditional WS discovery issue, in the DaWeS context, the services discovery does not really need to be automated since it's up to the user to inform the system about the services he's using. So, the real automation problem resides in the automated connection between the warehouse and the known web services that will be its data sources. WSDL is typically a technology that is meant for enabling the automated generation of a wrapper between the system and a WS. But even if we could use such standard, it wouldn't solve the entire problem. Indeed, having a wrapper allows to call the WS. But it does not link the semantics of what the service can do (e.g. what kind of data it can provide) to the semantics of the system which is the one the user knows (typically given by the schema of the warehouse).

The solution we describe in the next section is to manually achieve the connection between DaWeS and WS in a twofold manner : (i) dedicating the greatest part of the manual effort to establish the semantic connection between data in DaWeS and data coming from the WS, and (ii) trying to reduce the daily coding effort to deal with syntactic mismatches. (i) will be obtained via a mediation approach, and (ii) via the building of a generic wrapper and the use of declarative languages only for each manual task.

Mediation as ETL

In the data integration field, mediation [START_REF] Wiederhold | Mediators in the Architecture of Future Information Systems[END_REF] is the main virtual approach to provide a uniform query interface to multiple heterogeneous and autonomous data sources. Every source has its own (local) schema linked via mappings to the mediated or global schema (i.e., the schema of the mediator) over which the user queries are formulated. The approach is virtual because the global schema does not contain any data. After the user has posed her query over the global schema, this query is reformulated into a set of queries such that each of them can be posed over a special source. After each source has given its results, these are merged into the mediator and presented to the user. Among the different kind of mappings between the local and the global schema (see [START_REF] Chawathe | The TSIMMIS Project Integration of Heterogeneous Information Sources[END_REF][START_REF] Duschka | Answering Recursive Queries Using Views[END_REF][START_REF] Ullman | Information integration using logical views[END_REF][START_REF] Friedman | Navigational Plans For Data Integration[END_REF]), the Local As View (LAV) mappings are known to allow easy addition, update and removal of sources [START_REF] Ullman | Information integration using logical views[END_REF]. Indeed, adding, updating and removing a LAV mapping can be done without modifying anything else than the mapping itself. This is due to the fact that a LAV mapping is defined as a query over the global schema. Another consequence is that defining a mapping is done using a declarative query language, and not through the programming of a piece of software, which is easier, quicker and less constraining.

Thus, the mediation with LAV mappings approach fits particularly well our need to easily (thus manually) connect to multiple and heterogeneous WS. It becomes the ETL (extraction-transformation-loading) tool of our data warehouse. This implies WS are considered as relational data sources. Since the access to WS is constrained by precise input values, to get output data, then WS must be considered as relational data sources with access patterns that specify which attributes are inputs and which are outputs. More precisely, each operation provided by a WS is modeled as a relation associated to an access pattern [START_REF] Ullman | Principles of Database and Knowledge-Base Systems[END_REF] being a tuple of b and f letters written besides the relation name. In this tuple, b (for "bound") in i th position says the i th attribute is an input ; f (for "free") says it is an output.

Example 1. : Let us consider three WS in the helpdesk domain : Zendesk, Uservoice and Desk. They allow customers to submit their complaints. These are tracked by tickets. Every ticket has an associated priority and status. Some need immediate attention and therefore have high priority. When a ticket is created, its status is open and when resolved, its status is completed (or closed).

Here are attribute names given to ticket related information. A page is an answer of an API call. pgno is a page number, pgsize is a number of tickets in one page, limit is a number of results in a page, tkid is a ticket identifier, tkn is a ticket name, tkcd is a ticket creation date, tkdd is a ticket due date, tkcmpd is a ticket effective completion date, tkp is a ticket priority and tks is a ticket current status. src is a WS name, and operation is an operation name.

We want DaWeS to be connected to these services so that customers can get performance indicators about the handling of their complaints. Towards this purpose, each WS offers at least one operation callable through its API (see table 1). For these services to be connected to DaWeS, the global schema must contain relations that describe the domain. Here are the two relations extracted from the global schema that describe everything linked to the notion of ticket :

Ticket(tkid, src, tkname, tkcdate, tkddate, tkcmpdate, tkpriority, tkstatus) Page(pgno, src, operation, limit) Now, the following queries define the LAV mappings between each operation and the global schema (these are conjunctive queries written in the rule-style syntax) :

D2TC f f (pgno, pgsize) ← Page(pgno, Desk v2 API , Deskv2Case , pgsize).
D2C bbf f f f f (pgno, pgsize, tkid, tkn, tkcd, tkp, tks) ← Page(pgno, Desk v2 API , Deskv2Case , pgsize), Ticket(tkid, Desk v2 API , tkn, tkcd, tkdd, tkcmpd, tkp, tks).

ZT f (tkid) ← Ticket(tkid, Zendesk v1 API , tkn, tkcd, tkdd, tkcmpd, tkp, tks).

ZST f (tkid) ← Ticket(tkid, Zendesk v1 API , tkn, tkcd, tkdd, tkcmpd, tkp, Closed ).

ZTD bf f f f f f (tkid, tkn, tkcd, tkdd, tkcmpd, tkp, tks) ← Ticket(tkid, Zendesk v1 API , tkn, tkcd, tkdd, tkcmpd, tkp, tks).

UTT f f (pgno, pgsize) ← Page(pgno, Uservoice v1 API , Uservoicev1Ticket , pgsize).

UT bbf f f f f (pgn, pgs, id, tkn, tkcd, tks, tkp) ← Page(pgn, Uservoice v1 API , Uservoicev1Ticket , pgs), Ticket(id, Uservoice v1 API , tkn, tkcd, tkdd, tkcmpd, tkp, tks).

Once the global schema and the LAV mappings are built, the user is able to pose her query over the global schema without dealing with the source relations intricacies. The query will then be automatically transformed by a query rewriting algorithm into a query plan, which describes the sequence of API operation calls (from potentially different WS) needed to answer the user query.

The classical query rewriting algorithms include bucket algorithm [START_REF] Levy | Query-Answering Algorithms for Information Agents[END_REF], inverse rules algorithm [START_REF] Duschka | Answering Recursive Queries Using Views[END_REF][START_REF] Duschka | Recursive Query Plans for Data Integration[END_REF] and minicon algorithm [START_REF] Pottinger | A Scalable Algorithm for Answering Queries Using Views[END_REF]. They compute the so-called maximally contained rewritings which allow to obtain the certain answers of a query. Informally, this means that the computed answers are not false, at the computation time, in every source. So, for example, if two services deliver different status for the same ticket id, these status does not belong to the certain answers and will not be presented in the query result. In DaWeS, we chose inverse rules algorithm [START_REF] Duschka | Answering Recursive Queries Using Views[END_REF][START_REF] Duschka | Recursive Query Plans for Data Integration[END_REF] since it can handle access patterns in the data sources description and is the only algorithm (up to our knowledge) being able to rewrite datalog recursive queries posed to the global schema (for conjunctive queries as LAV mappings). Moreover it is shown in [START_REF] Abiteboul | Complexity of Answering Queries Using Materialized Views[END_REF] that generating a query plan can be done in polynomial time with respect to the data complexity (i.e., in the sizes of the query and the mappings). This ensures, at least theoretically, quite good performances. Besides, various integrity constraints on the global schema like full and functional dependencies can also be handled by this algorithm.

Example 2. In the context of example 1, we now consider a record definition. Note that we use a special function here called yesterday(), which is executed before the query evaluation, to obtain yesterday's date. The record we define is called Daily New Tickets (DNT) : it is the number of tickets that were created yesterday.

DNT(tkid, src, tkn, tkp, tks) ← Ticket(tkid, src, tkn, yesterday() , tkdd, tkcmpd, tkp, tks).

The following program is the query plan which is the rewriting of query DN T .

This rewriting is a bit long, but we emphasize the fact that it is a real case which is described here. Now, from the previous records DN T , we can define with SQL queries the following performance indicators : Total New Tickets Registered in a month, Total High Priority Tickets Registered in a month and Percentage of High Priority Tickets Registered in a month. For example the performance indicator Total High Priority Tickets Registered in a month definition will be : SELECT count(tkid) FROM DNT WHERE tkcdate < sysdate and tkcate > sysdateinterval '30' day AND tkpriority='High' ;

In DaWeS, user queries are performance indicators definitions. We have chosen to distinguish two kinds of performance indicators : basic ones, called records, and complex ones, called performance indicators. Indeed, even if the inverse-rules algorithm enables the user to pose recursive datalog queries, the rewriting process is not able to deal with any aggregation function, which are mandatory to define interesting performance indicators. So the idea is first to use mediation with the rewriting process to get data from WS, then to materialize these data in the database of DaWeS, and at last to query these data to generate performance indicators. Records are user queries posed over the virtual global schema, that are rewritten during mediation to query WS and to fetch their data. Performance indicators are user queries posed over the materialized schema built with the record relations. Record queries are datalog queries. Performance queries are full SQL queries, extensible to all possible OLAP operators. Since records are materialized and business performance are computed from them, these can be updated easily when new data for the underlying records are fetched. This two layers query architecture is really interesting since it allows a user to easily change a service provider while still being able to compute her performance indicators with her full dataset (including the old data from the previous providers).

DaWeS architecture

The basic underlying architecture of DaWeS is shown in Figure 1. The ETL part of DaWeS is made up with three components : the query rewriter, the answer builder and the generic HTTP WS wrapper. The storage of DaWeS is organized in four schemas : the global schema (virtual), the API schema (virtual), the record schema (materialized) and the performance indicator schema (materialized). The last part is the query evaluator which is given by the underlying DBMS. When a DaWeS administrator wants to add a new WS API operation, he manually gathers all HTTP information (url, authentication, ...) and all operation response formats details (to make the link with DaWeS data formats). Then he manually defines the LAV mapping and the record the operation will provide, both as queries over the global schema. The name and query of each LAV mapping (resp. record) are stored in the API schema (resp. record schema). After this, a DaWeS user can define her own performance indicator by a query over the record and/or the performance indicator schemas. The name and query of the indicator are stored in the performance indicator schema. Here, we emphasize the fact that no human intervention is devoted to programming in a high level (procedural) language (e.g. Java). Instead, only declarative languages are used here.

The automated process can then be executed. First, the query plan is computed by the inverse rule algorithm in the query rewriter from the record definition and the LAV mappings. Then the answer builder, which consists of a datalog query engine, executes the query plan. It sends to the generic wrapper the API calls in an internal format, which consists of the atoms of the query plan, along with the authentication and input parameters. The generic HTTP WS wrapper is then used to make the WS API operation calls and transform the response in a manner understood by the answer builder. The answer builder combine these answers to get the record values which are stored in the record database. The performance indicator can at last be computed by the underlying DBMS.

The generic HTTP WS wrapper is the component dedicated to effectively execute the query plan. It is generic in the sense that it can call any API operation, provided that some parameter values are given. These values are the HTTP information (URL, method, header and body contents, mechanism) and the answer format (the XSD schema of the response and XSLT translation to transform the API data formats to DaWeS desired data formats). In case of JSON message format, we translate it first to XML and then get its XSD and XSLT. As seen before, all these informations must be manually gathered when the service operations are modeled with respect to the global schema. But after this, the wrapper is able to automatically perform the right API operation call, and get back the results to DaWeS. Internally the wrapper consists of a response validator (using XSD) and a response tranformator (using XSLT). We also used cache in the wrapper in order to reduce the number of calls (the recently made operation response is cached for future use). When the answer builder requests for making an API call to the generic wrapper, the wrapper checks the cache whether the response is available and if available returns this cached response. Else the wrapper frames the HTTP header, method, body and URL for framing the API call with the input parameter values given by the answer builder. Once the response is obtained, the response validator ensures that the response schema is the same as that was registered before (else, it's a sign of possible API/operation level change). If the response is valid, the transformator makes use of the XSLT to transform the response to the desired format. This response is cached and then returned to the answer builder.

A special feature of DaWeS is that the warehouse schema, made up with the record and performance indicator schemas, is dynamic : the set of its relations will evolve in course of time, since we can add or delete new records or indicators. To handle this, we have followed a simple approach which consists of making use of only two big tables to store both the warehouse schema and its associated record and performance indicator data. This can be viewed as an extra logical layer between the schema exposed to the user and the implementation of the DBMS. It implies some small computation overhead, but ensures our warehouse schema can evolve transparently for the user.

DaWeS was tested with Intel(R) Pentium(R) Dual CPU @ 2.16GHz processor, a system memory of 3GiB and Ubuntu 13.04 (32 bits) operating system. We used Oracle 11g (11.2.0.1.0) as the database. DaWeS was developed and run using Java 1.7.0_25. We chose IRIS (Integrated Rule Inference System) [START_REF] Iris | Integrated Rule Inference System -API and User Guide[END_REF] as the datalog engine to perform query evaluation and configured it to make use of the generic HTTP WS wrapper during query evaluation in the answer builder. We chose IRIS considering its capability to handle adornments (to specify access patterns in the relations), func- tional symbols (generated with the inverse rules query rewriting), built-in predicates (like equality predicate EQUAL, useful to handle functional dependencies) and the capability to refer external sources during query evaluation.

Experiments

We performed various qualitative and quantitative tests on DaWeS. The first step was to create realistic business-like data : we used the web interfaces of each tested service as if we were a company using it. Then we run qualitative test followed by quantitative ones. Qualitative tests aim at checking if the process computes what it is expected to. The characteristics of the tests undertaken by us is summarized in the table 5. We considered the record definitions in Table 5 created similarly as in example 2. The performance indicators considered by us are given in the Table 5.

Grounding our tests on data we had given to the WS via their associated web sites enabled us to easily check if the records and performance indicators computations were right, which was the case. Moreover, the generic wrapper was able to make API calls to any web service. Of course, these results heavily depend on the precise modeling of LAV mappings, HTTP information and answer formats. For example, if the domains of attributes, in predicates with access patterns, are not distinguished accor- ding to the WS they refer to, then the query plan may imply uninteresting answers. This is the case when output data from operation 1 from service 1 are taken as input for operation 2 from service 2, just because they have the same domain of values. In example 2, if we used only the domains (PgNo, PgSize) instead of (DPgNo, DPgSize, UPgNo, UPgSize), the output page numbers and page sizes from UTT may become input to D2C resulting in unexpected answers. Secondly, the output of UTT and D2C is actually the total number of tickets and cases respectively, these have been transformed to (pgno, pgsize) combination using XSLT. Therefore it requires certain human effort to deal with such cases, where direct composition may not work. Thirdly XSD aren't usually provided in the service documentation and only example XML (JSON) responses are available for reference. It takes additional effort to create and validate XSD from the examples since often there may be discrepancies (extra or missing XML elements or attributes) in the results obtained by actual API calls and the given XML examples. Overall, the time taken to manually read the HTML documentation to declaratively describe the API is 3-4 hours.

Concerning the quantitative tests, figure 2 shows the time taken to compute the records given in table 5. Since our performance results highly depend on network communication times, the computation times were each measured 100 times so as to obtain an average time where the influence of network traffic peaks is limited. In figure 2, the total (average) time of fetching the 17 records was 104.82 seconds. Each of the 17 times are also average times. We can see that the cache implemented in the generic wrapper has a real impact on performances. Indeed, some records (2,3,4,6,7,[START_REF] Abiteboul | Active XML Peer-to-Peer Data and Web Services Integration[END_REF]9,11,14,15,17) can use the cached data from other ones (1,5,10,13,16). For example, record 14 can used the cached data of record 13 because the ticket details have already been fetched from the various services during the query evaluation of 13, transformed and cached, the transformed WS responses can as well be used for record 14. That's why we observe on the first chart in figure 2 high values for records 1,5,10,12,13,16, and low values for the others. This point is checked also in the second chart which shows the number of API operation calls made during the query evaluation for every record definition. It shows how cache performs optimization by avoiding the repetition of calls.

Related Works

In DaWeS, 3 important issues are handled : (i) mediation with WS as sources, (ii) generic wrapping to WS, and, (iii) mediation as an ETL tool to feed a data warehouse.

Considering (i), an important approach for performing data integration using WS is ActiveXML [START_REF] Abiteboul | Active XML Peer-to-Peer Data and Web Services Integration[END_REF][START_REF] Salem | Active XML-based Web Data Integration[END_REF], a language that extends XML to allow the embedding of WS calls. We think that ActiveXML could be a possible extension to DaWeS. The generic wrapper could be extended to create ActiveXML documents so that we can connect to ActiveXML services. In such an extension, we would just use the intentional part of ActiveXML documents, since using the extensional part means storing data besides calls, what we do not (nor want) to do. So using ActiveXML in this way would be somehow contradictory with one of its main objectives which is to develop a dynamic and powerful data oriented scheme for distributed computation (e.g. peer-to-peer data integration). Indeed, DaWeS is a centralized system, since it is in fine a data warehouse. Other approaches related to (i) and closer to DaWeS than ActiveXML are surveyed in table 6. About (ii), [START_REF] Benatallah | Developing Adapters for Web Services Integration[END_REF][START_REF] Van Den | Configurable adapters the substrate of selfadaptive web services[END_REF] have discussed configurable adapters (wrappers) before to deal with WS replacement and evolution. Compared to DaWeS, their main drawback is they are dependent on (so restricted to) the use of various business standards like BPEL. DaWeS is aimed at working with what is actually used to expose WS API. So focusing on one particular standard, at the exclusion of the others, is not the aim of DaWeS. DaWeS requires manual intervention for translating human readable (HTML web pages) interface description to a desired internal format (LAV Mapping, XSD and XSLT for every WS API operation). Several machine readable interface descriptions to syntactically and semantic describe the WS API operations like WSDL (W3C, 2001), WADL [START_REF] Hadley | Web Application Description Language (WADL)[END_REF] and hRESTS [START_REF] Kopecký | hRESTS An HTML Microformat for Describing RES-Tful Web Services[END_REF] are useful for automatic code generation of the wrapper. An industry wide acceptance of these standards is a major concern. A generic wrapper in our context of integrating with numerous WS is easier to manage than having a wrapper for every web service. Also the generic wrapper takes as input a declarative approach to WS, making it furthermore easier to manage. Tableau 6. Data Integration and Web Services : State of the Art Characteristics a. DaWeS b. [START_REF] Zhu | Dynamic Data Integration Using Web Services[END_REF] c. (Benslimane et al., 2008) d. [START_REF] Thakkar | A View Integration Approach to Dynamic Composition of Web Services[END_REF] e. [START_REF] Barhamgi | Composing and optimizing data providing web services[END_REF] 1 Concerning (iii), we recall from [START_REF] Trujillo | A UML Based Approach for Modeling ETL Processes in Data Warehouses[END_REF] the main tasks characterizing the conceptual UML model of the ETL process : selection of the sources, transformation of the data from the sources, joining the sources to load the data for a target, finding the target, mapping the data source attributes to the target attributes and loading the data in the target. Clearly, DaWeS closely follows these requirements : the query rewriting algorithm ensures the selection and joining of the sources, the wrapper joins the sources to load the data and uses the XSLT files to perform data transformation in accordance to the target (record) schema, and the query response constitutes the data for the target. As a special feature, DaWeS enables the handling of a dynamic schema, which is transparent for the user (cf section 4). On one side, this is very convenient for the user to be able to quickly define new performance indicator. On the other side, it is less straightforward to applying popular data warehouses storage approaches, like the Inmon approach [START_REF] Inmon | Building the Data Warehouse[END_REF], based on the use of normalized 3NF tables and the Kimball approach [START_REF] Kimball | The Data Warehouse Toolkit Practical Techniques for Building Dimensional Data Warehouses[END_REF], defining the star schema storage organization. For example, it is not clear yet what is the impact of our dynamic schema on the handling of advanced performance indicators like the CUBE operators (used along with the star schema).

Conclusion

The growing use of WS among the enterprises cannot be undermined. Our prototype shows it is possible to build a data warehouse fed with web services which is aimed towards scalability and adaptability and which can be managed using declarative languages only. Mediation as an ETL approach used along with the generic HTTP WS wrapper demonstrates that the extraction of data from WS is not as complex compared to the various web scraping techniques and wrappers for textual sources and legacy databases, even with basic WS standards.

DaWeS has several other components like calibration and error handling that have not been described here due to space limitations. Records and performance indicators are periodically calibrated using various test data and WS data so as to ensure their accuracy. Calibration is used in conjunction with the error handling (errors like unexpected response format) to detect any (unannounced API change) and to trigger a manual intervention (update LAV Mapping, XSD, XSLT...). We are currently working towards a static optimization on the domain rules to reduce the API operation calls for operations that have functional dependencies on their input attributes . We want to extend DaWeS with additional set of constraints in the form of more tuple generating dependencies (TGD) than just functional dependencies. It will be further extended to a cloud infrastructure reaping the benefits of just two tables for the enterprise data.

Figure 1 .

 1 Figure 1. DaWeS : Basic ArchitectureWhen a DaWeS administrator wants to add a new WS API operation, he manually gathers all HTTP information (url, authentication, ...) and all operation response formats details (to make the link with DaWeS data formats). Then he manually defines the LAV mapping and the record the operation will provide, both as queries over the global schema. The name and query of each LAV mapping (resp. record) are stored in the API schema (resp. record schema). After this, a DaWeS user can define her own performance indicator by a query over the record and/or the performance indicator schemas. The name and query of the indicator are stored in the performance indicator schema. Here, we emphasize the fact that no human intervention is devoted to programming in a high level (procedural) language (e.g. Java). Instead, only declarative languages are used here.

Figure 2 .

 2 Figure 2. DaWeS : average times to fetch record data and number of API calls.

  Tableau 1. Web Service API Analysis on three domains

	Project Management	Basecamp	LiquidPlanner	Teamwork	Zoho Projects
	1. API Description		HTML page		HTML page		HTML page	HTML page
	2. Conform to REST		REST like		REST like		REST like	Not REST
	3. Version		v1		3.0.0			N.A.	N.A.
	4. Authentication		Basic HTTP, OAuth 2	Basic HTTP		Basic HTTP	Basic HTTP
	5. Resources Involved		Project,Todo	List,	Project, Task		Project, Task List,	Project, Task List,
			Todo					Task	Task
	6. Message Formats		JSON		JSON			XML, JSON	XML, JSON
	7. Service Level	Max 500 requests /10s	Max 30 requests	Max 120 requests	Error code :6403
	Agreement		from same IP address	/15s	for	same	/1min	on exceeding the li-
			for same account	account			mit
	8. HTTP Access		GET		GET			GET	POST
	9. Data Types (dt)		Enumerated dt (Pro-	Enumerated dt (Pro-	Enumerated	dt	Enumerated	dt
			ject and Todo Status),	ject and Task Sta-	(Project and Task	(Project and Task
			Date		tus), Date		Status), Date	Status), Date
	10. Dynamic nature of	Yes (Project and Task	Yes (Project and	Yes (Project and	Yes(Project	and
	the resources		Status)		Task Status)		Task Status)	Task Status)
	11. Operation Invoca-	Sequence Required	Sequence Not Re-	Sequence Required	Sequence Required
	tion				quired
	12. Pagination		No		No			No	Yes
	Email Marketing		Mailchimp		CampaignMonitor	iContact
	1. API Description		HTML page			HTML page	HTML page
	2. Conform to REST		Not REST			REST like	REST like
	3. Version		1.3			v3		2.2
	4. Authentication		Basic HTTP			Basic HTTP, OAuth 2	Basic HTTP (with Sandbox)
	5. Resources Involved		Campaign, Campaign Sta-	Campaign,	Campaign	Campaign, Campaign Statis-
			tistics			Statistics	tics
	6. Message Formats		XML, JSON, PHP, Lolcode	XML, JSON	XML, JSON
	7. Service Level Agree-	N.A.			N.A.		75,000 requests /24h, with a
	ment							max of 10,000 requests /1h
	8. HTTP Access		GET			GET		GET
	9. Data Types (dt)		Enumerated Data types	Enumerated Data types	Enumerated Data types
			(Campaign Status), Date	(Campaign Status), Date	(Campaign Status), Date
	10. Dynamic nature of	Yes (Campaign Status)		Yes (Campaign Status)	Yes (Campaign Status)
	the resources
	11. Operation Invocation	Sequence Required		Sequence Required	Sequence Not Required
	12. Pagination		Yes			No		No
	Support		Zendesk	Desk	Zoho Support	Uservoice	Freshdesk
	1. API Descrip-	HTML page	HTML page	HTML page	HTML page	HTML page
	tion
	2. Conform to	REST like	REST		Not REST	REST like	REST like
	REST
	3. Version	v1		v2		N.A.	v1	N.A.
	4. Authentication	Basic HTTP	Basic	HTTP,	Basic HTTP	OAuth 1.0	Basic HTTP
				OAuth 1.0a
	5. Resources In-	Forum, Topic,	Case		Task		Forum, Topic,	Forum, Topic,
	volved	Ticket					Ticket	Ticket
	6. Message For-	XML, JSON	JSON		XML, JSON	XML, JSON	JSON
	mats
	7. Service Level	Limit exists (but	60 requests per	250 calls /day	N.A.	N.A.
	Agreement	unknown)	minute		/org (Free)
	8. HTTP Access	GET	GET		GET	GET	GET
	9. Data Types (dt)	Enumerated dt	Enumerated dt	Enumerated dt	Enumerated dt	Enumerated dt
		(Ticket Status),	(Case Status),	(Task Status),	(Ticket Status),	(Ticket Status),
		Date	Date		Date		Date	Date
	10. Dynamic re-	Yes (Ticket Sta-	Yes (Case Sta-	Yes (Task Sta-	Yes (Ticket Sta-	Yes (Ticket Sta-
	sources	tus)		tus)		tus)		tus)	tus)
	11. Operation In-	Sequence	Sequence		Sequence	Sequence	Sequence
	vocation	Required	Required		Required	Required	Required
	12. Pagination	Yes		Yes		Yes		Yes	No

  whose size is equal to the number of attributes in a relation. Syntactically, the access pattern is represented by an adornment Tableau 2. Helpdesk WS and their operations

	Service	Operation name	Inputs	Outputs
	Desk	Deskv2TotalCases (D2TC)	None	Total nb of tickets : pgno, pgsize
	v2 API	Deskv2Case (D2C)	pgno,	One page tickets details : tkid,
			pgsize	tkn, tkcd, tkp, tks
	Zendesk	Zendeskv1Ticket (ZT)	None	All ticket id : tkid
	v1 API	Zendeskv1SolvedTicket (ZST)	None	All closed tickets id : tkid
		Zendeskv1TicketDetails (ZTD)	tkid	One ticket details : tkn, tkcd,
				tkdd, tkcmpd, tkp, tks
	Uservoice	Uservoicev1TotalTickets (UTT)	None	Total nb of tickets : pgno, pgsize
	v1 API	Uservoicev1Ticket (UT)	pgn,	One page tickets details : id, tkn,
			pgs	tkcd, tkp, tks

  Tableau 3. Characteristics of the Qualitative Tests

	Characteristics	Description
	1. Nb of domain of WS	3
	2. Nb of Web services considered	12
	3. Nb of API operations considered	35 (Operations, so 35 LAV Mappings)
	4. Nb of Global Schema Relations	12
	5. Nb of Test Organizations	100 (homogeneous test organizations)
	6. Message Formats	XML, JSON
	7. Authentication Mechanisms	HTTP basic authentication, OAuth 1.0
	8. Operation details	No, one or more input parameters ; pagination
	9. Nb of Record Definitions	17
	10. Nb of Perf. Indicator Queries	20
	11. Data types	Strings, Integers, Dates, Enumerated data types
	Tableau 4. Record Definitions
	Project Management		Support (Helpdesk)	Email Marketing
	Daily New Projects(1), Daily Active Pro-	Daily New Forums(10),	Daily New Cam-
	jects(2), Daily OnHold Projects(3), Daily	Daily All Forums(11),	paigns(16) and
	OnHold or Archived Projects(4), Daily	Daily New Topics(12),	Daily Campaign
	New Tasks(5), Daily Open Tasks(6), Daily	Daily New Tickets(13),	Statistics(17)
	Closed Tasks(7), Daily TodoLists(8), Daily	Daily Open Tickets(14),
	Same Status Projects(9)		Daily Closed Tickets(15)

  Tableau 5. Performance Indicator Queries

	Project Management	Support (Helpdesk)	Email Marketing
	Total Monthly New Projects,	Daily Average Resolution	Total Monthly New
	Total Monthly Active Projects,	Time, Total New Tickets Re-	Campaigns, Monthly
	Total Monthly OnHold Pro-	gistered in a month, Total New	Click Throughs of
	jects, Total Monthly Comple-	Forums Registered in a month,	Campaign,	Monthly
	ted Tasks, Average Tasks Com-	All Forums in a month, Total	Forwards of Campaign,
	pleted Daily in a month, Total	New Topics Registered in a	Monthly	Bounces
	Monthly New Tasks, Total Todo	month, Total High Priority	of Campaign, To-
	Lists, Percentage of tasks com-	Tickets Registered in a month,	tal Monthly Solved
	pleted to tasks created in a day	Percentage of High Priority	Tickets
		Tickets Registered in a month

Remerciements

We thank the Conseil General of the Region of Auvergne (France) and FEDER for funding our research project. We would also like to thank Franck Martin and Lionel Peyron of Rootsystem for their feedback during the development of DaWeS.