Here is the latest in Java tools and libraries we have been haing through 2024 and into 2025. JaCoCo and Gatling have been staple as we continue to shift left with QA, we are yet to do Mutation testing in anger Tools: Architecture: ArchUnit: A library for checking the architecture of Java codebases. Documentation: https://www.archunit.org/userguide/html/…More
Category Archives: Technology
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
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
Testing Data Logging RESTful Webservice – using Python and Thingsspeak
Your windows “TaskManager” just went LIVE! Imagine being able to broadcast your CPU/MEM/Disk capacity data or data from a hardware device or appliance (Arduino based sensor) to a service. Now imagine being able to view this data in a live graphical manner and being able to share it with the rest of the world (power…More
Programmatically Populate View Objects In Oracle ADF
Customize View Object to expose results from Java Service calls (Webservice, AM, RPC) – this lets you use Drag-Drop functionality of the View Object to create screens on the fly.More
Oracle Webcenter Schemas and Tablespaces in 11.1.1.3 vs 11.1.1.4
I am in the process of patching/upgrading a Webcenter PS2 install (11.1.1.3) with UCM 10g to a Webcenter PS3 install (11.1.1.4) using the Weblogic migration tools, Patch Set Assistant to migrate the schemas and the ECM migration tools. One of the things I was curious about was the RCU schemas and tablespace differences in PS2…More
Oracle Webcenter and Enterprise 2.0
Oracle Webcenter PS3 More
Weblogic Application Deployment Error – “Changing the source location…”
Stack Trace: [01:41:48 PM] Weblogic Server Exception: weblogic.management.ManagementException: [Deployer:149007]New source location, ‘\JDeveloper\system11.1.1.4.37.59.23\o.j2ee\app\.ear’, cannot be deployed to configured application, ”. The application source is at ‘JDeveloper\system11.1.1.4.37.59.23\o.j2ee\drs\’. Changing the source location is not allowed for a previously attempted deployment. Try deploying without specifying the source. [01:41:48 PM] See server logs or server console for more details. [01:41:48…More
Installing ofm_rcu_win_11.1.1.4.0 over an older version
MDS errors oracle webcenter 11g 11.1.14More
Oracle Fusion ADF – JSF Rich Text and Table Component (Data Input and Refresh)
The ADF framework is quite powerful and you should be able to quickly create a page that will let you do Partial Page Rendering (PPR) in no time … there are plenty of good examples online about how to do this (and you should be able to work things out on your own in no time).
However, my problem was that by using out of box “Partial Triggers” property on the table component, I was unable to “re-query” the underlying table model. Instead, I used an explicit call to the underlying UI controls and ended up learning quite a bit in the process. More
POJO Business Objects and UML Diagrams in JDeveloper 11g
Step 1) Right Click on the Project and select “New …” Step 2) Select from the “Java” Category in Categories on Left …. and then select “Java Class Diagram” as shown below Step 3) Drag Java classes to the Diagram or create new UML Model and generate objects. Additionally …looks like you can take your…More
Oracle ADF Application Module Client – Expose custom methods with Data Transfer Objects
Scenario: You have a requirement to implement a back-end service that accepts/returns a user-defined Data Transfer Object. The business logic of this service is implemented using an Application Module – i.e. there is a method in the AM with a signature that uses the DTOs. For example: Imagine “RateUpdate” is a complex class…More