Skip to main content

Posts

Showing posts from March, 2018

Oracle APEX – Amazon ALEXA integration WITHOUT Amazon Lambda ! (PART 2)

In the last blog post I prepared Oracle side. In this post I will show, how to prepare ALEXA Skill and how to integrate all layers.

Few weeks ago Amazon implemented new version of Alexa Skill Kit. Alexa Skill Kit is like a APEX builder. Low code technology, so you don't need to write any code :)

Let's start ! Go to Amazon Developer Console

1. Click Get Started on Alexa Skills Kit


2. As you can see on screen below there is already one skill on my list. Click on Create Skill to Create new one.

3. The name of my Skill will be - APEXUTIL Pizza  :) but you can name it as you wish.


4. Select Custom

5. Create Invocation. Users say a skill's invocation name to begin an interaction with a particular custom skill. For example, if the invocation name is "apex pizza", users can say: "Alexa, ask apex pizza ...."

6. One skill can have one or more Intents. An intent represents an action that fulfills a user's spoken request. For demo I'll use only one Intent: &…

Oracle APEX – Amazon ALEXA integration WITHOUT Amazon Lambda ! (PART 1)

I found few examples how to integrate Amazon Alexa with Oracle. All solutions used Amazon Lambda microservice (node.js). But it’s not necessary. You need only two elements: Oracle with ORDS and Amazon Alexa Skill.



Prerequsites:
-Amazon account (https://developer.amazon.com/ )
-Oracle 11g +
-Oracle ORDS (accessed thru SSL)
-APEX (optionaly)

1. For demo I used only one simple table:
create table alexa_orders   (   alo_id      raw(16) default sys_guid() primary key,   alo_name    varchar2(4000),   alo_qty     number,   alo_value   number,   alo_date    date,   alo_status  varchar2(1024),   alo_ship_datedate  );
You can use these inserts to populate sample datas
insert into alexa_orders ( alo_name, alo_qty , alo_value , alo_date, alo_status, alo_ship_date) values ('Pizza Pepperoni', round(dbms_random.value(1,10),0), round(dbms_random.value(5,1000),2), sysdate-dbms_random.value(1,3),'In progress',sysdate+((1/1440)*dbms_random.value(1,120))); insert into alexa_orders ( …