This article is written to help Beginners and Intermediate understand the structure of Abstract Syntax Tree, Java Parser framework, and Visitor patterns.
The above animated diagram shows a partial list of Application Program Interface(API) that are used in this article to demonstrate how Code Smell can be handled with Automation using Visitor patterns.
The article is backed with live hands-on example [GitHub]specifically written and tested to explain how various components interact and their purpose. Screen shot capture and explanations are provided to help understand the nuance.
If the reader wish to try it out, here are the prerequisite!
a. Spring Boot…
This article is written to help beginners and intermediate gain insights about WebSocket bi-directional and full-duplex communication to API(Application Program Interface) and UI(User Interface) with code sample.
The following concepts are explained:
a. WebSocket, HTTP Upgrade
c. STOMP Client(Simple Text-Oriented Messaging Protocol)
d. Kafka asynchronous PUSH paradigm
b. Offset Explorer 2.0 (Kafka tool)
c. Spring boot
HTTP is synchronous and is based on PULL paradigm. In a PULL paradigm the client has to initiate a request and poll the server for receiving new data, which is half-duplex and unidirectional. …
This article is written to help beginners and intermediate to understand and learn about Apache Kafka messaging pattern. It explains from a hands-on project specifically created for this article to cover the following terminologies:
a. Kafka Cluster, Broker, Topic, Partition
b. Leader, Follower, ISR(in-sync-replica), Zookeeper
c. Producers, Message Keys, Consumers, Consumer groups
d. Implement Single Node-Multiple Brokers in cluster architecture with Spring boot stack
e. Create TOPIC
b. Spring boot
a. This article explains Federated Identity provider integration with WSO2 API Manager and access to protected microservices through API Gateway using OIDC 2.0 + OAuth 2.0.
b. Access token validation initiated from WSO2 API Gateway through OKTA Key Manager configuration in WSO2 API Manager.
c. Virtual services, Resources, Endpoints, Life cycle.
d. Id token, Access token, X-JWT-Assertion propagation to protected microservices developed using Spring boot / Spring framework.
e. Proof of Concept developed, and tested.
a. OKTA, as Identity provider. A developer account would suffice.
b. WSO2 API Manager v3.2.0, as API Gateway. Free product download available.
c. Microservices development using Spring…
This article is written to help beginners and intermediate learners to understand how an Angular application(Single Page Application) running in a separate server communicates with Microservices deployed in another server. It explains how CORS (Cross-Origin Resource Sharing) can be enabled at Client end to make Angular application communicate with Spring Boot stack by taking advantage of Spring Cloud Netflix components for routing, client side load balancing, service discovery, and invoking microservices.
The above animated diagram shows the architecture and sequence of actions which this article will explain in detail with the help of code written specifically for this article. …
This article explains how to use declarative deployment to create Kubernetes pods and services. It performs rolling updates by pulling updated images from Docker Hub.
This exercise is done in Windows 10 Home edition, the Host operating system. As Home edition does not provide Hyper-V, the Type 1 hypervisor, it requires Oracle Virtual Box as hosted Type 2 hypervisor, to be installed to spin virtual machines with Ubuntu Operating system as Guest in VM.
To try out this exercise, the reader is required to have ANY of the following:
Option 1. Unix/Linux flavor OS, to install Docker, and Kubernetes. (Non-Windows)
This article was initially published in IBM developerWorks publication during the year June 2013 as shown below. As the links to this article has been moved, I wanted to republish it in MEDIUM to help Beginners and Intermediate who might be interested in this subject.
This article was initially published in IBM developerWorks publication during the year June 2015 as shown below. As the links to this article has been moved, I wanted to republish it in MEDIUM to help Beginners and Intermediate who might be interested in this subject.