CHAPTER 1 : SPRING BOOT TESTING

Overall Idea about Testing.

Testing in large systems.

100% coverage doesn’t work in production because you can test even getter and setter method and it will increase the coverage but even business logic to be verified.

Too low unit testing is not good at all. But too high testing will make modules slow.

TDD approach for Spring boot rest applicaiton

A module encapsulate it’s data (Access only via API).

A module has cleary defined collaborators and APIs.

Has (almost) all layers ( Vertical slicing).

Very much like a microservice candidate.

Mostly likely a Bounded Context ( Words have…


IBM App Connect Enterprise, Version 11.0.0.10 Operating Systems: AIX, Linux, Windows.

IBM Appconnect download page.

Above IBM page will allow you to download ACE for any OS.


Integration is a buzz word in modern software paradigm. Various different technologies , protocols and systems are going to be interconnected with intermediate layer called integration platforms. There are several vendors for Integration platform developers. But among them one product is emerging . It is Apache Camel. The expectation of this blog is to give a quick start guide to this stack.

Install Docker and Kubernetes in local development machine.

Above mentioned blog has nice details about installing docker and kubernetes in windows plat form.

Furthe Bellow url is the official web site of kubernetes for minikube installation.

After docker and minikube installed successfully then the time for…


image from :https://cmobiler.com/article/how-to-import-postgreSQL-sql-file-in-docker-container

PostgreSQL is becoming very popular among developers due to its advance features respect to the MySQL which is the most popular opensource .

  • This supports the locking mechanism.
  • It has high availability.
  • It is free and open source software.
  • This is ACID compliant.
  • It has the capacity for fault tolerance.
  • It also supports image, video, audio storage and also supports graphical data.
  • It requires very low maintenance.
  • It supports Multi-version concurrency control (MVCC).
  • Recovery is high.
  • It has user defined data-types.
  • Table inheritance.
  • It runs on all operating systems.

SQL:

  • Windowing functions and analytics (OVER-clause)
  • Ordered sets (WITHIN GROUP)
  • Hypothetical…


Next Version of IIB

IBM® App Connect Enterprise combines the existing, industry-trusted technologies of IBM Integration Bus with IBM App Connect Professional and with new cloud native technologies, to deliver a platform that supports the full breadth of integration needs across a modern digital enterprise.

Using the IBM App Connect Enterprise Toolkit, you can develop integration solutions and deploy them to the dedicated runtime of IBM App Connect Enterprise and to App Connect on IBM Cloud. You can use an extensive range of administration and systems management options to manage your integration solutions.

  • The product supports a wide range of protocols: IBM MQ…

DB2 is a popular database for integration and IBM Cloud deployments. So We may see lot of use in db2 in enterprises.

Benefits of using DB2® Multisystem include improved query performance, decreased data replication, larger database capacity, and so on.

But non of the system is perfect. So its pros and cons as described “https://www.trustradius.com/reviews/db2-2015-12-08-12-27-24” website are given bellow.

Pros and Cons

  • DB2 maintains itself very well. The Task Scheduler component of DB2 allows for statistics gathering and reorganization of indexes and tables without user interaction or without specific knowledge of cron or Windows Task Scheduler / Scheduled jobs.
  • Its use of ASYNC…


Microk8s is a simplest way to launch single node kubernetes environment for testing and learning perposes any devops. This is fast, small, cheap k8s for CI/CD.

snaps are software bundles come with all it’s dependencies. They update automatically and roll back gracefully. Snaps are discoverable and installable from snap store.

Install snap in linux dabians.

sudo apt update
sudo apt install snapd

Install microk8s.

sudo snap install microk8s --classic

At any point you can check MicroK8s’ availability with:

$ sudo microk8s.stauts

To avoid colliding with a kubectl already installed and to avoid overwriting any existing Kubernetes configuration file, MicroK8s adds a microk8s.kubectl command, configured to…


Various backup options are used in modern systems. Hear i will discuss some possible methods to be used for backing up a email server with group officer .

First Lets discuss how to do a manual backup. Lets see how to copy important data from a Kubernetes storage to another backup location. (another pod)

Manual copy for backups

user@localhost ~ $ kubectl cp --help
Copy files and directories to and from containers.

Examples:
# !!!Important Note!!!
# Requires that the 'tar' binary is present in your container
# image. If 'tar' is not present, 'kubectl cp' will fail.

# Copy /tmp/foo_dir…

Docker also has a concept of volumes, though it is somewhat looser and less managed. In Docker, a volume is simply a directory on disk or in another Container. Lifetimes are not managed and until very recently there were only local-disk-backed volumes. Docker now provides volume drivers, but the functionality is very limited for now (e.g. as of Docker 1.7 only one volume driver is allowed per Container and there is no way to pass parameters to volumes).

A Kubernetes volume, on the other hand, has an explicit lifetime — the same as the Pod that encloses it. Consequently, a…


Ingress is major part when we talk about Kubernetes inbuilt load balancers.

Unless something seriously magical has happened with “Docker for Mac,” then the type: LoadBalancer is only designed for a cloud environment, where the Ingress controller can provision a cloud load balancer (i.e. AWS's ELB, GKE's ... whatever they use).

That said, one can see from your output that kubernetes has behaved as if it was type: NodePort (with your specific example showing that port 32670 goes to port 8080 on your Service). It's unclear whether you can just use that NodePort-ish port as-is, or whether the Service in…

Tharanga Rajapaksha

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store