Navigation Bar

Saturday, August 1, 2026

The Oracle Story

                              No one after lighting a lamp puts it under the bushel basket, but on the lampstand, and it gives light to all in the house
                                                                                                                                                             Mathew 5:15

Oracle corporation, initially called Software Development Laboratories, was founded in 1977 by Larry Elison and Bob Miner, computer programmers at Ampex Corporation, an American electronics company along with Ed Oates, Elison's supervisor at Ampex. The idea for the relational database was inspired by a paper by Edgar F Codd that outlined a relational model. They had the vison of making this data management concept commercial as it arranged large amounts of data efficiently and also enabled quick retrieval. Thus the trio started developing the program based on Codds theory and in 1979 the company released Oracle, the earliest commercial relational database program using structured query language. 



Once he learned the skills and concepts for relational databases Larry Ellison began to pursue his dream to start a data management company now know as Oracle. In the early years it was in competition with IBM which was also in the race to develop a relational database at that time. The IBM database is IBM DB2. But of the two Oracle is more widely used and popular.

Its first customer was the US Air Force which used the program at its air force base.

Oracle has grown from its humble beginnings as one of a number of databases available in the 1970s to the overwhelming market leader today.

In 1978 the first Oracle software was born, written in assembly language running on PDP-11 under RSX-11 in 128K memory. The first Oracle version was never released and the implementation separated oracle code from user code. The name Oracle came from the code name of a CIA project that the three original founders Elison, Bob and Ed had worked on in Amex Corporation.



In the year 1979,they offered the first commercial SQL relational database management system. The second version of Oracle released ran on PDP-11 hardware and they named it as Oracle v2 to capture more customers and they starting promoting it on the VAX platform.
In 1984 the database software was ported to the PC platform with the MS-DOS version 4.1.4 running on 512K memory.
In 1985 it was released to operate in client-server mode.

Initial funding was through personal funding of its founders and Venture Capitalists and it went public in 1986 and was then financed through its IPO and since then it has not raised any additional funds through Venture Capitalist or private investors.

In 1987 UNIX-based Oracle applications were introduced and a year later Oracle v6 was released with hot backups, embedded PL/SQL procedural engine within the database and support for row-level locking. In 1988 Oracle induced PL/SQL. The growth in the company led to relocation of the world headquarters to Redwood Shores, California in 1989 and revenues reaching $584 million.

In 1989, Oracle moved its headquarters to Redwood City, California. 

In 1995, Oracle Systems Corporation changes its name to Oracle Corporation and it became the first large software company to report an internet strategy and offered the first 64-bit RDBMS.
In June 1998 Oracle v8 was released with internet technology, support for terabytes of data and SQL object technology. 

In 1998 they announced integrating a JVM with the oracle database and in September of that year Oracle 8i was release, with i standing for internet. 
In 1999 Oracle offered its first DBMS with XML support.

In 2010 Oracle Corporation acquired Sun Microsystems After the merger Oracle owned Sun's hardware product lines as well as Sun's software product lines including the JAVA programming language.
My tryst with JAVA

Oracle Corporation has now diversified into a range of services like Oracle cloud services, Oracle middleware, Oracle Beehive, Financial services, hardware systems etc.
Middleware includes weblogic server which is a J2EE server and Oracle fusion middleware.
Oracle applications include ERP, CRM and Human Capital Management HCM.
Cloud services include SaaS Software as a service, PaaS Platform as a Service, IaaS  Infracture as a Service and DaaS Database as a Service.

More on the history and the growth of the relational database can be found in the articles below

Key Events and Milestones 

Thought for the day
Courage to continue matters more than success or failure.
--Winston Churchill

A Springboot-React web application example.

 Define a Data Model (Java POJO)

Create a simple Java class representing the data you want to send.

START HERE

Step 1: Generate the Project Structure

The fastest, standard way to bootstrap a Spring Boot application is using Spring Initializr

  1. Open your web browser and navigate to start.spring.io. 
  2. Configure the following project options:
    • Project: Maven (or Gradle, if you prefer)
    • Language: Java
    • Spring Boot: Choose the latest stable, non-SNAPSHOT version
  3. Fill out the Project Metadata:
    • Group: com.example
    • Artifact: springdemo
    • Name: demo
    • Package name: com.example.springdemo
    • Packaging: Jar
    • Java: Choose your installed version (Java 17 or 21 is highly recommended)
  4. Click the Add Dependencies button on the right and add:
    • Spring Web: Contains everything required to build RESTful APIs.
  5. Click Generate at the bottom to download a .zip file of your project.
Extract the zipped folder to a location on your computer.

            Step 2: Open and Explore the Project
  1. Launch your preferred IDE (IntelliJ IDEA, Eclipse, or VS Code).
  2. Choose Open Project and select the root directory of the extracted folder.
  3. Wait for your IDE to download the required Maven libraries.
Locate the main application class file inside src/main/java/com/example/springdemo/DemoApplication.java:

Step 3: Create the Package Structure and Data Model

Keep your code clean by organizing it into sub-packages.

  1. Right-click on the com.example.demo folder in your IDE file tree.
  2. Select New > Package and name it model.
  3. Inside this new model package, create a new Java class file named User.java.
  4. Copy and paste the following code to represent the structure of the data your API will return:

Step 4: Create the REST Controller

The controller exposes endpoints that handle incoming network requests from React. [1]

  1. Right-click on the main package com.example.demo again.
  2. Select New > Package and name it controller.
  3. Inside this new controller package, create a new Java class file named UserController.java.
  4. Add the code below to build your API route endpoints:

Step 5: Run and Test Your API

  1. Open DemoApplication.java.
  2. Click the green Play/Run icon next to the main method in your IDE.
  3. Check your IDE's console terminal output at the bottom. You should see a log message confirming the server successfully started: Tomcat started on port 8080 (http).
  4. Open your web browser or an API client like Postman.
  5. Go to the URL: http://localhost:8080/api/users
  6. You will see your raw array data printed cleanly as JSON data formatting:

[

  {"id":1,"name":"Alice Smith","email":"alice@example.com"},

                        {"id":2,"name":"Bob Jones","email":"bob@example.com"}
                    ]

Now for the Front End UI development

Install Node.js

Step-by-Step Installation

  1. Run the Installer: Double-click the node-v24.18.0-x64.msi file on your computer.
  2. Follow the Wizard: Click Next, accept the license agreement, and leave the default installation path unchanged.
  3. Native Tools (Optional): If the installer asks to install "Tools for Native Modules" (Chocolatey), you can leave it unchecked for a basic React setup to speed up installation.
  4. Finish: Click Install, then click Finish once complete.

Verify the installation on the command prompt with

node -v


Download and Install VisualStudio Code for your front end development IDE.
You can download from

Step 1: Create a Fresh React Project

Open your Windows Command Prompt or PowerShell, navigate to the folder where you want to keep your project (e.g., cd Documents), and run these commands:

bash

# 1. Create the project using Vite (the modern, fast industry standard)

npm create vite@latest my-react-app -- --template react

 # 2. Navigate into your new project folder

cd my-react-app

 # 3. Install all default React packages

npm install

Step 2: Add Your UserList Component

  1. Open the my-react-app folder in your code editor (like VS Code).
  2. Inside the project folder, locate the src folder.
  3. Inside the src folder, create a new file named UserList.jsx.
  4. Paste the complete UserList.jsx React code we wrote earlier into this file and save it.

Step 3: Connect UserList to the Main App File

Open the existing src/App.jsx file in your editor, erase everything inside it, and replace it with this clean code to display your component:

import React from 'react';

import UserList from './UserList'; // Imports your user list logic

 

function App() {

  return (

    <div>

      <UserList />

    </div>

  );

}

export default App;


Step 4: Run Both Servers Simultaneously

  1. Keep your Spring Boot app running in your IDE on port 8080.
  2. Open your terminal in the React project directory and run your development server:

cmd

npm 
run dev

you will get output

my-react-app@0.0.0 dev

> vite

 

Port 5173 is in use, trying another one...

 

  VITE v8.1.5  ready in 331 ms

 

    Local:   http://localhost:5173/

    Network: use --host to expose

    press h + enter to show help

  1. Open your browser to http://localhost:5173 (or the custom port your React terminal displays). You will instantly see Alice Smith and Bob Jones pulled live from your Java application! 




God's Word for the day

The Temptations of Commerce
A merchant can hardly keep from wrongdoing,
  nor is a tradesman innocent of sin.
Many have committed sin for gain,
  and those who seek to get rich will avert their eyes
As a stake is driven firmly into a fissure between stones,
  so sin is wedged in between selling and buying.
If a person is not steadfast in the fear of the Lord,
  His house will be quickly overthrown.
Sirach 27:1 - 3

Develop and deploy a Spring web application

You can refer to tutorialspoint link for a basic Spring Framework application development and deployment. Link for the same is below

https://www.tutorialspoint.com/spring/spring_mvc_hello_world_example.htm

The source code for the spring web application using IntelliJ is below 

The Java package

package com.tutorialspoint;


import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.ui.ModelMap;


@Controller

@RequestMapping("/hello")

public class HelloController {

   

   @RequestMapping(method = RequestMethod.GET)

   public String printHello(ModelMap model) {

      model.addAttribute("message", "Hello Spring MVC Framework!");

      return "hello";

   }

}

The web.xml which will be placed in the WEB-INF folder.
<web-app id="WebApp_ID" version="2.4"
   xmlns="http://sun.com" 
   xmlns:xsi="http://w3.org"
   xsi:schemaLocation="http://sun.com 
   http://sun.com/web-app_2_4.xsd">
   
   <display-name>Spring MVC Application</display-name>

   <servlet>
      <servlet-name>web</servlet-name>
      <servlet-class>
         org.springframework.web.servlet.DispatcherServlet
      </servlet-class>
      <load-on-startup>1</load-on-startup>
   </servlet>

   <servlet-mapping>
      <servlet-name>web</servlet-name>
      <url-pattern>/</url-pattern>
   </servlet-mapping>
</web-app>

web-servlet.xml will also be placed in the WEB-INF folder.
<beans xmlns="http://springframework.org"
   xmlns:context="http://springframework.org"
   xmlns:xsi="http://w3.org"
   xsi:schemaLocation="
   http://springframework.org     
   http://springframework.org/spring-beans-3.0.xsd
   http://springframework.org 
   http://springframework.org/spring-context-3.0.xsd">

   <context:component-scan base-package="com.tutorialspoint" />

   <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
      <property name="prefix" value="/WEB-INF/jsp/" />
      <property name="suffix" value=".jsp" />
   </bean>
</beans>

The hello.jsp is placed in a jsp folder inside WEB-INF directory.
<%@ page contentType="text/html; charset=UTF-8" %>
<html>
<head>
<title>Hello World</title>
</head>
<body>
   <h2>${message}</h2>
</body>
</html>

For a standard Maven web application, your directory tree in IntelliJ must look exactly like this:

my-spring-app/

└── src/

    └── main/

        ├── java/

        │   └── com/

        │       └── tutorialspoint/

        │           └── HelloController.java

        └── webapp/

            └── WEB-INF/

                ├── web.xml              <-- Put here

                ├── web-servlet.xml      <-- Put here

                └── jsp/

                    └── hello.jsp


To run the application below are the steps
Running the Completed Application
  1. Compile the code and package the project as a .war file via Maven.
  2. Drop the compiled file into your local server deployment directory (such as Apache Tomcat).
  3. Access your running environment using the corresponding web layout path: http://localhost:8080/hello
If WEB-INF is not visible inside inside your IntelliJ folder structure follow these steps
Step 1: Tell IntelliJ where your Web Resources live
  1. Press Ctrl + Alt + Shift + S (Windows/Linux) or Cmd + ; (Mac) to open Project Structure.
  2. Click Facets on the left panel.
  3. If you do not see a Web facet, click the + icon at the top, select Web, and choose your project module.
  4. Look at the Web Resource Directories section at the bottom.
  5. If it is empty or wrong, click the + icon on the right side of that section.
  6. Browse and select your src/main/webapp folder, then click OK.
  7. In the Deployment Descriptors section at the top, ensure your web.xml path points correctly to .../src/main/webapp/WEB-INF/web.xml.
Step 2: Regenerate the Artifact
Now that the module knows where the web files are, recreate the artifact layout to force it to update:
  1. While still in the Project Structure window, click Artifacts on the left panel.
  2. Select your existing artifact and click the - (Minus) icon at the top to delete it (don't worry, this won't delete your code).
  3. Click the + (Plus) icon → Web Application: ExplodedFrom Modules...
  4. Select your project module and click OK.
  5. Look at the Output Layout tab now. You should see your project name, and right under it, the WEB-INF folder will automatically appear.
  6. Click Apply and OK.
Step 3: Refresh and Run
  1. Go to the top menu and select BuildRebuild Project.
  2. Run your Tomcat server again.
When doing the build if you get the below errors
Cannot compile module 'web' configured for JVM target 24: the JDK Oracle OpenJDK 17.0.18, currently associated with the module, does not support the required jvm target 24
Please add JDK 8 or later to Project Structure | Platform Settings | SDKs. The added JDK should support cross-compilation for JVM target 24. This JDK will be automatically picked by the IDE to compile for older JVM targets

This is because your project's Java Language Level (JVM target 24) is set higher than your Project JDK (Java 17). Java 17 cannot compile code for Java 24.

To fix this, you must match your project settings in IntelliJ and your Maven configuration. [1]
Fix 1: Change IntelliJ Project Settings to Java 17
  1. Press Ctrl + Alt + Shift + S (Windows/Linux) or Cmd + ; (Mac) to open Project Structure.
  2. Click Project on the left menu.
    • Set SDK to 17 (Oracle OpenJDK 17.0.18).
    • Set Language level to 17 - Modules, local variable syntax for lambda parameters. [1]
  3. Click Modules on the left menu.
    • Select your module named web.
    • Click the Language level dropdown and set it to 17 (or Project default (17)). [1]
  4. Click Apply and OK.
Fix 2: Change IntelliJ Compiler Settings
  1. Press Ctrl + Alt + S (Windows/Linux) or Cmd + , (Mac) to open Settings / Preferences.
  2. Go to Build, Execution, DeploymentCompilerJava Compiler.
  3. Look at the table under Per-module bytecode version.
  4. Find your module web and change its Target bytecode version from 24 to 17.
  5. Click Apply and OK.
Fix 3: Update your Maven pom.xml
Maven often overrides IntelliJ settings. Ensure your pom.xml explicitly targets Java 17. Open your pom.xml and add or modify the following properties inside the <project> tag:
<properties>
    <maven.compiler.source>17</maven.compiler.source>
    <maven.compiler.target>17</maven.compiler.target>
</properties>
Step 4: Rebuild the Project
Go to the top menu, select BuildRebuild Project. The compilation error will disappear.
If you are still getting the error firstly make sure the pom.xml changes are persisted. Next
Clear IntelliJ's Target Bytecode Cache
IntelliJ heavily caches compiler targets. Let's force it to reset.
  1. Press Ctrl + Alt + S (Windows/Linux) or Cmd + , (Mac) to open Settings.
  2. Go to Build, Execution, DeploymentCompilerJava Compiler.
  3. Look at the table under Per-module bytecode version.
  4. If your web module is listed there, click on it and use the - (Minus) icon on the right side of the table to delete the row entirely.
  5. Ensure the Project bytecode version dropdown at the very top of this same page is set to 17.
  6. Click Apply and OK.
Refresh Maven Using the Right-Click Menu
Do not use the floating icon this time; we need a hard sync.
  1. On the left side of your screen, look at the Project tool window.
  2. Right-click on your root project folder (the main folder with your app name).
  3. Scroll down to Maven → click Reload Project.
  4. Wait for the sync progress bar at the bottom right of IntelliJ to completely finish.
3 quick methods to reload pom.xml
Method 1: The Floating Notification Icon (Fastest)
As soon as you make a change and save your pom.xml, a small, translucent floating Maven icon (a blue "M" with a circular arrow) appears in the top-right corner of your code editor tab.
  • Click that floating icon to reload. [1]

Method 2: The Right-Click Project Menu
  1. Go to your Project Files Tree view on the left side of your screen.
  2. Right-click on your root project folder (the very top folder containing your application name).
  3. Scroll down and hover over Maven.
  4. Click Reload Project. [1]

Method 3: The Dedicated Maven Tool Window
  1. Look at the extreme right edge of your IntelliJ window frame.
  2. Click the vertical tab labeled Maven to slide open the Maven tool menu.
  3. Click the two circular arrows icon (the "Reload All Maven Projects" tool button) located at the very top-left corner of that small side panel.
If your IntellJ does not have a built in tomcat you can download tomcat from the tomcat apache site
https://tomcat.apache.org/download-11.cgi

Extract the zip folder to a path in your windows directory.
Set the TOMCAT_HOME environment variable to your tomcat installation path.
Add TOMCAT_HOME/bin to your PATH environment variable.

Now configure TOMCAT setting in IntelliJ as follows
Step 1: Open the Settings
  1. Click Edit on that popup prompt (or click the Tomcat dropdown in the top-right and select Edit Configurations...).
Step 2: Fix the Tomcat Application Server Path
  1. In the Server tab, look at the very top field labeled Application server.
  2. If it is empty or highlighted in red, click the Configure... button right next to it.
  3. Click the folder icon under Tomcat Home and browse to the exact folder on your computer where you downloaded and extracted Tomcat (e.g., C:\apache-tomcat-9.x or /Users/name/tomcat).
  4. Click OK. The red highlight should disappear.
Step 3: Link the Web Artifact
  1. Switch to the Deployment tab (located next to the Server tab at the top of that window).
  2. Look at the box under Deploy at server startup. If it is completely empty, Tomcat doesn't know what code to run.
  3. Click the + (Plus) icon on the right side of that box and select Artifact....
  4. Choose the option that ends with :war exploded and click OK.
  5. Look at the Application context field at the bottom of this tab. Change whatever text is inside it to a single forward slash: /
  6. Click Apply and then OK.
Step 4: Start the Server
Now, click that green Play (Run) icon in the top right corner again. The "configuration incorrect" error will be gone, and the server log window should start rolling at the bottom of IntelliJ.
After starting Tomcat if you get the error  HTTP Status 404 – Not Found
This 404 Not Found error means your Tomcat server started up successfully, but it cannot match your browser URL to your Spring controller mapping. [1]
Because your controller explicitly looks for the path @RequestMapping("/hello"), hitting a raw base URL will cause this error.
This can be resolved as below
1. Try the Full Precise URLs
In your browser address bar, try entering both variations exactly as written below:
  • Variation A: http://localhost:8080/hello
  • Variation B: http://localhost:8080/web/hello
2. Confirm Your Tomcat Application Context
If neither of those works, your Tomcat setup might have an auto-generated context path. Let's make it simple:
  1. Click your Tomcat dropdown in the top right of IntelliJ and select Edit Configurations....
  2. Go to the Deployment tab.
  3. Look at the Application context text box at the very bottom.
  4. Delete whatever text is currently inside that box and replace it with a single forward slash: /
  5. Click Apply and OK.
  6. Restart your Tomcat server using the red-and-green circular arrow icon in your log panel.
  7. Open your browser and go to exactly: http://localhost:8080/hello
With these fixes and configurations I was able to run my Spring application from the web browser and I got the output as below



References
https://www.tutorialspoint.com/spring/spring_mvc_hello_world_example.htm

God's Word for the day

Three Depressing Things
At two things my heart is grieved
  and because of a third anger comes over me
A warrior in want through poverty
  Intelligent men who are treated contemptuously
And a man who turns back from righteousness to sin.
  The Lord will prepare him for the sword
Sirach 26:28

Gospel teachings of Jesus

The parable of the unforgiving servant
"For the reason the kingdom of heaven may be compared
  to a King who wished to settle accounts with his slaves.
When he began the reckoning one who owed him ten
  thousand talents was brought to him, and as he could not
pay, hos Lord ordered him to be sold, together with his
  wife and children and all his possessions, and payment
to be made. So the slave fell on his knees before him saying,
'Have patience with me, and I will pay you everything."
  And out of pity for him, the Lord of the slave released him 
and forgave him the debt. But that same slave, as he went out
  came upon one of his fellow slaves who owed him a hundred
denarii; and seizing him by the throat, he said, 'Pay what you 
  owe.' Then his fellow slave fell down and pleaded with him,
'Have pity with me and I will pay you. But he refused; then 
  he went and threw him into prison until he would pay the
debt. When his fellow slaves saw what had happened, they
  were greatly distressed, and they went and reported to their
Lord all that had taken place. Then his Lord summoned him
  and said to him, 'You wicked slave! I forgave you all that
debt because you pleaded with me! Should you not have 
  mercy on your fellow slave, as I had mercy on you? And
in anger his Lord handed him over to be tortured until he
  would pay his entire debt. So my heavenly Father will also
do to every one of you, if you do not forgive your brother or
  sister from your heart."
Mathew 18:23-35