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

Complex Form Evaluation with Drools

Introduction Complex business rules are best implemented using a ‘Rules Engine’. Drools is an open source Business Rules Management Product. See here   In this blog we will cover a few basics of using the Drools rule engine, specifically using a Domain Specific Language (DSL) which is a language that is more user focused. The…More

Why is this not an API contract?

Why is this … my Swagger UI, generated from code not a contract? It describes my service, therefore it must be a Service Provider Contract. No?  This was a common theme for a few of our clients with mobile/web teams as consumers of enterprise services.  Service providers generated contracts, and would sometimes create a contract…More

Lessons from API integration

A general transition has been happening with the nature of work that I do in the integration space … we have been doing less of SOAP/XML/RPC webservices and more RESTful APIs for “digital enablement” of enterprise services .  This brought a paradigm shift and valuable lessons were learnt (rightly or wrongly) … and of course the process of…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

Microservices with Docker and Spring Boot

This guide is for someone interesting in quickly building a micro-service using the Spring Boot framework. Works great if you have prior JAX-RS / Jersey experience Step-by-step guide Add the steps involved: Create a Maven Project Final Structure Pom ( Attached here ) Include Spring Boot Dependencies in your pom Parent Project <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId>…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

Dockerized Java Application Performance Analysis

Using JMX to analyse a Java Virtual Machine (JVM) within a local or remote docker image. The example below explores how to analyse a Tomcat Server (version 7) running in a docker instance using Oracle JRockit Mission Control (JMC) Your JRockit Mission Control is here OSX : “/Library/Java/JavaVirtualMachines/{JDK}/Contents/Home/bin/” Windows: “JDK_HOME/bin/”   Step-by-step guide Add 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

Groovy Grape Turns Sour – java.lang.RuntimeException: Error grabbing Grapes — [download failed:

Issue: Trying to run a Ratpack Groovy code [ @Grab(‘io.ratpack:ratpack-groovy:1.0.0’) ] groovy -Dgroovy.grape.report.downloads=true -Dratpack.port=8081 server.groovy The Error: General Error:   java.lang.RuntimeException: Error grabbing Grapes — [download failed: Specific Error: java.lang.RuntimeException: Error grabbing Grapes — [download failed: org.yaml#snakeyaml;1.12!snakeyaml.jar(bundle), download failed: com.google.guava#guava;18.0!guava.jar(bundle)] The fix: Delete the Repository folders in repo managers like Maven. Why? Because the ~/.groovy/grapes repo…More

Oracle AS Adapter for Peoplesoft: IWAY Error Resolution

ERROR com.ibi.bse.ConfigWorker:java.lang.NoClassDefFoundError: oracle/tip/adapter/api/exception/PCResourceException Solution: It appears that Oracle took the IWay Servlet and built a Java Swing application around it that allows you to create a Web service (BSE) or J2CA based connection to the Enterprise Applications (SEIBEL, JDE, Peoplesoft). This Swing application is launched in a Unix/Linux shell using the iwae.sh script and in…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