Ubiquitous Internet of Things: How ESP32s are changing the game

I have been tinkering with IoT devices for over 10 years now, starting with micro controllers with ethernet ports (later bulky wifi-shields) that were cumbersome to scale out and put onto things. For a true internet of things, we needed low-cost, connectivity enabled, sensor packed devices we would attach to things easily and then read…More

Domain Service Design and Patterns

Domain services implement core logic for a business domain and are a relied upon by experience and consumer services. Domain services can be self contained and store the business logic and state or rely on an external provider system (translating from a “raw system format” to a “canonical” domain format) In this post we look…More

Common Service Caching Patterns

Caché implies to hide something. In a technology context this is “some service hides some data for a period of time (minutes to years)” A cache is a bit of information we stash away to better serve the clients using our service. Some of the questions cache implementers face are: Cache expiry and invalidation Mechanism…More

History of web services: Monolith to Microservices

If you have struggled with decisions when designing APIs or Microservices – it is best to take a step back and look at how we got here. It helps not only renew our appreciation for the rapid changes we have seen over the past 10-20 years but also puts into perspective why we do what…More

Raspberry Pi Setup – Part II: IoT API Platform

Intro This is the second part in a series of posts on setting up a Raspberry Pi to fully utilize the Software & Hardware functionality of this platform to build interesting internet of things (IOT) applications. Part-I is here https://techiecook.wordpress.com/2016/10/10/raspberry-pi-ssh-headless-access-from-mac-and-installing-node-processing/ … this covered the following: Enable SSH service on the Pi Connect to Pi without a display or router –…More

Raspberry Pi Setup – Part I : Boot, SSH and Headless access

Intro Part I : Documenting the workflow/steps to setup my Raspberry Pi (2 B) – from Installing Raspbian to installing Node, Processing etc Goals: Enable SSH service on the Pi Connect to Pi without a display or router – headless access via Mac Steps Install Raspbian Boot your Pi Setup SSH Connect to Mac Troubleshoot Connection to Mac…More

Camunda BPM – Manual Retry

The Camunda BPM is a lightweight, opensource BPM platform (See here: https://camunda.com/bpm/features). The “Cockpit” application within Camunda is the admin dashboard where deployed processes can viewed at a glance and details of running processes are displayed by the process instance ids. Clicking on a process instance id reveals runtime details while the process is running – process variables,…More

Java Application Memory Usage and Analysis

The Java Virtual Machine (JVM) runs standalone applications and many key enterprise applications like monolithic application servers, API Gateways and microservices. Understanding an tuning an application begins with understanding the technology running it. Here is a quick overview of the JVM Memory management JVM Memory: Stack and Heap form the memory used by a Java Application The…More

API Performance Testing with Gatling

The Problem “Our API Gateway is falling over and we expect a 6-fold increase in our client base and a 10-fold increase in requests, our backend service is scaling and performing well. Please help us understand and fix the API Gateway”  Tasks It was pretty clear we had to run a series of performance tests simulating…More

Oracle SOA Suite 11g BPEL – FTP Adapter: What’s my filename?

I was writing an FTP adapter for a client recently for a legacy integration project, when a couple of  requirements came up: 1) When reading the file from a remote location, the client wanted to use the filename as a data element. 2) When writing the file to a remote location, the client wanted the…More

BPEL Error with Receive/Pick

Error: “Error(81): There is not an activity (receive/pick) to start the process” Fix:  Check the “Create Instance” checkbox on your Receive or Pick activity.   When do you see these errors? When you create a BPEL process and remove the default Receive/Reply components to receive/pick events from a queue or an FTP adapter for example.…More

How to export XWindows display using PUTTY

Introduction If you use PUTTY tool to ssh into a remote host and are trying to run a graphical tool …like say Mozilla or XClock or some Java Swing based installer that has screens you navigate …then you need to EXPORT your DISPLAY. Lets assume you are doing this from a Windows machine to a…More

Setup ADF Session UserData in Application Module’s Prepare Session – HowTo

Here’s a useful bit of code that uses the information in the security context and populate the ADF App Module Session’s user data. This snippet is used in your ADF Fusion project’s Application Module’s “prepareSession” method, as shown below, and it uses the “session.getUserData()”  to get a handle to the session to populate the user…More

High Performance Computing Comes to the Enterprise – Oracle’s Exalogic

Oracle’s Exalogic…. is a hardware platform that outperforms competition with features like 40 Gb/sec Infiniband network link,  30 x86 compute nodes,  360 Xeon cores (2.93 GHz), 2.8 TB DRAM and 960 GB SSD  in a full rack. Phew! Ref: Oracle’s Whitepaper on Exalogic You can “google” it … search for “Oracle Exalogic” and learn more about…More

Notes on Webcenter PS4 Install – Part II

Installing Webcenter …. …okay I got a little stuck here because of the incorrect JDK version.  I extracted the “ofm_wc_generic_11.1.1.5.0_disk1_1of1.zip” file using “unzip <filename>” and it created 3 “DISK” folders. I went under “Disk1/bin/” and did [oracle@xxxxxDisk1]$ ./runInstaller Starting Oracle Universal Installer… Checking if CPU speed is above 300 MHz.    Actual 2660 MHz    Passed Checking…More

Notes on Webcenter PS4 Install – Part I

Introduction Oracle release the Webcenter Patchset 4 (PS4),  version 11.1.15, recently and I am in the process of installing/testing this product. I am going to document my observations for future reference and hope it helps out others in the process. Download files here: http://www.oracle.com/technetwork/middleware/webcenter/downloads/index.html Read Oracle’s Documentation here: http://download.oracle.com/docs/cd/E21764_01/install.1111/b32474/start.htm#ASINS101 The Process… The process is quite…More