diff --git a/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/adapter/README.txt b/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/adapter/README.txt
deleted file mode 100644
index f9f3a064a8060a6fac7ac2caba057ac521732a1d..0000000000000000000000000000000000000000
--- a/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/adapter/README.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-Put here classes from adapter layer :
-Data transformers, adapters, presenters or DAO. Abstraction of external libraries for
-application or business use.
-Web-services point, sockets, database connection and pool, GUI, file system, framework,
-external libraries.
\ No newline at end of file
diff --git a/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapui.java b/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapui.java
index 862e5f24be89d87e10aaf353fe20cff37796de94..dc4d502499269f4b51d20e637b0d4bd40a358db9 100644
--- a/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapui.java
+++ b/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapui.java
@@ -3,26 +3,45 @@ package net.ihe.gazelle.app.accesstokenproviderapi.application;
 import net.ihe.gazelle.app.accesstokenproviderapi.business.AccessTokenRequest;
 import net.ihe.gazelle.app.accesstokenproviderapi.business.SymmetricSignature;
 import net.ihe.gazelle.app.audienceretriever.adapter.AudienceSecretRetrieverForSoapui;
-import net.ihe.gazelle.app.audienceretriever.adapter.AudienceSecretRetrieverImpl;
+import net.ihe.gazelle.app.audienceretriever.application.AudienceSecretRetriever;
 import net.ihe.gazelle.modelapi.sb.business.EncodingException;
 import net.ihe.gazelle.sb.iua.business.TokenType;
 
 import java.time.Duration;
 
-public class DummyAuthzServerSoapui implements  DummyAuthzServer {
+public class DummyAuthzServerSoapui implements DummyAuthzServer {
 
     private static final String ALGORITHM = "HS256";
     private static final String ISSUER = "https://ehealthsuisse.ihe-europe.net/access-token-provider";
     private static final TokenType TOKEN_TYPE = TokenType.JWT;
     private static final Duration DURATION = Duration.ofHours(1);
+    private AudienceSecretRetriever audienceSecretRetriever;
 
+    /**
+     * Default constructor for the class.
+     */
+    public DummyAuthzServerSoapui() {
+        audienceSecretRetriever = new AudienceSecretRetrieverForSoapui();
+    }
+
+    /**
+     * Setter for the audienceSecretRetriever property.
+     *
+     * @param audienceSecretRetriever value to set to the property.
+     */
+    public void setAudienceSecretRetriever(AudienceSecretRetriever audienceSecretRetriever) {
+        this.audienceSecretRetriever = audienceSecretRetriever;
+    }
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
     public byte[] getAccessToken(String userId, String audienceId, String purposeOfUse, String resourceId) {
         //todo purposeOfUse and resourceId are not yet implemented
 
         TokenGenerator tokenGenerator = new TokenGenerator();
-        tokenGenerator.setAudienceSecretRetriever(new AudienceSecretRetrieverForSoapui());
+        tokenGenerator.setAudienceSecretRetriever(audienceSecretRetriever);
 
         return getTokenGenerator(userId, audienceId, tokenGenerator);
     }
diff --git a/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/README.txt b/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/README.txt
deleted file mode 100644
index 13b8d86e92813836491d776f448dfd3f0a81628f..0000000000000000000000000000000000000000
--- a/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/README.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Put here classes from application layer :
-Use cases. Business elements applied in an application context or scenario.
\ No newline at end of file
diff --git a/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/business/README.txt b/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/business/README.txt
deleted file mode 100644
index 277b09a0363f09d1d11ebcc56460392a69e4b60b..0000000000000000000000000000000000000000
--- a/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/business/README.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Put here classes from business layer :
-Business model, rules and constraints. Always true. Independent from the application.
\ No newline at end of file
diff --git a/access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapuiTest.java b/access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapuiTest.java
index acbfc3702e60189edac7735182c33ca91c848ddb..b59565da0e2c4d4426e22f5da44dda6de11fb78c 100644
--- a/access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapuiTest.java
+++ b/access-token-provider-api/src/test/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapuiTest.java
@@ -1,5 +1,6 @@
 package net.ihe.gazelle.app.accesstokenproviderapi.application;
 
+import net.ihe.gazelle.app.audienceretriever.application.AudienceSecretRetriever;
 import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
@@ -11,7 +12,8 @@ class DummyAuthzServerSoapuiTest {
     @Test
     public void test() {
         DummyAuthzServerSoapui dummyAuthzServer = new DummyAuthzServerSoapui();
+        dummyAuthzServer.setAudienceSecretRetriever((String audience) -> "secret");
+
         assertNotNull(dummyAuthzServer.getAccessToken(SUBJECT, AUDIENCE, null, null));
     }
-
 }
diff --git a/audience-retriever/pom.xml b/audience-retriever/pom.xml
index a191e10242df4e5fed6f549f4c7e83a64709bd36..df3b5e911c0a3c63d91769345822d9f8bcfb9d28 100644
--- a/audience-retriever/pom.xml
+++ b/audience-retriever/pom.xml
@@ -32,6 +32,14 @@
             <artifactId>framework.preferences-model-api</artifactId>
             <version>1.0.0</version>
         </dependency>
+
+        <!-- Implementation of Operational Preferences -->
+        <dependency>
+            <groupId>net.ihe.gazelle</groupId>
+            <artifactId>framework.operational-preferences-service</artifactId>
+            <version>1.0.0</version>
+        </dependency>
+
     </dependencies>
 
 </project>
diff --git a/dummy-authorization-server-service/pom.xml b/dummy-authorization-server-service/pom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b494a152864051db6b8c3bd11ccbbf2a36f97bc5
--- /dev/null
+++ b/dummy-authorization-server-service/pom.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>app.access-token-provider</artifactId>
+        <groupId>net.ihe.gazelle</groupId>
+        <version>1.0.0-SNAPSHOT</version>
+    </parent>
+
+    <groupId>net.ihe.gazelle</groupId>
+    <artifactId>app.dummy-authorization-server-service</artifactId>
+    <name>Dummy Authorization Server Service</name>
+    <version>1.0.0-SNAPSHOT</version>
+    <packaging>war</packaging>
+
+
+    <dependencies>
+        <dependency>
+            <groupId>javax</groupId>
+            <artifactId>javaee-api</artifactId>
+            <version>8.0.1</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>net.ihe.gazelle</groupId>
+            <artifactId>app.access-token-provider-api</artifactId>
+            <version>1.0.0-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
+    </dependencies>
+</project>
\ No newline at end of file
diff --git a/dummy-authorization-server-service/src/main/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/AuthorizationServerService.java b/dummy-authorization-server-service/src/main/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/AuthorizationServerService.java
new file mode 100644
index 0000000000000000000000000000000000000000..b0604fc90b89739515e7b17b044708a9dc73aff1
--- /dev/null
+++ b/dummy-authorization-server-service/src/main/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/AuthorizationServerService.java
@@ -0,0 +1,28 @@
+package net.ihe.gazelle.app.dummyauthorizationserverservice.adapter;
+
+
+import net.ihe.gazelle.app.accesstokenproviderapi.application.DummyAuthzServer;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.ext.Provider;
+import java.nio.charset.StandardCharsets;
+
+@Provider
+@Path(value="/mock-token")
+public class AuthorizationServerService {
+
+    @GET
+    public byte[] getAccessToken(String userId, String audienceId, String purposeOfUse, String resourceId){
+//        TODO Put real implementation but it doesn't work right now
+//        DummyAuthzServer dummyAuthzServer = new DummyAuthzServerSoapui();
+        DummyAuthzServer dummyAuthzServer = new DummyAuthzServer() {
+            @Override
+            public byte[] getAccessToken(String userId, String audienceId, String purposeOfUse, String resourceId) {
+                return "Tartes aux pommes".getBytes(StandardCharsets.UTF_8);
+            }
+        };
+        return dummyAuthzServer.getAccessToken(userId, audienceId, purposeOfUse, resourceId);
+    }
+
+}
diff --git a/dummy-authorization-server-service/src/main/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/DummyAuthorizationServerServiceApplication.java b/dummy-authorization-server-service/src/main/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/DummyAuthorizationServerServiceApplication.java
new file mode 100644
index 0000000000000000000000000000000000000000..90f6d456b3bdaf8c7aba3e1ca966b1388d6c72a4
--- /dev/null
+++ b/dummy-authorization-server-service/src/main/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/DummyAuthorizationServerServiceApplication.java
@@ -0,0 +1,23 @@
+package net.ihe.gazelle.app.dummyauthorizationserverservice.adapter;
+
+import javax.ws.rs.ApplicationPath;
+import javax.ws.rs.core.Application;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * Our Application
+ */
+@ApplicationPath("/")
+public class DummyAuthorizationServerServiceApplication extends Application {
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public Set<Class<?>> getClasses() {
+        Set<Class<?>> s = new HashSet<>();
+        s.add(AuthorizationServerService.class);
+        return s;
+    }
+}
diff --git a/dummy-authorization-server-service/src/main/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/OperationalPreferencesDummy.java b/dummy-authorization-server-service/src/main/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/OperationalPreferencesDummy.java
new file mode 100644
index 0000000000000000000000000000000000000000..34a7f6799fda60e08e126f2f99a1554a6f2a3d96
--- /dev/null
+++ b/dummy-authorization-server-service/src/main/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/OperationalPreferencesDummy.java
@@ -0,0 +1,21 @@
+package net.ihe.gazelle.app.dummyauthorizationserverservice.adapter;
+
+import net.ihe.gazelle.framework.preferencesmodelapi.application.OperationalPreferencesClientApplication;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Define mandatory preferences.
+ */
+public class OperationalPreferencesDummy implements OperationalPreferencesClientApplication {
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public Map<String, List<String>> wantedMandatoryPreferences() {
+        return new HashMap<>();
+    }
+}
diff --git a/dummy-authorization-server-service/src/main/resources/META-INF/beans.xml b/dummy-authorization-server-service/src/main/resources/META-INF/beans.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d29f9c2aedd99b79a8f82a7f18d27124c2e62358
--- /dev/null
+++ b/dummy-authorization-server-service/src/main/resources/META-INF/beans.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans bean-discovery-mode="all" version="2.0"
+       xmlns="http://xmlns.jcp.org/xml/ns/javaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
+                           http://xmlns.jcp.org/xml/ns/javaee/beans_2_0.xsd">
+</beans>
\ No newline at end of file
diff --git a/dummy-authorization-server-service/src/main/webapp/WEB-INF/jboss-web.xml b/dummy-authorization-server-service/src/main/webapp/WEB-INF/jboss-web.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b832b6ea657c580d51bc40526ad9c4dbf3e568f5
--- /dev/null
+++ b/dummy-authorization-server-service/src/main/webapp/WEB-INF/jboss-web.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jboss-web>
+    <context-root>authorization-server</context-root>
+</jboss-web>
\ No newline at end of file
diff --git a/dummy-authorization-server-service/src/main/webapp/WEB-INF/web.xml b/dummy-authorization-server-service/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e84277a95f80e2ed59f5518458b90b473057e968
--- /dev/null
+++ b/dummy-authorization-server-service/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,7 @@
+<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
+         http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
+         version="3.1">
+
+</web-app>
diff --git a/dummy-authorization-server-service/src/test/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/AuthorizationServerServiceTest.java b/dummy-authorization-server-service/src/test/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/AuthorizationServerServiceTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..059a97e8fcc7e6b8fbdb37994facc18d9bfe7c34
--- /dev/null
+++ b/dummy-authorization-server-service/src/test/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/AuthorizationServerServiceTest.java
@@ -0,0 +1,21 @@
+package net.ihe.gazelle.app.dummyauthorizationserverservice.adapter;
+
+import net.ihe.gazelle.app.accesstokenproviderapi.application.DummyAuthzServerSoapui;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class AuthorizationServerServiceTest {
+
+    private static final String SUBJECT = "aamrein";
+    private static final String AUDIENCE = "audience";
+
+    /**
+     * Test the generation of a token
+     */
+    @Test
+    public void getAccessToken() {
+        AuthorizationServerService authorizationServerService = new AuthorizationServerService();
+        assertNotNull(authorizationServerService.getAccessToken(SUBJECT, AUDIENCE, null, null));
+    }
+}
\ No newline at end of file
diff --git a/dummy-authorization-server-service/src/test/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/DummyAuthorizationServerServiceApplicationTest.java b/dummy-authorization-server-service/src/test/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/DummyAuthorizationServerServiceApplicationTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..1abdbf9f2e380298181c80658ac2a8ab3cd33f52
--- /dev/null
+++ b/dummy-authorization-server-service/src/test/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/DummyAuthorizationServerServiceApplicationTest.java
@@ -0,0 +1,24 @@
+package net.ihe.gazelle.app.dummyauthorizationserverservice.adapter;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.Set;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
+class DummyAuthorizationServerServiceApplicationTest {
+
+    /**
+     * Test class getter.
+     */
+    @Test
+    void getClasses() {
+        DummyAuthorizationServerServiceApplication application = new DummyAuthorizationServerServiceApplication();
+
+        Set classes = application.getClasses();
+
+        assertNotNull(classes, "Classes map shall not be null !");
+        assertEquals(1, classes.size(), "Classes map shall contain a single element !");
+    }
+}
\ No newline at end of file
diff --git a/dummy-authorization-server-service/src/test/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/OperationalPreferencesDummyTest.java b/dummy-authorization-server-service/src/test/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/OperationalPreferencesDummyTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..3bd30b4de8262009eedfc15b106f13c970ccc9a7
--- /dev/null
+++ b/dummy-authorization-server-service/src/test/java/net/ihe/gazelle/app/dummyauthorizationserverservice/adapter/OperationalPreferencesDummyTest.java
@@ -0,0 +1,25 @@
+package net.ihe.gazelle.app.dummyauthorizationserverservice.adapter;
+
+import net.ihe.gazelle.framework.preferencesmodelapi.application.OperationalPreferencesClientApplication;
+import net.ihe.gazelle.framework.preferencesmodelapi.application.OperationalPreferencesService;
+import org.junit.jupiter.api.Test;
+
+import java.util.Map;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class OperationalPreferencesDummyTest {
+
+    /**
+     * Test wanted mandatroy preferences list.
+     */
+    @Test
+    void wantedMandatoryPreferences() {
+        OperationalPreferencesClientApplication operationalPreferencesService = new OperationalPreferencesDummy();
+
+        Map wantedMandatoryPreferences = operationalPreferencesService.wantedMandatoryPreferences();
+
+        assertNotNull(wantedMandatoryPreferences, "Wanted Mandatory Preferences map shall not be null !");
+        assertEquals(0, wantedMandatoryPreferences.entrySet().size(), "Wanted Mandatory Preferences map shall be empty");
+    }
+}
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index b3aee7e793de7ec7e41636c2392cb87da4cc0dc3..adcb74b9202fc7c6e2977526e11f6148478c81d6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,6 +1,5 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
 
     <groupId>net.ihe.gazelle</groupId>
@@ -200,5 +199,6 @@
     <modules>
         <module>access-token-provider-api</module>
         <module>audience-retriever</module>
-    </modules>
+      <module>dummy-authorization-server-service</module>
+  </modules>
 </project>