About Me

My photo
I work for Fusion5 Australia . Connect with me on linked in here . I'm raising money for a good cause at the moment, follow donate to leukemia foundation

Friday, 17 November 2017

Movember just went high tech!

I'm doing movember again this year - men's health is a great cause and I like to do my thing.  I think that the movember movement is slowing down in Australia.

I made my movember a little more innovative than most - surprise!

I decided to firstly create a QRCode, so that people could easily donate:

That was simple, my donation URL is https://au.movember.com/donate/details?memberId=316906 So I converted that with http://www.qr-code-generator.com/

 Cool, so now people can scan and donate, that was easy!

Add some rhyme, and I'm away.

The next part is cooler, I own some estimote beacons, so why don't I program them to show my donation page. I need to go to bitly.com to generate a short URL, as I can only save 17 bytes, but that is easy.

This is the beacon I've put outside my office.  I now get out my android phone and we have a donation site being pushed out to anyone listening to the physical web.  Fingers crossed that my technology is going to get some donations.



The above is a screen shot from my phone showing the two beacons that I have projecting web sites.

Beacons are really cool (IoT) devices, we are implementing them at a number of clients and integrating them into JDE.

Tuesday, 14 November 2017

Embark on IoT–where do you start

If I was going to implement some IoT to show the boss, I’d probably use the orchestrator in JDE.  It’s pretty cool and pretty simple and you could impress the boss fairly easily.  But, what if you REALLY wanted to impress the boss.  What if you wanted to be able to support disconnected devices, tonne’s of messages and what about a thing shadow?  All native when looking at the AWS IoT offering. 

Local caching, look no further than https://aws.amazon.com/greengrass/

Greeengrass is like an offline agent for IoT, awesome and native for the suite.

I’m also unsure how JDE might process millions of devices and trillions of messages, as I know that AWS can scale out to.

Connect An IoT Device

Above shows the native consumption of MQTT messages into the AWS engine.


Process IoT Data

You can see that the above is for an autonomous car, forget that though – it could be a freezer for all I care.  The cool things are the fact that the data can be processed into a data warehouse using redshift or even big data processing locations in inexpensive S3 buckets.   Save it all for later.  This also shows real time insights using quicksight, a possible downstream product of big data analysis.  Also using ML and AI for predictive.  This would call orchestrations in JDE (or just AIS calls) to raise work orders and react to the breaches of IoT configured thresholds.



                A high-level view of AWS IoT

A complete solution is available, as seen above.  Making a thing shadow a native part of the tool kit.  This is something that is going to be very important with IoT moving forward, being able to interrogate a digital double.  Imagine putting on the VR goggles and being able to see the entire physical device as a digital double of any asset that you are maintaining.  Pointing your virtual hands to any part of the machine and being able to see all of the values that are being sent to IoT.  Welcome to the future!

Use JDE for what it’s good at – use well architected integration, use best of breed cloud solutions where appropriate!

Wednesday, 1 November 2017

A really quick oracle performance test–what did you get?

Ever had a slow down that you cannot really explain, I know that I have.

What you always need is a set of baseline tests, things that ground your expectations.

Remember that we’ve provided these sorts of things with ERP analytics (at a high level)

and performance benchmark - http://myriad-it.com/solution/performance-benchmark/ (which I think is really cool).

But let’s take it down another notch, database only!

Imagine that things are slowing down and you want to find a problem.  Performance problems are like a pyramid, where there is something like:

image

If you’re hardware is rubbish, everything will be rubbish.

If you’re database is rubbish, everything will be rubbish…

You see where I’m going.

So, I’d first run some dd commands on the hardware to check disk speeds, I’d check the location of the data disks and then the redo disks.  I check the disk speed where temp is written and swap.  make sure they are all pretty quick.


[root@ronin0-net1 homewood]# dd if=/dev/zero of=speedtest1.dmp oflag=direct conv=notrunc bs=1M count=11200

6527+0 records in

6527+0 records out

6844055552 bytes (6.8 GB) copied, 299.438 seconds, 22.9 MB/s

The above would indicate a VERY large problem

[root@ronin0 homewood]# dd if=/dev/zero of=speedtest1.dmp oflag=direct conv=notrunc bs=1M count=11200

11200+0 records in

11200+0 records out

11744051200 bytes (12 GB) copied, 25.8044 seconds, 455 MB/s

The above would make you smile!

Then – you’ve tested the performance of a bunch of locations  - happy days.  Now the database.

Once again, simple things for simple people.

create a sql script with the following contents:


set echo on
set feedback on
set timing on
spool output.txt
begin
   execute immediate 'drop table testdta.f0101perf';
   execute immediate 'create table testdta.f0101perf as select * from testdta.F0101 where 1 = 0';
   execute immediate 'grant all on testdta.f0101perf to PUBLIC';
   for a in 1..10000 loop
      insert into testdta.f0101perf select * from testdta.F0101 where aban8 = 100;
      commit;
   end loop;
end;
/
quit;
/


And run it at the commandline:


C:\Users\shannonm>sqlplus JDE@orcl @shannon.sql

SQL*Plus: Release 10.2.0.1.0 - Production on Wed Nov 1 14:03:53 2017

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Enter password:

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> set feedback on
SQL> set timing on
SQL> spool output.txt
SQL> begin
   2    execute immediate 'drop table testdta.f0101perf';
   3    execute immediate 'create table testdta.f0101perf as select * from testdt
a.F0101 where 1 = 0';
   4    execute immediate 'grant all on testdta.f0101perf to PUBLIC';
   5    for a in 1..100000 loop
   6       insert into testdta.f0101perf select * from testdta.F0101 where aban8
= 100;
   7       commit;
   8    end loop;
   9  end;
  10  /

PL/SQL procedure successfully completed.

Elapsed: 00:00:31.75
SQL> quit;
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64
bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

C:\Users\shannonm>


So, now we can open our results file, which is placed in the dir we ran the script from (again, nothing fancy). output.txt.  Remember Address book 100 should exist – I could make that smarter with = (select max(aban8) from crpdta.f0101), but that would be an extra table scan (index and sort) that I did not want to execute.

What does this do?

Creates a copy of F0101 and then insert’s 100,000 records into it.


SQL> begin
   2    execute immediate 'drop table testdta.f0101perf';
   3    execute immediate 'create table testdta.f0101perf as select * from testdta.F0101 where 1 = 0';
   4    execute immediate 'grant all on testdta.f0101perf to PUBLIC';
   5    for a in 1..100000 loop
   6        insert into testdta.f0101perf select * from testdta.F0101 where aban8 = 100;
   7        commit;
   8    end loop;
   9  end;
  10  /

PL/SQL procedure successfully completed.

Elapsed: 00:00:31.75
SQL> quit;

Remember, that this is not really testing index creation and index tablespaces, so you might want to make the test a little more realistic, but you get the picture.  It’s easy to get a bunch of indexes on the table and go from there.

Then you need to work on installing performance benchmark to start getting the stats on the other parts of your ERP – oh and ERP analytics (https://shannonmoir9.wixsite.com/website/erp-analytics)