Learn how to program RESTful web services and APIs with Scala and the Akka, Spray, and Swagger frameworks.
(uplifting music) - Hi, and welcome to Learning Scala Web Development video course by Packt Publishing. Before we start, just a few words about me. I'm Andriy Redko. I am an experienced software developer with a great passion to technology and software engineering in general. Over the years, I have been working professionally with many programming languages and platforms.
However, once I discovered Java approximately eight years ago, I fell in love with its ecosystem and community. The movement to functional programming paradigm had captured my attention a few years ago when I discovered Scala programming languages. Functional style and Scala in particular captivated me immediately by its power and conciseness. I also post quite regularly about different technical topics on my own blog. You can always find and contact me there.
In this video, we're going to take a general overview of the course and glance through technologies and frameworks we will be using along the course. In this course, we will learn the foundations of the web development using Scala programming language and ecosystem. As web development in general is a huge topic, we will be focusing on developing RESTful web services and APIs only, picking the best of class frameworks available at the moment. Although the course is pretty straightforward, there are quite a few topics to be covered.
First and foremost, we are going to get a tour around REST architecture style, its principles, and constraints. From that, we will move on to an overview of Actor Model. Although REST architecture and Actor Model are not related, it is a very important piece of knowledge we will need later on. With that, we will conclude the theoretical part of the course. On a practical side, we're going to progressively build our first RESTful web services and APIs.
Once we cover service side, we will finish up by developing a few clients to show off the best practices of consuming RESTful web services including the ones we have just built. This course requires a very basic knowledge of Scala programming language. Nonetheless, Scala is a very feature rich language. We will try to stick to simple constructs whenever possible. There are three mainstream integrated development environments, or just IDEs, which most of the Scala developers use these days.
Eclipse, Netbeans, and IntelliJ IDEA. In this course, Eclipse for Java Developers Edition, with Scala IDE plugin installed, is going to be development environment of our choice, but do not worry if you are using IntelliJ IDEA or Netbeans. All the projects we will develop are going to be IDE independent and easily importable to any of those. Thanks to using Sbt, or Simple Build Tool.
Along the course, we will have enough information available at our disposal all the time however, it is a good idea to visit Akka or Spray websites to get more details about the topics left behind or read about latest news and releases. In this video, we have had a general overview of the goals of this course along with touching the key technologies and concepts we will learn about.
Embark on an exciting journey into the universe of web development using the Scala programming language and frameworks—natural choices for back-end developers building highly scalable, reliable, and reactive RESTful web services and APIs. This training is the starting point for mastering the nonblocking and asynchronous programming models that lie in the heart of the Spray framework. It starts with an introduction to the REST architecture. Then switch gears to the Akka toolkit and framework, building a sample book catalog application along the way.
Once you've learned about the REST architectural style and Actor model—the foundations that the Spray framework is built upon—you'll shape out your own RESTful web services by providing simple route definitions. Further on in the course, author Andriy Redko delves into authentication and authorization, secure transport, documentation, testing, and caching support. Finally, you will learn how to develop the Spray client API to call external web services.
- The Actor model and Akka framework
- RESTful architecture principles and constraints
- Building RESTful services
- Core Spray framework modules such as spray-can, spray-routing, spray-json, spray-caching, and spray-client
- Securing RESTful web services and APIs with Spray
- Configuring Spray applications with HTTPS support
- Documenting Spray RESTful web services using Swagger
- Caching basics
- Calling external RESTful services