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
Category Archives: Technology
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
Observations in building Domain oriented services: How to think about building the right service for your enterprise
APIs are the abstractions over technical services. Good APIs mirror strategic thinking in an organisation and lead to better customer experience by enabling high-degree of connectivity via secure mechanisms Too much focus is on writing protocols & semantics with the desire to design good APIs and too little on business objectives. Not enough questions are…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
Oracle SOA Suite 11g – Configure Resource Adapters on Weblogic Server [AQAdapter]
It was hard finding any documentation on configuring Adapters for Oracle SOA Suite on a Weblogic server, so I thought I would put together a little doco explaining how I configured this. It is the same for an Apps Adapter config.More
Enterprise Integration: Using Heterogeneous Namespace Design For Messaging Schema
When integrating with Legacy systems, especially ones that rely on flat-files, it is often the case that there is no XSD definition that can be used in BPEL/ESB processes. This happened recently when I was using Oracle’s AIA framework to build Application Business Connector Services (ABCS) for a legacy system that has a file-poll based…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
Oracle SOA Suite 10g – Database Integration. Resolving “ORA-01017: invalid username/password” partner link error
Database adapters are used to perform CRUD operations on tables from BPEL processes in Oracle SOA Suite. I came across an error recently which is quite easy to resolve but required a bit of idea about how the DB Adapters are configured. When you create a DBAdapter in JDeveloper and use that in a Partner…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