Full-day workshop:

Build fast, modern, reactive APIs using REST, GraphQL and Real Time API Design Strategies

So you want to build a fast and scalable API? You already heard about GraphQL, WebSockets and gRPC? Awesome! In this hands-on, one-day workshop you’ll learn how to craft an API design for an event-driven world and we are going to setup a fully functional reactive GraphQL server using Java and Spring. We’ll build other APIs using gRPC, WebSockets and Server Side Events then finally put it all together in a cloud environment.

Why this workshop?

In times of modern web, microservices and cloud, APIs are in demand now more than ever. And with them many buzzwords: REST, Microservices, Serverless and many more.

To provide a really good API requires more than just a RESTful endpoint and Swagger documentation. At least as important to get the developers enthusiastic about your own API is the clear definition of the business objectives and the associated business model.

APIs have become the foundation of the fast growing digital economy. In an API first world, good API Design is crucial for your success.

With the rise of SaaS (Software as a Service) and the proliferation of IoT, the adoption for reactive, event-driven APIs increased spectacularly.

It is believed that 50 percent of APIs world wide are already event-driven and 30 percent of all the world’s data must be consumed in real time.

In this workshop, you’ll learn how to craft an API Strategy for your Enterprise, how to turn existing REST API endpoints into event-driven APIs that save you bandwidth and management costs or how to use GraphQL to aggregate data from multiple sources and reduce/filter request & response payload in order to improve data transfer speed.

Once you’ve developed your service API you’ll learn how to package it in a Docker container and deploy it to the cloud.

 

Who is it for?

Developers, Tech Leaders, API strategists and decision-makers in Java projects.    However the workshop is also suitable for participants with a focus on full stack technologies. A basic understanding of Java is still needed !

 

What will you learn

1.  Introduction to APIs – Starting with the basics, and making sure everyone is up to speed on what APIs are all about, making sure we do not leave anyone behind
2.  History of APIs – Walking through the history of APIs to learn how APIs have evolved in time
3.  Business of APIs – See why everyone is doing APIs and how APIs are not just generating revenue but also generating value across organizations.
4.  Designing, Implementing, and Using Reactive APIs
5.  How Event-Driven APIs are different than Request-Response APIs ?
6.  5 Protocols For Event-Driven API Architectures
        WebSockets
        WebHooks
        REST Hooks
        Publish-Subscribe
        Server Sent Events
7.  GraphQL – In GraphQL, the “Q” stands for Query, which means to question. Learn how to ask servers all sorts of questions at once and allow them to provide all of the answers in a single response
8.  Query and mutate a GraphQL Endpoint easily with Postman
9.  Server side filtering with GraphQL
10. Implementing Search in GraphQL
11. Domain driven design & GraphQL
12. Introducing Prisma Cloud  –  A GraphQL Database Platform
13. Consuming GraphQL in an React app
14. IOT and Java API’s
       What is MQTT ?
       What is COAP ?
15. Secure your APIs with JWT(JSON Web Token) – What are JWTs and why are they better than other approach for securing APIs.

Who is the trainer?

Răzvan Prichici is a passionate developer, trainer and conference speaker.  He works as a lead architect at Cognizant Softvision where he is crafting code and coaching others every day. In his more than 14 years of professional experience, he was a troubleshooter, led the technical management of large software projects and worked as a freelance consultant in various companies.

He deals frequently with the strategic consulting of customers in the area of ​​software architecture, cloud computing and API strategies. 

He is very open-minded and happy about every conversation, so don’t be shy. The best way to reach him is via LinkedIn

 

Technical requirements:

 Ideally you can bring a personal laptop with your favorite IDE, JDK 8+, most recent version of Maven  and Git. Since exercise groups will be formed, participation is also possible without your own computer, pair programming can be fun ! 🙂 

Trainer

RĂZVAN PRICHICI
RĂZVAN PRICHICI

Java Technical Lead @ Cognizant Softvision