Giter VIP home page Giter VIP logo

ciscodevnet / webex-contact-center-dbconnector Goto Github PK

View Code? Open in Web Editor NEW
12.0 21.0 3.0 25.37 MB

The Webex Contact Center DB Connector project enables access to SQL data sources from Webex Contact Center flow designer.

License: MIT License

JavaScript 84.94% HTML 3.28% TypeScript 3.76% CSS 0.01% Java 7.97% Dockerfile 0.03%
angular java jdbc mssql-database mssql-server mysql mysql-database rest-api sql

webex-contact-center-dbconnector's Introduction

license

Webex Contact Center DB Connector

Configuration Video

Connect SQL Servers with Webex Contact Center DB Connector

Overview

dbconnector1

The Webex Contact Center DBConnector is a full stack java application that enables you to connect your SQL data sources from the Webex Contact Center HTTP(S) Nodes on Flow Designer.

dbconnector2

Once deployed on a virtual machine or containerized environment using a dockerfile, it exposes a web application that helps an administrator configure the data source, setup the REST API authentication, and test connectivity including running live queries.

For more information on the walkthrough of the user interface and additional screenshots, refer the attached Presentation - dbConnector walkthrough

dbconnector1

Once the DB Connector app is configured and hosted along with a publicly reachable IP address and secure connectivity (HTTPS - with CA Signed Certificates) - the Flow Designer Node is configured to reach your database. For more information on Firewall configurations, refer the Security & Production Deployment section.

Background

The Webex Contact Center DB Connector is a full stack application that enables you to manage your SQL data source connectivity with Webex Contact Center.

It is powered by a Spring Boot backend that enables JDBC to authenticated REST API interfaces that are configurable by the administrator for GET/PUT/POST use cases based on the SQL Queries configured.

The frontend is built using Angular.

The application code is available open source on GitHub for extension along with accompanying Readmes on hosting options.

For the DB Connector to work effectively here is the 4 step process:

  1. Download, Build and Package the DB Connector JAR file or container - ready to be deployed and run on a production VM or container.

  2. Configure the properties of the production environment, including the Firewall settings, Reverse Proxy for reachability from the Internet, and CA Signed Certificates for HTTPS connectivity.

  3. Test using the DBConnector "TEST SQL Connectivity" and test the REST API calls using Postman.

  4. Configure your HTTP Node inside Flow designer to begin using the DB Connector application to query your SQL data sources.

Prerequisites

  • Java 1.9+

$ java --version

$ mvn --version

$ ng version

Usage

  1. Download the source code by cloning the repo or downloading the zip from https://github.com/CiscoDevNet/webex-contact-center-dbconnector

  2. $ unzip webex-contact-center-dbconnector-main.zip

  3. $ cd webex-contact-center-dbconnector-main

  4. Request for a Client ID & Client Secret pair from https://developer.webex-cx.com. Follow the steps mentioned in the Readme on how to get started with the Webex CC APIs and obtain a client ID / Client Secret:

  5. Update your application.yml with the credentials

Under src > main > java > application.yml

  1. Install the Dependencies for the frontend:

$ npm i @angular/cli@8

  1. Install dependencies and package the JAR:

$ mvn clean install

  1. Run the application

$ java -jar target/dbConnectorGitHub-0.0.2.jar

  1. Browse to the application at: http://localhost:8080/

  2. Login with Webex and follow the detailed walkthrough at: DB Connector - Walkthrough

Security & Production Deployment

For DB Connector to work effectively in production behind your premise firewall, there are 4 requirements:

  1. Authentication: Authentication of the REST API endpoint, configured in the Spring Security settings: By default, username and password authentication is supported, along with WebexCC OAuth2 for the administration portal. This is out of box and requires a configuration in the YAML settings.

  2. Firewall Settings: Allow list Webex Contact Center IP Addresses as the SRC (Source) IP Address. The block of IPs are listed in the Security Document. Link: https://help.webex.com/en-us/article/3srgv1/Security-Settings-for-Webex-Contact-Center

  3. Reverse Proxy: A reverse proxy is required for the DB Connector endpoint to be publicly reachable on the Cloud. This ensures that Webex Contact Center is able to reach your application over the public internet.

  4. CA Signed Certificates: The Web application needs to be hosted with a CA signed certificate for this to work effectively. This is a pre-requisite for HTTPS traffic between the HTTPClient (HTTP Node) on Flow Designer and the DB Connector application.

Support

The DB Connector application is available for free, and the open source code is shared to be able to extend the functionality to support more data sources.

Once built and deployed, the support of the DB Connector application needs to be handled by the partner or customer hosting this application on-premise or in the cloud.

Questions?

For Questions on building the application or best practices during deployment, please use the Cisco Developer Community Page:

Need Help? Visit the Webex Contact Center APIs Developer Community

Refer: How to Ask a Question or Initiate a Discussion

Change Log

Date Title Description
November 2021 Angular Upgrade Upgraded to angular 10.2.5
November 2021 Connector Refactoring Connectors now have separate pages so it is easier to add additional connectors: /app/connector <- main page /app/connector/mysql <- mysql connector page /app/connector/sqlserver <- sql server connector page
November 2021 Refactoring Moved src/main/resources/application.yml out of the jar file and renamed application.yml to application.properties
November 2022 Updates Readme updates, installation updates

License

© 2020 Cisco Systems, Inc. and/or its affiliates. All Rights Reserved. See LICENSE for details.

webex-contact-center-dbconnector's People

Contributors

arubhatt avatar jiwyatt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

webex-contact-center-dbconnector's Issues

{"Exception":"BAD END POINT"}

Hi,

When I try to request my endpoint directly, I have this message:
{"Exception":"BAD END POINT"}

But, inside my connector, I have this one:
SUCCESS
Endpoint authentication is active:false
Request:
https://fqdn_connector/rest/webexcc/71eb22fe-402b-4c09-9f01-40743fee4926?userid=145
Response:
{"ticket_count":"1"}
SQL:
SELECT COUNT(*) AS ticket_count FROM tjg30_ats_tickets

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.