Home » Author Archives: Manoj Khangaonkar

Author Archives: Manoj Khangaonkar

High Availability for Web applications

apache-tomcat-logo

As more mission critical applications move to the cloud, making the application highly available becomes super critical. An application not available for whatever reason, web server down, database down etc mean lost users, lost revenue that can be devastating to your business. In this blog we examine some basic high availability concepts. Availability means your web application is available to ...

Read More »

Single Sign On for the cloud: SAML & OpenId

oasis-saml-logo

When accessing different applications owned by different organizations, having to authenticate everytime you go from one application to another is annoying. Not only is it time consuming, but you also have to remember multiple passwords, which are often lost. Single sign on is the ability to authenticate once and be able to move between applications seamlessly using the authenticated identity. ...

Read More »

What is NoSQL ?

software-development-2-logo

NoSQL is a term used to refer to a class of database systems that differ from the traditional relational database management systems (RDBMS) in many ways. RDBMSs are accessed using SQL. Hence the term NoSQL implies not accessed by SQL. More specifically not RDBMS or more accurately not relational. Some key characteristics of NqSQL databases are : They are distributed, ...

Read More »

Apache Shiro : Application Security Made Easy

apache-shiro-logo

Considering that JAVA is over 10+ years old, the number of choices for application developers that need to build authentication and authorization into their applications is shockingly low. In JAVA & J2EE, the JAAS specification was an attempt to address security. While JAAS works for authentication, the authorization part is just too cumbersome to use. The EJB and Servlet specifications ...

Read More »

Spring Declarative Transactions Example

spring-interview-questions-answers

A transaction is a unit of work that has ACID (atomic, consistent, isolated and durable) properties. Atomic means that the changes all happen or nothing happens. If money is debited from an account and credited to another account, a transaction ensures that either both the debit and credit complete or neither completes. Consistent implies that the changes leave the data ...

Read More »

MapReduce: A Soft Introduction

apache-hadoop-mapreduce-logo

MapReduce is a parallel programming technique made popular by Google. It is used for processing very large amounts of data. Such processing can be completed in a reasonable amount of time only by distributing the work to multiple machines in parallel. Each machine processes a small subset of the data. MapReduce is a programming model that lets developers focus on ...

Read More »

The dreaded double checked locking idiom in Java

java-logo

The issue discussed in this article is not new, but still tricky even for seasoned developers. The singleton pattern is a common programming idiom. Nevertheless when used with multiple threads, some type of synchronization must be done in order not to break the code. In a relevant article our JCG partner Manoj Khangaonkar from The Khangaonkar Report examines the double-checked locking idiom in ...

Read More »

Spring MVC Development – Quick Tutorial

spring-interview-questions-answers

This is a short tutorial on Developing web applications with Spring from Manoj at “The Khangaonkar Report”, one of our JCG partners. (NOTE: The original post has been slightly edited to improve readability) Spring MVC enables easy web application development with a framework based on the Model View Controller architecture (MVC) pattern. The MVC architectural pattern requires the separation of ...

Read More »

Java Memory Model – Quick overview and things to notice

java-logo

In computing, a Memory model describes how threads interact through memory, or more generally specify what assumptions the compiler is allowed to make when generating code for segmented memory or paged memory platforms. It essentially describes, given a program and an execution trace of that program, whether the execution trace is a legal execution of the program. The Java memory ...

Read More »
Want to take your Java Skills to the next level?
Grab our programming books for FREE!
  • Save time by leveraging our field-tested solutions to common problems.
  • The books cover a wide range of topics, from JPA and JUnit, to JMeter and Android.
  • Each book comes as a standalone guide (with source code provided), so that you use it as reference.
Last Step ...

Where should we send the free eBooks?

Good Work!
To download the books, please verify your email address by following the instructions found on the email we just sent you.