In this hyper-connected digital age, one may misconceive a ‘challenge’ to be a deadlock and associate it with negativity. To me a challenge always implies an opportunity. Opportunity to explore newer ways of reaching success. I strongly believe that without challenges life would be mundane. The rapid improvements and progress we see today were challenges overcome by someone.
To solve any problem, we need to accept its existence and understand its dynamics. Only then can we come up with solutions. When I started my career as a marketing professional, I was the only lady in my team and a fresher too. I had to overcome many challenges. I always had the attitude to keep fighting. At times, I had no support as I was the only one swimming against the tide. But I never gave up!
I salute my mother for raising me to never shy away from challenges. I would like to share my memories of the wonderful days I spent with her. My mother had a charming personality. I admired her patience. She was a multitasker. To me, no one could match her skills at embroidery and knitting. Her zeal and enthusiasm towards life inspire me even today. I remember during my school days, I often found her immersed in her handiwork, which she also taught many women who subsequently started their businesses. After school, I would look at the work she had done that day. While she was busy in the kitchen, I would hold the cloth in my hand and closely examine the artwork. While the front side was beautiful, the backside attracted me more because it would reveal the effort put in to create the masterpiece. For my wedding, my mother gifted me a beautifully embroidered handkerchief. I immediately flipped it to look at the techniques used to keep the backside neat. My mother said something beautiful then. She said, “I noticed how you always check the work behind before looking at the actual finished product on the front. This goes on to show that you are a person who will view challenges first and learn through them. Never give up your attitude to fight and your eye for detail.”
My mother’s values have led me onto a successful path in CSR. I get immense satisfaction whenever I complete projects. I remember a child, about 6 years old, from the school where I built a library. She came to me with a flower in her hand which she had picked on her way to school and told me, “Ma’am we are grateful for all these books. I am going to read all the books and become a doctor one day.” I could feel my mother patting me on my back and my eyes welling up because only I knew the challenges I had to face in delivering the project. But these little things mean a lot to me.
I have recently noticed an interesting paradigm, especially among the younger generation. Some are not only fighting their own problems, but they are also trying to resolve the problems faced by others.
To quote an example. I read about Jayalakshmi from Pudukottai, Tamil Nadu, India, in a leading daily. She was selected to visit NASA’s Kennedy Space Centre in the US after winning a competition. Through her plea for financial support, she secured excess funding. She then channelized the surplus funds to build public toilets in her village. She also convinced her fellow villagers who were hesitant about the idea to build toilets. To me, this is extraordinary because she has challenged the status quo and won the battle for many!
To everyone out there I would say – Challenges are just as difficult as we perceive them to be. We can overcome them if we view them as opportunities. Explore the world of endless possibilities with a fighting spirit. Today we have a vaccine for COVID, created in the shortest span of time by scientists. No vaccine has been readied from scratch in less than a year. The days of “It has always been done this way” are long gone!
About the Author –
Vijayalakshmi comes with 20 years of Marketing and Academic experience. She is the Founder and Managing Trustee at ZRII TRUST. ZRII was formed as a platform to deliver high-impact social projects through Corporate Social Responsibility (CSR) funds.
Her work includes raising awareness about modern-day issues that women and children face. She is actively involved in ensuring safer and improved workspaces for women. Some of her trophy programs are under women empowerment which includes a year-long training program for women of southern Tamil Nadu, a driver training program for women to drive app-based cabs, and placement of women in factories.
Vijayalakshmi is an ombudsperson at GAVS and guides GAVS in our endeavor to be a gender-balanced and respectful workplace.
With rising demands for quality and cost-effective patient care, healthcare providers are focusing on data-driven diagnostics while continuing to utilize their hard-earned human intelligence. In other words, data-driven healthcare is augmenting human intelligence.
360 Degree View of Patient, as it is called, plays a major role in delivering the required information to the providers. It is a unified view of all the available information about a patient. It could include but is not limited to the following information:
Appointments made by the patients
Interaction with different doctors
Medications prescribed by the doctors
Patient’s relationship to other patients within the eco-systems specially to identify the family history related risks
Patient’s admission to hospitals or other healthcare facilities
Discharge and ongoing care
Patient personal wellness activities
Patient billing and insurance information
Linkages to the same patient in multiple disparate databases within the same hospital
Information about a patient’s involvement in various seminars, medical-related conferences, and other events
Limitations of Current Methods
As evident in most hospitals, these information are usually scattered across multiple data sources/databases. Hospitals typically create a data warehouse by consolidating information from multiple resources and try to create a unified database. However, this approach is done using relational databases and the relational databases rely on joining tables across entities to arrive at a complete picture. The RDBMS is not meant to handle relationships which extend to multiple hops and require drilling down to many levels.
Role of Graph Technology & Graph Databases
A graph database is a collection of nodes (or entities typically) and edges (or relationships). A node represents an entity (for example, a person or an organization) and an edge represents a relationship between the two nodes that it connects (for example, friends). Both nodes and edges may have properties associated with them.
While there are multiple graph databases in the market today like, Neo4J, JanusGraph, TigerGraph, the following technical discussions pertain to graph database that is part of SQL server 2019. The main advantage of this approach is that it helps utilize the best RDBMS features wherever applicable, while keeping the graph database options for complex relationships like 360 degree view of patients, making it a true polyglot persistence architecture.
As mentioned above, in SQL Server 2019 a graph database is a collection of node tables and edge tables. A node table represents an entity in a graph schema. An edge table represents a relationship in a graph. Edges are always directed and connect two nodes. An edge table enables users to model many-to-many relationships in the graph. Normal SQL Insert statements are used to create records into both node and edge tables.
While the node tables and edge tables represent the storage of graph data there are some specialized commands which act as extension of SQL and help with traversing between the nodes to get the full details like patient 360 degree data.
MATCH statement links two node tables through a link table, such that complex relationships can be retrieved. An example,
It finds the relationship path between two node tables by performing multiple hops recursively. It is one of the useful statements to find the 360 degree of a patient.
There are more options and statements as part of graph processing. Together it will help identify complex relationships across business entities and retrieve them.
GRAPH processing In Rhodium
As mentioned in my earlier articles (Healthcare Data Sharing & Zero Knowledge Proofs in Healthcare Data Sharing), GAVS Rhodium framework enables Patient and Data Management and Patient Data Sharing and graph databases play a major part in providing patient 360 as well as for provider (doctor) credentialing data. The below screen shots show the samples from reference implementation.
Patient Journey Mapping
Typically, a patient’s interaction with the healthcare service provider goes through a cycle of events. The goal of the provider organization is to make this journey smooth and provide the best care to the patients. It should be noted that not all patients go through this journey in a sequential manner, some may start the journey at a particular point and may skip some intermediate journey points. Proper data collection of events behind patient journey mapping will also help with the future prediction of events which will ultimately help with patient care.
Patient 360 data collection plays a major role in building the patient journey mapping. While there could be multiple definitions, the following is one of the examples of mapping between patient 360-degree events and patient journey mapping.
The below diagram shows an example of a patient journey mapping information.
Understanding patients better is essential for improving patient outcomes. 360 degree of patients and patient journey mapping are key components for providing such insights. While traditional technologies lack the need of providing those links, graph databases and graph processing will play a major role in patient data management.
About the Author –
Srini is the Technology Advisor for GAVS. He is currently focused on Data Management Solutions for new-age enterprises using the combination of Multi Modal databases, Blockchain and Data Mining. The solutions aim at data sharing within enterprises as well as with external stakeholders.
Servant Leadership – does it seem like a dichotomy? Well, it is not so. In this new age of Agile and Digital Transformation, this is a much sought-after trait in Leaders by their Organizations.
The goal of Servant Leadership is to Serve. It involves the leader supporting and empowering their teams and thus enabling Success. The paradigm shift in the thought process here is that – instead of the people working to serve the leader, the leader exists to serve the team. And do remember that a Servant Leader is a Servant first, Leader next – not the other way around 😊
In today’s Agile world of Software Delivery, the Scrum Master needs to be a Servant Leader.
So, what are the characteristics of a Servant Leader?
Doesn’t abuse authority
As you can see here, it is all about achieving results through people empowerment. When people realize that their Leader helps every team member build a deep sense of community and belonging in the workplace, there is a higher degree of accountability and responsibility carried out in their work.
Ultimately, a Servant Leader wants to help others thrive, and is happy to put the team’s needs before their own. They care about people and understand that the best results are produced not through top-down delegation but by building people up. People need psychological safety and autonomy to be creative and innovative.
As Patrick Lencioni describes, Humility is one of the 3 main pillars for ideal team players. Humility is “the feeling or attitude that you have no special importance that makes you better than others”.
Behaviors of Humble Agile Servant Leaders
Deep listening and observing
Openness towards new ideas from team members
Appreciating strengths and contributions of team members
Seek contributions of team members to overcome challenges and limitations together
Be coachable coaches – i.e. Coach others, and simultaneously be easy to be coached by others
Humility’s foe – Arrogance
In Robert Hogan’s terms, arrogance makes “the most destructive leaders” and “is the critical factor driving flawed decision-makers” who “create the slippery slope to organizational failure”.
Humility in Practice
A study on the personality of CEOs of some of the top Fortune 1000 Companies shows that what makes these companies successful as they are is the CEOs’ humility. These CEOs share two sets of qualities seemingly contradictory but always back each other up strongly:
They are “self-effacing, quiet, reserved, even shy”. They are modest. And they admit mistakes.
At the same time, behind this reserved exterior, they are “fiercely ambitious, tremendously competitive, tenacious”. They have strong self-confidence and self-esteem. And they’re willing to listen to feedback and solicit input from knowledgeable subordinates.
According to Dr. Robert Hogan (2018), these characteristics of humility create “an environment of continuous improvement”.
What are the benefits of being a humble Servant Leader?
Increase inclusiveness – the foundation of trust
Strengthen the bond with peers – the basis of well-being
Increase staff engagement
So, what do you think would be the outcomes for organizations that have practicing Servant Leaders?
Vasu heads the Engineering function for A&P. He is a Digital Transformation leader with ~20 years of IT industry experience spanning across Product Engineering, Portfolio Delivery, Large Program Management, etc. Vasu has designed and delivered Open Systems, Core Banking, Web / Mobile Applications, etc. Outside of his professional role, Vasu enjoys playing badminton and is a fitness enthusiast.
This is the first article in the series of ‘Design-led organization’ writing about creative thinking as a practice in GAVS. It is the first step for the readers to explore the world of design and creativity. So, let’s get started!
First let’s see what is design thinking is all about
There is a common misconception that design thinking is new. But when you look back, people have applied a human-centric creative process to build meaningful and effective solutions. Design has been practiced for ages to build monuments, bridges, automobiles, subway systems, etc. Design is not only limited to aesthetics, it is more of a mindset to think of a solution. Design thinking is a mindset to iteratively think about a complex problem and come up with a viable solution.
Thinking outside of the box can provide an innovative solution to a sticky problem. However, thinking outside of the box can be a real challenge as we naturally develop patterns of thinking that are based on the repetitive activities and commonly accessed knowledge surround ourselves. It takes something to detach away from a situation where we’re too closely involved to be able to ﬁnd better possibilities.
To illustrate how a fresh way of thinking can create unexpectedly good solutions, let’s look at a famous incident. Some years ago, an incident occurred where a truck driver had tried to pass under a low bridge. But, he failed, and the truck became ﬁrmly lodged under the bridge.
The driver was unable to continue driving through or reverse out. The struck truck caused massive trafﬁc problems, which resulted in emergency personnel, engineers, ﬁreﬁghters, and truck drivers gathering to negotiate various solutions to dislodge the truck.
Emergency workers were debating whether to dismantle parts of the truck or chip away at parts of the bridge. Each of one were looking for a solution with their respective level of expertise. A boy walking by and witnessing the intense debate looked at the truck, at the bridge, then looked at the road and said, “Why not just let the air out of the tires?” to the absolute amazement of all the specialists and experts trying to resolve the issue.
When the solution was tested, the truck could drive with ease, having suffered only the damage caused by its initial attempt to pass underneath the bridge. It symbolizes the struggles we face where often the most obvious solutions are the ones hardest to come by because of the self-imposed constraints we work within.
“Challenging our assumptions and everyday knowledge is often difficult for us humans, as we rely on building patterns of thinking in order not to have to learn everything from scratch every time.“
Let’s come back to our topic “What is Design thinking?” Tim Brown, Executive Chairman of IDEO – an international design and consulting firm quoted design thinking as below.
“Design thinking is a human-centered approach to innovation that draws from the designer’s toolkit to integrate the needs of people, the possibilities of technology, and the requirements for business success.”
Now let’s think about our truck example. A boy with his fresh mindset provides a simple solution to address a complex problem. Yeah! this is the sweet spot. Everyone is creative and capable of thinking like a designer, and out of the box, to come up with a solution. This way of inculcating design as a mindset for a solution is known as Design thinking.
Yes, you read it right, everyone is creative…
We forget that back in kindergarten, we were all creative. We all played and experimented with weird things without fear or shame. We didn’t know enough not to. The fear of social rejection is something we learned as we got older. And that’s why it’s possible to regain our creative abilities, even decades later. In the field of design and user experience, there are individuals to stick with a methodology a while, they will end up doing amazing things. They come up with break through ideas or suggestions and work creatively with a team to develop something truly innovative. They surprise themselves with the realization that they are a lot more creative than they had thought. That early success shakes up how they see themselves and makes them eager to do more.
We just need to rediscover what we already have: the capacity to imagine, or build upon, new to the world ideas. But the real value of creativity doesn’t emerge until you are brave enough to act on those ideas.
Geshe Thupten Jinpa, who has been the Dalai Lama’s chief English translator for more than twenty years, shared an insight about the nature of creativity. Jinpa pointed out that there’s no word in the Tibetan language for ‘creativity’ or ‘being creative’. The closest translation is ‘natural’. In other words, if you want to be more creative, you should be more natural! So…be natural!
At your workplace, the complex problems can be easily sorted out when you find a solution using creativity with the mindset of design thinking. Creativity can be improved by following the below steps.
Go for a walk.
Play your favorite games.
Move your eyes.
Take a break and enjoy yourself.
Congratulate yourself each time you do something well.
Estimate time, distance, and money.
Take a route you never have taken before.
Look for images in mosaics, patterns, textures, clouds, stars…
Try something you have never done before.
Do a creative exercise.
Start a collection (stamps, coins, art, stationery, anything you wish to collect)
Watch Sci-Fi or fantasy films.
Change the way you do things – there are no routine tasks, only routine way of doing things.
Wear a color you do not like.
Think about how they invented equipment or objects you use daily.
Make a list of 10 things you think are impossible to do and then imagine how you could make each one possible.
For every bad thing that happens to you, remember at least 3 good things that happened.
Read something you have not read yet.
Make friends with people on the other side of the world.
When you have an idea, make a note of it, and later check to see if it happened.
Connect a sport with your work.
Try food you never tried before.
Talk to grandparents and relatives and listen to their stories.
Give an incorrect answer to a question.
Find links between people, things, ideas, or facts.
Ask children how to do something and observe their creativity.
Start doing the above-mentioned steps to inculcate a creative mindset and apply it in your day-to-day work. Companies like GE health care, Procter & Gamble, UBER practiced design thinking and implemented in their new product launches and for solving complex problems in their organizations. Be natural to be more creative! When you are more creative, you can apply design thinking for seeking any solution for a complex problem in your work.
This is the first article in the series of Design led Organization in GAVS. Keep watching this space for more articles on design and keep exploring the world of design-thinking!
Creative Confidence by Tom Kelly & David Kelly
The Basics of User experience design by Interaction design foundation
Gogul is a passionate UX designer with 8+ years of experience into designing experiences for digital channels like Enterprise apps, B2C, B2B apps, Mobile apps, Kiosk, Point of Sale, Endless aisle, telecom products. He is passionate about transforming complex problems into actionable solutions using design.
The Java CoE was established to partner with our customers and aid them in realizing business benefits through effective adoption of cutting-edge technologies; thus, enabling customer success.
Be the go-to team for anything related to Java across the organization and customer engagements.
Build competency by conducting training and mentoring sessions, publishing blogs, whitepapers and participating in Hackathons.
Support presales team in creating proposals by providing industry best solutions using the latest technologies, standards & principles.
Contribute a certain percent of revenue growth along with the CSMs.
Create reusable artifacts, frameworks, solutions and best practices which can be used across organization to improve delivery quality.
Design Thinking: Setting up a strong foundation of “Design Thinking and Engineering Mindset” is paramount for any business. We aim to do so in the following way:
2. Solution and Technology: Through our practice, we aim to equip GAVS with solution-oriented technology leaders who can lead us ahead through disruptive times
3. Customer success
Identify opportunities in accounts based on the collaboration with CSMs, understand customer needs, get details about the engagement, understand the focus areas and challenges.
Understand the immediate need of the project, provide solution to address the need.
Java council to help developers arrive at solutions.
Understand architecture in detail and provide recommendation / create awareness to use new technologies
Enforce a comprehensive review process to enable quality delivery.
Formed the CoE team
Identified the focus Areas
Identified leads for every stream
Socialized the CoEwithin GAVS
Delivered effective solutions across projects to improve delivery quality
Conducted trainings on standards and design-oriented coding practices across GAVS
Publishedblogs to bring in design-oriented development practices
Identified the areas for creating re-usable artefacts (Libraries / Frameworks)
Brainstormed and finalized the design for creating Frameworks (For the identified areas)
Streamlined the DevOps process which can be applied in any engagement
Built reusable libraries, components and frameworks which can be used across GAVS
Automated the Code Review process
Organized and conducted hackathons and tech meetups
Discovered potential technical problems/challenges across teams and offered effective solutions, thereby enabling customer success
Supported the presales team in creating customized solutions for prospects
Establishing tech governance and align managers / tech leads to the process
Setting up security standards and principles across domain
Buildingmore reusable libraries, components and frameworks which can be used across GAVS
Adopting Design Patterns / Anti-patterns
Enforcing a strong review process to bring in quality delivery
Enabling discussions with the customers
Setting up a customer advisory team
Contribution to Organizational Growth
As we continue our journey, we aim to support the revenue growth of our organization. Customer Success being a key goal of GAVS, we will continue to enable it by improving the quality of service delivery and building a solid foundation across all technology and process streams. We also want to contribute to the organization by developing a core competency around a strategic capability and reduce knowledge management risks.
“During the World War II, there was a time when the Germans winning on every front and the fear of Hitler taking over the world was looming. At that point in time, had the Allies not taken drastic measures and invested in ground-breaking technologies such as radars, aircraft, atomic energy, etc., the world would have been starkly different from what it is today.
Even in today’s world, the pace at which things are changing is incredible. The evolution of technology is unstoppable, and companies must be ready. There is an inherent need for them to differentiate themselves by providing solutions that showcase a deep understanding of domain and technology to address evolving customer expectations. What becomes extremely important for companies is to establish themselves as incubators of innovation and possess the ability to constantly innovate and fail fast. Centers of Excellence can be an effective solution to address these challenges.”
“An Organisation’s ability to learn, and translate that learning into action rapidly, is the ultimate competitive advantage”
Jack Welch, former Chairman and CEO of General Electric
The Database CoE was formed with a mission to groom, enhance and incubate talents within GAVS to stay abreast of the evolving technology landscape and help our customers with cutting edge technology solutions.
We identify the expert and the requirements across all customer engagements within GAVS. Regular connects and technology sessions ensure everyone in the CoE is learning at least one new topic in a week. Below is our charter and roadmap by priority:
Database CoE is focused on assisting our customers in every stage of the engagement right from on-boarding, planning, execution with consultative approach and a futuristic mindset. With above primary goals we are currently working on below initiatives:
When we help each other and stand together we evolve to be the strongest.
Continuous learning is an imperative in the current times. Our fast-paced trainings on project teams is an alternate to the primitive classroom sessions. We believe true learning happen when you are working on it hands-on. With this key aspect in mind, we divide the teams in smaller groups and map them to projects to get larger exposure and gain from experience.
This started off with a pilot with an ISP provider where we trained 4 CoE members in Azure and Power BI within a span of 2 months.
Database Maturity Assessment
“When digital transformation is done right, it’s like a caterpillar turning into a butterfly “
George Westerman, research scientist at the MIT Center for Digital Business
Why Bother with a Database Assessment?
We often know we have a problem and can visualize the ideal state we want our technology solution to get us to. However, it is challenging to figure out how to get there because it’s easy to confuse the symptoms with the cause of a problem. Thus, you end up solving the ‘symptom’ with a (potentially expensive) piece of technology that is ill-equipped to address the underlying cause.
We offer a structured process to assess your current database estate and select a technology solution helps you get around this problem, reduce risks and fast track the path to your true objective with futureproofing, by forcing you to both identify the right problem and solve it the right way.
Below are the three key drivers powering the assessment.
Automated assessment and benchmark of existing and new database estates against industry best practices and standards.
Analyze & Finetune
Analyze assessment findings and implement recommendations on performance, consistency, and security aspect
NOC+ZERO TOUCH L2
Shift Left and Automate L1/L2 Service requests and incidents with help of Database COE- Automation experts
As we progress on our journey, we want to establish ourselves as a catalyst to help our customers future-proof technology and help in early adoption of new solutions seamlessly.
People and technology are converging like never before, as the world is gripped by COVID – 19. Just a few months ago, nobody could have predicted or foreseen the way businesses are having to work today. As we were strategizing on corporate governance, digital transformation and the best of resiliency plans to ensure business continuity, no one ever anticipated the scale and enormity of COVID 19.
Today, it has become obvious that COVID 19 has brought about the convergence of technology and humanity and how it can change the way businesses work and function. While we as leaders have been thinking largely about business outcomes, this pandemic has triggered a more humane approach, and the approach is here to stay. The humane approach will be the differentiator and will prove the winner.
There is no doubt that this pandemic has brought an urgent need to accelerate our digital capabilities. With the focus on strong IT infrastructure and remote working, workforces were able to transition to working from home, meeting through video conferencing, and surprisingly, this has turned to increase the humane aspect of business relations – it has now become alright for both parties to be seeing children, spouses or pets in meeting backgrounds, and that in itself has broken down huge barriers and formalities. It is refreshing to see the emerging empathy that is getting stronger with every meeting, and increasing collaboration and communication. It is becoming increasingly clear that we have overlooked the important factor of how it is that people have been showing up to work. Suddenly it is now more visible that people have equally strong roles within the family – when we see parents having to home-school their children, or having other care obligations, we are viewing their personal lives and are able to empathize with them more. We are seeing the impact that business can have on people and their personal lives and this is a never like before opportunity for leaders to put our people first.
And with customers being the center of every business, the situation of not being able to do in-person meetings has now warranted newer ways to collaborate and further strengthen the customer-centricity initiatives even more. It has become evident that no matter how much we as leaders are thinking of automating operations, it is human connections that run businesses successfully. Lots of things have been unraveled – Important business imperatives like criticality of clean workspace compliance, the fact that offshoring thousands of miles away is not factually a compromise, but a very cost-effective and efficient way of getting things done. Productivity has also increased, and work done this far by, has a positive impact of at least 20% or even more in certain situations. As boundaries and barriers are broken, the rigidities of who should work on something and when they should work on it have all become less rigid. Employees are less regimental about time. Virtual crowd outsourcing has become the norm – you throw an idea at a bunch of people and whoever has the ability and the bandwidth to handle the task takes care of it, instead of a formal task assignment, and this highlights the fungibility of people.
All in all, the reset in the execution processes and introducing much more of a humane approach is here to stay and make the new norm even more exciting.
About the Author –
Balaji has over 25 years of experience in the IT industry, across multiple verticals. His enthusiasm, energy, and client focus is a rare gift, and he plays a key role in bringing new clients into GAVS. Balaji heads the Delivery department and passionately works on Customer delight. He says work is worship for him and enjoys watching cricket, listening to classical music, and visiting temples.
This article explores the offering of
the various Java caching technologies that can play critical roles in improving
What is Cache Management?
A cache is a hot or a temporary memory buffer which stores most frequently used data like the live transactions, logical datasets, etc. This intensely improves the performance of an application, as read/write happens in the memory buffer thus reducing retrieval time and load on the primary source. Implementing and maintaining a cache in any Java enterprise application is important.
The client-side cache is used to temporarily store the static data transmitted over the network from the server to avoid unnecessarily calling to the server.
The server-side cache could be a query cache, CDN cache or a proxy cache where the data is stored in the respective servers instead of temporarily storing it on the browser.
Adoption of the right caching technique and tools allows
the programmer to focus on the implementation of business logic; leaving the
backend complexities like cache expiration, mutual exclusion, spooling, cache
consistency to the frameworks and tools.
Caching should be designed specifically for the environment considering a single/multiple JVM and clusters. Given below multiple scenarios where caching can be used to improve performance.
1. In-process Cache – The In-process/local cache is the simplest cache, where the cache-store is effectively an object which is accessed inside the application process. It is much faster than any other cache accessed over a network and is strictly available only to the process that hosted it.
If the application is deployed only in one node, then in-process caching is the right candidate to store frequently accessed data with fast data access.
If the in-process cache is to be deployed in multiple instances of the application, then keeping data in-sync across all instances could be a challenge and cause data inconsistency.
An in-process cache can bring down the performance of any application where the server memory is limited and shared. In such cases, a garbage collector will be invoked often to clean up objects that may lead to performance overhead.
In-Memory Distributed Cache
Distributed caches can be built externally to an application that supports read/write to/from data repositories, keeps frequently accessed data in RAM, and avoid continuous fetching data from the data source. Such caches can be deployed on a cluster of multiple nodes, forming a single logical view.
In-memory distributed cache is suitable for applications running on multiple clusters where performance is key. Data inconsistency and shared memory aren’t matters of concern, as a distributed cache is deployed in the cluster as a single logical state.
As inter-process is required to access caches over a network, latency, failure, and object serialization are some overheads that could degrade performance.
2. In-memory database
In-memory database (IMDB) stores data in the main memory instead of a disk to produce quicker response times. The query is executed directly on the dataset stored in memory, thereby avoiding frequent read/writes to disk which provides better throughput and faster response times. It provides a configurable data persistence mechanism to avoid data loss.
Redis is an open-source in-memory data
structure store used as a database, cache, and message broker. It offers data
replication, different levels of persistence, HA, automatic partitioning that
Replacing the RDBMS with an in-memory
database will improve the performance of an application without changing the
3. In-Memory Data Grid
An in-memory data grid (IMDG) is a
data structure that resides entirely in RAM and is distributed among multiple
Parallel computation of the data in memory
Search, aggregation, and sorting of the data in memory
Transactions management in memory
Cache Use Cases
There are use cases where a specific caching should be adapted to improve the performance of the application.
1. Application Cache
Application cache caches web content
that can be accessed offline. Application owners/developers have the
flexibility to configure what to cache and make it available for offline users.
It has the following advantages:
Quicker retrieval of data
Reduced load on servers
2. Level 1 (L1) Cache
This is the default transactional
cache per session. It can be managed by any Java persistence framework (JPA) or
object-relational mapping (ORM) tool.
The L1 cache stores entities that fall under a specific session and are cleared once a session is closed. If there are multiple transactions inside one session, all entities will be stored from all these transactions.
3. Level 2 (L2) Cache
The L2 cache can be configured to provide custom caches that can hold onto the data for all entities to be cached. It’s configured at the session factory-level and exists as long as the session factory is available.
Sessions in an application.
Applications on the same servers with the same database.
Application clusters running on multiple nodes but pointing to the same database.
4. Proxy / Load balancer cache
Enabling this reduces the load on application servers. When similar content is queried/requested frequently, proxy takes care of serving the content from the cache rather than routing the request back to application servers.
When a dataset is requested for the first time, proxy saves the response from the application server to a disk cache and uses them to respond to subsequent client requests without having to route the request back to the application server. Apache, NGINX, and F5 support proxy cache.
5. Hybrid Cache
A hybrid cache is a combination of JPA/ORM frameworks and open source services. It is used in applications where response time is a key factor.
Caching Design Considerations
1. Data Loading/Updating
Data loading into a cache is an
important design decision to maintain consistency across all cached content.
The following approaches can be considered to load data:
Using default function/configuration provided by JPA and ORM frameworks to load/update data.
Implementing key-value maps using open-source cache APIs.
Programmatically loading entities through automatic or explicit insertion.
External application through synchronous or asynchronous communication.
2. Performance/Memory Size
Resource configuration is an important factor in achieving the performance SLA. Available memory and CPU architecture play a vital role in application performance. Available memory has a direct impact on garbage collection performance. More GC cycles can bring down the performance.
3. Eviction Policy
An eviction policy enables a cache to ensure that the size of the cache doesn’t exceed the maximum limit. The eviction algorithm decides what elements can be removed from the cache depending on the configured eviction policy thereby creating space for the new datasets.
There are various popular eviction
algorithms used in cache solution:
Least Recently Used (LRU)
Least Frequently Used (LFU)
First In, First Out (FIFO)
Concurrency is a common issue in enterprise applications. It creates conflict and leaves the system in an inconsistent state. It can occur when multiple clients try to update the same data object at the same time during cache refresh. A common solution is to use a lock, but this may affect performance. Hence, optimization techniques should be considered.
5. Cache Statistics
Cache statistics are used to identify the health of cache and provide insights about its behavior and performance. Following attributes can be used:
Hit Count: Indicates the number of times the cache lookup has returned a cached value.
Miss Count: Indicates number of times cache lookup has returned a null or newly loaded or uncached value
Load success count: Indicates the number of times the cache lookup has successfully loaded a new value.
Total load time: Indicates time spent (nanoseconds) in loading new values.
Load exception count: Number of exceptions thrown while loading an entry
Eviction count: Number of entries evicted from the cache
Various Caching Solutions
There are various Java caching solutions available — the right choice depends on the use case.
At GAVS, we focus on building a strong foundation of coding practices. We encourage and implement the “Design First, Code Later” principle and “Design Oriented Coding Practices” to bring in design thinking and engineering mindset to build stronger solutions.
We have been training and mentoring our talent on cutting-edge JAVA technologies, building reusable frameworks, templates, and solutions on the major areas like Security, DevOps, Migration, Performance, etc. Our objective is to “Partner with customers to realize business benefits through effective adoption of cutting-edge JAVA technologies thereby enabling customer success”.
About the Author –
Sivaprakash is a solutions architect with strong solutions and design skills. He is a seasoned expert in JAVA, Big Data, DevOps, Cloud, Containers, and Micro Services. He has successfully designed and implemented a stable monitoring platform for ZIF. He has also designed and driven Cloud assessment/migration, enterprise BRMS, and IoT-based solutions for many of our customers. At present, his focus is on building ‘ZIF Business’ a new-generation AIOps platform aligned to business outcomes.
From lightbulbs to cities, IoT is adding a level of digital intelligence to various things around us. Internet of Things or IoT is physical devices connected to the internet, all collecting and sharing data, which can then be used for various purposes. The arrival of super-cheap computers and the ubiquity of wireless networks are behind the widespread adoption of IoT. It is possible to turn any object, from a pill to an airplane, into an IoT-enabled device. It is making devices smarter by letting them ‘sense’ and communicate, without any human involvement.
Let us look at the developments that enabled the commercialization of IoT.
The idea of integrating sensors and
intelligence to basic objects dates to the 1980s and 1990s. But the progress
was slow because the technology was not ready. Chips were too big and bulky and
there was no way for an object to communicate effectively.
Processors had to be cheap and power-frugal enough to be disposed of before it finally becomes cost-effective to connect to billions of devices. The adoption of RFID tags and IPV6 was a necessary step for IoT to scale.
Kevin Ashton penned the phrase ‘Internet of Things’ in 1999. Although it took a decade for this technology to catch up with his vision. According to Ashton “The IoT integrates the interconnectedness of human culture (our things) with our digital information system(internet). That’s the IoT”.
Early suggestions for IoT include ‘Blogjects’ (object that blog and record data about themselves to the internet), Ubiquitous computing (or ‘ubicomp’), invisible computing, and pervasive computing.
How big is IoT?
IDC predicts that there will be 41.6 billion connected IoT devices by 2025. It also suggests industrial and automotive equipment represent the largest opportunity of connected ‘things’.
Gartner predicts that the enterprise and automotive sectors will account for 5.8 billion devices this year.
However, the COVID-19 pandemic has further
enhanced the need for IoT-enabled devices to help the nations tackle the
IoT for the Government
Information about the movement of citizens is urgently required by governments to track the spread of the virus and potentially monitor their quarantine measures. Some IoT operators have solutions that could serve these purposes.
Telia’s Division X has developed Crowd Insights which provides aggregated smartphone data to city and transport authorities of Nordic Countries. It is using the tool which will track the movement of citizens during the quarantine.
Vodafone provides insights on traffic congestion.
Telefonica developed Smart steps, which aggregates data on footfall and movement for the transport, tourism, and retail sectors.
Personal data of people will also help in
tracking clusters of infection by changing the privacy regulations. For
example, in Taiwan, high-risk quarantined patients were being monitored through
their mobile phones to ensure compliance with quarantine rules. In South Korea,
the officials track infected citizens and alert others if they come into
contact with them. The government of Israel went as far as passing an emergency
law to monitor the movement of infected citizens via their phones.
China is already using mass temperature scanning devices in public areas like airports. A team of researchers at UMass Amherst is testing a device that can analyze coughing sounds to identify the presence of flu-like symptoms among crowds.
IoT in Health care
COVID-19 could be the trigger to explore new solutions and be prepared for any such future pandemics, just as the SARS epidemic in 2003 which spurred the governments in South Korea and Taiwan to prepare for today’s problems.
Remote patient monitoring (RPM) and telemedicine could be helpful in managing a future pandemic. For example, patients with chronic diseases who are required to self-isolate to reduce their exposure to COVID-19 but need continuous care would benefit from RPM. Operators like Orange, Telefónica, and Vodafone already have some experience in RPM.
Connected thermometers are being used
in hospitals to collect data while maintaining a social distance. Smart wearables
are also helpful in preventing the spread of the virus and responding to those
who might be at risk by monitoring their vital signs.
Connected thermometers are being used
in hospitals to collect data while maintaining a social distance. Smart wearables
are also helpful in preventing the spread of the virus and responding to those
who might be at risk by monitoring their vital signs.
widely adopted in the US, and the authorities there are relaxing reimbursement
rules and regulations to encourage the extension of specific services. These
include the following.
Medicare, the US healthcare program for senior citizens, has temporarily expanded its telehealth service to enable remote consultations.
The FCC has made changes to the Rural Health Care (RHC) and E-Rate programs to support telemedicine and remote learning. Network operators will be able to provide incentives or free network upgrades that were previously not permitted, for example, for hospitals that are looking to expand their telemedicine programs.
IoT for Consumers
The IoT promises to make our environment smarter, measurable, and interactive.COVID-19 is highly contagious, and it can be transmitted from one to another even by touching the objects used by the affected person. The WHO has instructed us to disinfect and sanitize high touch objects. IoT presents us with an ingenious solution to avoid touching these surfaces altogether. Hands-free and sensor-enabled devices and solutions like smart lightbulbs, door openers, smart sinks, and others help prevent the spread of the virus.
Security aspects of IoT
Security is one of the biggest issues with the IoT. These sensors collect extremely sensitive data like what we say and do in our own homes and where we travel. Many IoT devices lack security patches, which means they are permanently at risk. Hackers are now actively targeting IoT devices such as routers and webcams because of their inherent lack of security makes them easy to compromise and pave the way to giant botnets.
IoT bridges the gap between the digital and the physical world which means hacking into devices can have dangerous real-world consequences. Hacking into sensors and controlling the temperature in power stations might end up in catastrophic decisions and taking control of a driverless car could also end in disaster.
Overall IoT makes the world around us smarter and more responsive by merging the digital and physical universe. IoT companies should look at ways their solutions can be repurposed to help respond to the crisis.
Naveen is a software developer at GAVS. He teaches underprivileged children and is interested in giving back to society in as many ways as he can. He is also interested in dancing, painting, playing keyboard, and is a district-level handball player.
“Revolve your world around the customer and more customers will revolve around you.”
– Heather Williams
Customer centricity lies at the heart of GAVS. An organization’s image is largely the reflection of how well its customers are treated. And unprecedented times demand unprecedented measures to ensure that our customers are well-supported. We conversed with our Chief Customer Success Officer, Balaji Uppili, to understand the pillars/principles of maintaining and improving an organization’s customer-centricity amidst a global emergency.
Helping keep the lights on
lights on – this forms the foundation of all organizations. It is of utmost
importance to extend as much support as required by the customers to ensure
their business as usual remains unaffected. Keeping a real-time pulse on the
evolving requirements and expectations of our customers will go a long way. It
is impossible to understate the significance of continuous communication and
collaboration here. Our job doesn’t end at deploying collaboration tools, we
must also measure its effectiveness and take necessary corrective actions.
The lack of a clear vision into the future may lead business leaders into making not-so-sound decisions. Hence, bringing an element of ‘proactiveness’ into the equation will go a long way in assuring the customers of having invested in the right partner.
While empathy has always been a major tenet of customer-centricity, it is even more important in these times. The crisis has affected everyone, some more than others, and in ways, we couldn’t have imagined. Thus, we must drive all our conversations with empathy. The way we deal with our customers in a crisis is likely to leave lasting impressions in their minds.
Like in any relationship, we shouldn’t shy away from open and honest communication. It is also important to note that all rumours should be quelled by pushing legitimate information to our customers regularly. Transparency in operations and compassion in engagements will pave the path for more profound and trusted relationships.
Innovating for necessity and beyond
It is said
that “Necessity is the mother of invention”. We probably haven’t faced a
situation in the recent past that necessitated invention as much as it does now!
As we strive to achieve normalcy, we should take up this opportunity to innovate solutions. Solutions that are not just going to help our customers adjust to the new reality, but arm them with a more efficient way of achieving their desired outcomes.Could the new way of working be the future standard? Is the old way worth going back to?This is the apt time to answers these questions and reimagines our strategies.
Our deep understanding of our customers holds the key to helping them in meaningful ways. This should be an impetus for us to devise ways of delivering more value to our customers.
rapidly evolving situations and uncertainty, it is easy to fall prey to
misinformation and rumours. Hence, it is crucial to keep a channel of
communication open between you and your customers and share accurate
information. We should be listening to our customers and be extra perceptive to
their needs, whether they are articulated or not. Staying ahead and staying
positive should be our mantras to swear by. The new barometer of customer
experience will be how their partners/vendors meet their new needs with care
is not something we should shy away from. We should be constantly communicating
with our customers to reassure them of our resolve to stand by them. Again, it
is an absolute must to adjust our tone and not plug in any ‘sales-ly’ messages.
It is easy to lose focus on long-term goals and just concentrate on near-term survival. This may not be the best strategy if we’re looking to stay afloat after all this is over. All decisions must be data-driven or outcome-driven. Reimagining and designing newer ways of delivering value and ensuring customer success will be the true test of enterprises in the near future.
We’re looking at uncertain times ahead. It is imperative to build resilience to such disruptions. One way would be customer-centricity – we should be relentless in our pursuit of understanding, connecting with, and delighting our customers. Resilience is going to be as important as cost and efficiency in a business.
About the Author: Balaji has over 25 years of experience in the IT industry, across multiple verticals. His enthusiasm, energy and client focus is a rare gift, and he plays a key role in bringing new clients into GAVS. Balaji heads the Delivery department and passionately works on Customer delight. He says work is worship for him, and enjoys watching cricket, listening to classical music and visiting temples.