diff --git a/cds-ui/server/src/datasources/rest.config.json b/cds-ui/server/src/datasources/rest.config.json
new file mode 100644
index 0000000..86f33fb
--- /dev/null
+++ b/cds-ui/server/src/datasources/rest.config.json
@@ -0,0 +1,39 @@
+{
+   "name": "restConfig",
+   "connector": "rest",
+   "options": {
+      "headers": {
+          "accept": "application/json",
+          "content-type": "application/json"
+      }
+   },
+   "operations": [
+       {
+      "template": {
+         "method": "GET",
+         "url": ""
+      },
+      "functions": {
+         "getEnricheddata": [""]
+      }
+   },
+   {
+      "template": {
+         "method": "POST",
+         "url": ""
+      },
+      "functions": {
+         "saveBlueprint": [""]
+      }
+   },
+   {
+      "template": {
+         "method": "POST",
+         "url": ""
+      },
+      "functions": {
+         "test": [""]
+      }
+   }
+]
+}
\ No newline at end of file
diff --git a/cds-ui/server/src/datasources/rest.datasource.ts b/cds-ui/server/src/datasources/rest.datasource.ts
new file mode 100644
index 0000000..42cdb80
--- /dev/null
+++ b/cds-ui/server/src/datasources/rest.datasource.ts
@@ -0,0 +1,32 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2018-19 IBM Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+============LICENSE_END============================================
+*/
+
+
+import { juggler } from '@loopback/service-proxy';
+import * as config from './rest.config.json';
+
+
+export class RestDataSource extends juggler.DataSource {
+   static dataSourceName = 'rest';
+   constructor(dsConfig: object = config) {
+      super(dsConfig);
+   }
+}
diff --git a/cds-ui/server/src/services/rest.service.ts b/cds-ui/server/src/services/rest.service.ts
new file mode 100644
index 0000000..b94ea4d
--- /dev/null
+++ b/cds-ui/server/src/services/rest.service.ts
@@ -0,0 +1,46 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2018-19 IBM Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+============LICENSE_END============================================
+*/
+
+import {getService, juggler} from '@loopback/service-proxy';
+import {inject, Provider} from '@loopback/core';
+import {RestDataSource} from '../datasources/rest.datasource';
+
+
+export interface RestResponseData {
+   userId: number;
+   id: number;
+   title: string;
+   completed: boolean;
+}
+
+export interface RestService {
+   getrestdata(id?: number): Promise<RestResponseData>;
+}
+export class RestProvider implements Provider<RestService> {
+   constructor(
+      @inject('datasources.rest')
+      protected dataSource: juggler.DataSource = new RestDataSource(),
+   ) {}
+   
+   value(): Promise<RestService> {
+      return getService(this.dataSource);
+   }
+}
\ No newline at end of file
