Mastering Cassandra
3.5 (16 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
260 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Mastering Cassandra to your Wishlist.

Add to Wishlist

Mastering Cassandra

Unleash the power of Cassandra to develop complex and feature-rich web applications for efficient data management
3.5 (16 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
260 students enrolled
Created by Packt Publishing
Last updated 8/2015
Curiosity Sale
Current price: $10 Original price: $95 Discount: 89% off
30-Day Money-Back Guarantee
  • 3 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Grasp the building blocks of the de facto multi-tier application architecture of Cassandra
  • Design, develop, and implement a Java-Cassandra web application and deploy it to production
  • Explore the unique features and capabilities offered by Cassandra's data model
  • Master the use and configuration of Spring Data Cassandra to make our application more powerful
  • Become proficient in programming in the MVC design pattern for enterprise-ready applications
  • Add a new responsive dimension to your web applications using Bootstrap
  • Integrate with frontend charts rendering JavaScript frameworks, D3.js, and Techan.js
  • Use and deploy Spring Boot application using JavaConfig
  • Make your web applications secure with Spring Security
View Curriculum
  • All you need to get started is some basic Linux commands and knowledge of Java and Cassandra.

As technology evolves, the constant upsurge of data creation leads to a continuous need for a more flexible, secure, and reliable manner of storage. Luckily, Cassandra is able to tackle this growing challenge. Cassandra is a flagship NoSQL database with decentralized, fault-tolerant, scalable, and low-cost features making it a core component of cloud computing systems. The more recent versions have greatly improved the security features, making it suitable for use in enterprise systems. When combined with Java and Spring frameworks, Cassandra can formulate a complete application stack thereby enabling efficient data management.

Mastering Cassandra is a power house of various advanced techniques that will help you become an expert in professional-level data management. This video course starts off from the essence of the web application architecture to setting up the environment with a single-node Cassandra cluster, and takes you to a level where you can build, implement, and secure web applications with ease.

In this step-by-step guide we will develop a real-time web portal application in Java and Cassandra. We'll start off by touching upon the major components of a Java web application and the development tools for the course, and then go deeper into the system analysis and designing of the CassandraWebTrader focusing on the Spring Framework projects. Through our journey to master Cassandra, we'll be working with core concepts and design patterns such as dependency injection, aspect-oriented programming, model-view-controller, and enterprise integration patterns.

We'll build the CassandraWebTrader and implement all the typical functions of a web application as well as demonstrate the application of modeling-by-query techniques of Cassandra data modeling. In addition to this, we'll understand the techniques and design trade-offs of a real-world complex system. Finally, we will ace production configuration of CassandraWebTrader and discuss the most pertinent tasks in our daily operations, such as application monitoring and database backup.

By the end of this course, you will be armed with all the knowledge needed to efficiently design and develop Java web applications using Cassandra.

About the Author

C Y Kan is an expert in system integration and has over 20 years of IT experience, including 15 years of project management and architect role in many large-scaled local and international projects. He received a Bachelor's degree from the University of Hong Kong and later a Master's degree from the University of Technology, Sydney and holds many professional qualifications such as PMP, PRINCE2 Practitioner, PMI-ACP, Scrum Master, CISSP, ITIL, TOGAF9 and SOA Certified Architect.

He has expertise and strong interests in software technologies and development methodologies, including enterprise architecture, Service-Oriented Architecture, Java-related technologies, Oracle databases, iOS application development, Scrum, Extreme Programming, agile software development, various kinds of project management methodologies.

Who is the target audience?
  • If you are a web architect or a developer, who is passionate about developing Java applications with Cassandra, and is ready to take their skillset to an advanced level, this course is for you.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
47 Lectures
Introducing Java Web Development
5 Lectures 20:17

Explain the sections of the course.

The Course Overview

Introduce the anatomy of a web application. Review the key concepts and the architectural components.

Web Application Technologies

Start from the multilayered architecture to Java EE and web frameworks.

Java Web Frameworks

Learn about the design objectives of the persistence layer and how it can be implemented.

Data Persistence

Talk about the functions that CassandraWebTrader will provide, its architecture, and the development approach.

Setting Up Our Toolbox
5 Lectures 14:36

Follow DataStax's recommendation to select Java 7.

Preview 03:13

Introduce Apache Maven. Download, install, configure, and verify the installation.

Apache Maven

Introduce the Spring Tool Suite. Download, install, configure, and verify the installation.

The Eclipse IDE

Use Spring Boot as a catalyst to quickly develop a simple web application with minimal effort.

The Spring Framework

Introduce Apache Tomcat. Download, install, configure, and verify the installation, and set up the management interface.

Apache Tomcat
Designing CassandraWebTrader
5 Lectures 14:15

We need to get a good understanding of what the user requirements are before designing. Describe both the functional and non-functional requirements and the different user roles.

Preview 02:57

We need to establish an easy-to-expand application foundation. Use modular design and apply good programming practices.

Modules and Functions

List the data entities that need to be stored in Cassandra. Create the corresponding CQL scripts.

The Data Model

Prepare the design principles. Put in place a naming convention guideline for different program units and adopt best practices in the application design.

The Class Model

Draft the screens to have a consistent style, look, and feel. Use a screen prototyping tool to draw the wireframes.

The Screen Design
Understanding the Spring Framework
5 Lectures 25:45

We want to know what the vast Spring framework is about. Write a simple program to illustrate the main concept of dependency injection.

Preview 06:14

We want to know what Spring Web MVC is about. Write a simple web application using Spring Web MVC.

The Spring Web MVC

We want to know what Spring Security is about. Enhance a web application with Spring Security.

Spring Security

We want to know how to use Spring Data Cassandra to access a Cassandra database. Create a sample database and write a program to access it.

Spring Data Cassandra

We want to know what Spring Integration is about. Implement a simple integration flow with Spring Integration.

Spring Integration
Deep Diving into Spring Data Cassandra
5 Lectures 20:53

We want to use Spring Data Cassandra in application development. Learn about the basics and set up the maven dependencies.

Preview 04:50

We want to know different ways of accessing Cassandra. We use CqlTemplate and QueryBuilder to apply direct CQL statements.

The Query Methods

We want to work with domain classes instead of low-level calls. We use CassandraTemplate and CassandraOperations to map to POJO.

Cassandra Template

We want to reduce boilerplate code and XML in a large project. Use dependency injection and JavaConfig to configure Cassandra programmatically.


We want to use a programmatic approach to manage Cassandra tables. We use CassandraAdminTemplate and CassandraAdminOperations to create, alter, and drop tables.

Administration Template
Building CassandraWebTrader - Part 1
5 Lectures 19:58

We want to use Spring Web MVC in application development. You will learn about Spring Boot in order to speed up the development process.

Preview 05:10

You will be learning about Spring annotations and taglibs. Use them to build forms and MVC classes.

Forms and Annotations

We want to use Bootstrap in web application development. We use the sample and template from Bootstrap as a reference to tailor for our own.

Responsive Web Applications with Bootstrap

We want to render stunning stock charts. We use D3JS and TechanJS to make interactive charts.

Making Charts with D3JS

We want to enrich our application to send e-mail messages. Use Spring Boot Email to achieve this goal.

E-mail Setup
Building CassandraWebTrader - Part 2
5 Lectures 26:39

We want to make our web application internationalized. We use message bundles and the relevant taglibs.

Preview 04:12

We want to link the client-side input form with the backend Cassandra table. We use the GET and POST request methods and Spring Data.


We want to populate the database with historical prices. Use the free Yahoo! Finance end-of-day historical price service and Spring to automate collection and handling in a scheduled job.

Data Feed and the Scheduler

We want to write a RESTful web service. We use Spring Web MVC to provide JSON data to integrate with the client-side TechanJS

JSON and the Stock Chart

We want to save member registration data. Use flash attributes to return the status message to the client side.

Registration and Flash Messages
Building CassandraWebTrader - Part 3
5 Lectures 22:39

We want to secure some online functions for authenticated users only. Use Spring Security and its taglibs.

Preview 05:55

We want to program the logic for trading signals. Use the technical analysis technique and TA-Lib.

Trading Signal

We want to save trading signals for different purposes. Use the design-by-query technique to get a denormalized table for each of the purposes.

Signal History

We want to reduce coupling among different application components. We use Spring Integration and messages as a means of decoupling.

E-mail Alerts

We want to provide role-based security for different users. We use Spring Security and its taglibs.

User Role and Authorization
Deploying to Production
5 Lectures 18:57

We want control over who will receive the e-mail alerts. We use a secondary index to determine who the active members are.

Preview 03:40

We want to provide a self-served forgotten password function. We use a given username to look for the password and then e-mail it to the member.

Retrieve Forgotten Password

We want to prepare the application for production deployment. Remove all the unnecessary classes, pages, and URLs and make the URLs context-path-sensitive.

Refine and Clean Up

We want to include monitoring and management functions for a production system. We enable Spring Boot Actuator in the production application.

The Spring Boot Actuator

We want to make the application deployable for production. We select the most appropriate approach out of the many options provided by Spring Boot.

Deploying the Spring Boot Application
2 Lectures 07:32

We will quickly revise and review what you've learned from this course. We will summarize the course with highlights on section topics.

Preview 03:06

We have references for further study. We will provide recommendations of some useful resources for reference.

Further References
About the Instructor
Packt Publishing
3.9 Average rating
7,349 Reviews
52,621 Students
616 Courses
Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.