"It’s open source. It’s highly opinionated. Build greenfield microservices and decompose your Java EE monolith like a boss." Lightbend (formerly Typesafe) has come up with their own framework, Lagom, for architecting microservices based systems. With Lagom, Lightbend wants to take up the competition with the Spring Cloud stack. Lagom is built upon Akka and Play and focuses on reactive and message-driven APIs, distributed persistence with Event Sourcing and CQRS and high developer productivity. On the 10th of March a first MVP version has been released with a Java API, the Scala API is being worked on. This workshop acts as an introduction to Lagom during which we will have a look at developing and deploying Lagom microservices. As a warm-up, you could check out the newest blogpost on the JWorks Tech Blog: https://ordina-jworks.github.io/microservices/2016/04/22/Lagom-First-Impressions-and-Initial-Comparison-to-Spring-Cloud.html. Github repo with presentation: https://github.com/yannickdeturck/lagom-shop Blogpost Lagom: First Impressions and Initial Comparison to Spring Cloud: https://ordina-jworks.github.io/microservices/2016/04/22/Lagom-First-Impressions-and-Initial-Comparison-to-Spring-Cloud.html Podcast Lightbend Podcast Ep. 09: Andreas Evers test drives Lagom in comparison with Spring Cloud: https://www.lightbend.com/blog/lightbend-podcast-ep-09-andreas-evers-test-drives-lagom-in-comparison-with-spring-cloud
This document provides an overview of Red Hat's middleware stack and how Spring Boot applications can be deployed on it. It discusses Red Hat middleware products like WildFly and KeyCloak, as well as OpenShift for Kubernetes-based application deployment. It also covers tools like Fabric8 for building and deploying Docker images to OpenShift and CE & Obsidian for integrating various products and generating quickstarts. Finally, it announces some demos of KeyCloak and Artemis integration with Spring Boot applications.
One microservice is not enough and microservices should be built as systems. Building a single microservice is generally easy, but building a system of microservices that are integrated is challenging due to increased complexity from deployment, large development teams, and separating functionality from monolithic applications. The Lagom framework is designed to help with building microservice systems by providing an opinionated development environment, service API, and persistence API to address these challenges.
Nowadays "cloud" and "microservice" terms are used all the time, even overused. Does any system must be the "microservices" deployed in the "cloud"? Definitely not! However once you see that your system may benefit from that architecture, the next question is how to get there - how to fly to the clouds? Spring was always about simplifying the complicated aspects of your enterprise system. Netflix went to microservice architecture long before this term even was created. Both are very much contributed to open source software. How can you benefit from joint forces of the both?
Nowadays "cloud" and "microservice" terms are used all the time, even overused. Does any system must be the "microservices" deployed in the "cloud"? Definitely not! However once you see that your system may benefit from that architecture, the next question is how to get there - how to fly to the clouds? Spring was always about simplifying the complicated aspects of your enterprise system. Netflix went to microservice architecture long before this term even was created. Both are very much contributed to open source software. How can you benefit from joint forces of the both?
In this session, we'll talk about what's different about this generation of web applications and how a solid development approach must consider the latency, throughput, and interactivity demand by users across mobile devices, web browsers, and Internet of Things (IoT). We'll demonstrate how to include Couchbase in such applications to support a flexible data model and the easy scalability required for modern development. We'ill demonstrate how to create a full stack application focusing on the CEAN stack, which is composed of Couchbase, Express Framework, AngularJS, and Node.js.
- GraphQL performance monitoring can be challenging as queries can vary significantly even when requesting the same data. Traditional endpoint monitoring provides little insight. - Distributed tracing using OpenTracing allows tracing queries to monitor performance at the resolver level. Tools like Jaeger and plugins for Apollo Server and other GraphQL servers can integrate tracing. - A demo showed using the Apollo OpenTracing plugin to trace a query through an Apollo server and resolver to an external API. The trace data was sent to Jaeger for analysis to help debug performance issues.
Spring Boot and Spring Cloud provide an easier and more productive framework for building cloud-native microservices compared to Java EE. Spring Boot simplifies the development, deployment, and management of microservices. Spring Cloud adds helpful capabilities for service discovery, external configuration, load balancing, and monitoring that are missing from Java EE. While Java EE adoption is declining, the use of Spring Boot and Spring Cloud is growing rapidly among developers.
Slides from ConFoo (confoo.ca) 2017 presentation on Amazon Lambda. Covers AWS Lambda, AWS Cognito, and AWS API-Gateway.
This document discusses Lagom, a microservices framework for building reactive, distributed systems on the JVM. Lagom promotes building loosely coupled services with explicit boundaries and focuses on asynchronous communication. It provides tools for event sourcing, CQRS, and clustering services for scalability. The document outlines Lagom's approach and provides resources for learning more.
This document discusses implementing microservices using Spring Cloud and Netflix libraries. It provides an overview of microservices and challenges in implementing them. It then discusses how Spring Boot can be used to quickly build microservice endpoints. The document outlines several Netflix libraries integrated with Spring Cloud that can help with microservices development, including Eureka for service discovery, Hystrix for circuit breaking, Ribbon for load balancing, Zuul for routing, and Feign for calling REST services. Code examples are provided for implementing circuit breaking using Hystrix.
Spring Cloud/Netflix OSS way of building microservices on Kubernetes -- preso from Spring One Platform 2016
This document summarizes a hands-on workshop about transforming monolithic applications into microservices using Java EE and Spring Boot frameworks on OpenShift. The workshop will demonstrate how to use the "strangling the monolith" approach to incrementally extract services from a monolithic codebase into independent microservices deployed on OpenShift. Attendees will learn how to implement microservices using WildFly Swarm and Spring Boot, add concerns like health checks and configuration, and discuss best practices for migrating applications to microservices.
Presentation for Dutch Microsoft TechDays 2015: With ASP.NET 5 comes MVC 6 with a programming model that unifies Web Pages, MVC and Web API. Each of these has been rebuilt to reflect Microsoft's vision of lean and composable web applications. In this session you will see the changes that have been made to the programming model. We will cover topics such as the new POCO controllers, View Components, dependency injection and much more. Plus, you are going to see the significant changes to the ASP.NET runtime on which MVC 6 is built.
Consul is a tool that provides service discovery, configuration, and orchestration. It allows services to register themselves and discover other services via DNS or HTTP. Consul also supports health checking, multi-datacenter capabilities, and key-value storage. The core component is the Consul agent, which can run on every node in client or server mode. Servers are responsible for consensus and storing state while clients forward requests.
Reactive services were defined by the Reactive Manifesto. They are built to be more flexible, loosely-coupled and scalable and also they are qualified based on the four principles: responsive, resilient, elastic and message driven. Java and the Java EE platform offers a pretty good structure and libraries to implement reactive services and transform it in a microservices architecture designed.
Building microservices requires more than just infrastructure, but infrastructure does have a role. In this talk we look at microservices from an enterprise perspective and talk about DDD, Docker, Kubernetes and how established open-source projects in the integration space fits a microservices architecture
Database deployments - dotnetsheff 2 March 2021 https://www.meetup.com/dotnetsheff/events/273184959/
「PlayFramework関西ビギナーズ in OsakanSpace 第1回」 http://atnd.org/events/33666 Play frameworkの概要と今後についてゆるく説明して、 Playとそのコミュニティを雰囲気を知っていただこうという趣旨で発表しました。 参加された方の半数がPHPユーザだったので、冒頭でPHPユーザの方向けの説明を特別に入れたりして工夫しています。
A fast intro to Scala and Play, to prepare the audience for a live demo of a Play Application using Futures to get weather data from Yahoo in a non blocking way, then display to the user the results. The code is available here https://github.com/tabdulradi/weather
Выступление на DUMP-2015.
Swagger is a specification and complete framework implementation for describing, producing, consuming, and visualizing RESTful web services. The overarching goal of Swagger is to enable client and documentation systems to update at the same pace as the server. The documentation of methods, parameters, and models are tightly integrated into the server code, allowing APIs to always stay in sync. With Swagger, deploying managing, and using powerful APIs has never been easier.
The document discusses how MongoDB is used at VRT (the Belgian public broadcasting organization): - MongoDB version 2.4.9 is used with a replica set of 1 primary and 4 secondaries and secondary preferred read preference. - On the application side, JavaDriver 2.12 is used with no ORM, just BasicDbObject and QueryBuilder. Integration testing uses NoSQL Unit to insert test data and check results. - On the database side, all queries are indexed for performance and the replica set provides eventual consistency suitable for their application. System profiling and query explaining are used to determine useful indexes.
A lot of projects sooner or later encounter the challenge of processing huge data sets. You might want to choose a system where you receive the requests, but process them later on to avoid a system overload, eg. during the night. During this workshop we will teach you the principles of batch processing. We will try to explain the matter in a framework independant way, but we will concretize the theory with code samples using the Spring Batch Framework.
From choosing good names, writing tidy unit tests and learning to keep your code small and reusable, to understanding the single responsibility and other SOLID principles. This workshop will touch all these subjects and more in order to come to a better understanding of cleanliness in code.
Responsive web design allows websites to adapt to different screen sizes and devices. It involves using progressive enhancement to build mobile-first, using media queries to apply different styling based on screen width, and fluid or mixed fixed/fluid layouts. Key aspects include starting with content for mobile and adding more for larger screens, as well as providing higher resolution images for high pixel density displays using techniques like 2x image filenames. Popular frameworks like Bootstrap and Foundation provide tools to help with responsive design implementation.
The document reports on gas gain studies of a multi-wire proportional chamber (MWPC) using two gas mixtures: Ar:CO2 (80:20) and Ar:CO2:CF4 (88:2:10). Iron-55 studies were completed for the first mixture, showing gas gain increased from 600 to 50,000 as voltage increased from 1600V to 2200V. Monte Carlo and cosmic ray studies are nearly finished to model gas gain. Next steps are to repeat the studies for the second gas mixture and finalize the cleanroom.
Brief introduction to the Meteor framework, with a demonstration showing the power of the Meteor framework.
This document discusses the origins and principles of reactive web applications. It began with a 1985 paper on reactive systems and was further defined in 2013 with the Reactive Manifesto. The four principles of reactive applications are that they should respond to users, scale to load, be resilient to failures, and be event-driven. Reactive technologies like Play Framework use asynchronous non-blocking techniques for better resource utilization compared to traditional threaded approaches. Key concepts for building resilient reactive applications include supervision, actors, and reactive streams.
A type-safe templating system based on scala, wich provides powerful way to create all such external representations of server- side data.
At a major telco company in Belgium we have designed and implemented a cutting-edge architecture using microservices and hypermedia (REST level 3 / hateoas) for the entire customer- and business-facing web portfolio. Throughout this session you will learn what the microservices hype is all about, including its benefits and pitfalls based on our experiences of running microservices (including the Netflix OSS) in production at a major company in Belgium. To manage hundreds of microservices you need to apply certain patterns such as circuit breakers, gateways, service registries and so on. You will learn how these patterns work, how they are applied through the Netflix stack and how easy it is to use them in your architecture through code examples and demos. The contracts between these microservices should be well defined and loosely coupled. Using hypermedia as the engine of application state (hateoas), we can benefit from independent evolution and decoupled implementation. How we can implement these using Spring Hateoas, correctly document using Spring Restdocs, integrate with the HAL browser and version using JsonViews will become clear in the second part of this session.
Docker allows you to package, distribute and run a piece of software, including everything it needs to run: code, runtime, tools, libraries – anything you can install on a server. This guarantees that it will run and behave the same on any environment. We will be showcasing the following Docker tools and features: Docker Engine, Docker Registry, Docker Compose, Docker Machine, Docker Swarm, Docker Networking Next to introducing you to these tools, Tom Verelst will also be covering the following topics: Containerisation, Immutable Infrastructure, Docker Orchestration, Continuous Integration with Docker Presentation sources: https://github.com/tomverelst/docker-presentation Youtube video: https://www.youtube.com/watch?v=heBI7oQvHZU
The document discusses different types of NoSQL databases and focuses on graph databases. It explains that graph databases can handle complex relationships between entities better than traditional relational databases or other NoSQL databases like document stores and key-value stores. The document then discusses OrientDB, a popular open-source graph database, covering how it manages relationships, some limits, its hybrid data model, ACID transactions, and ways to query and traverse the graph through SQL, Java, and Gremlin. Finally, some common use cases for graph databases are mentioned like recommendation engines, ranking, path finding, and modeling social networks.
HTML5 Development with Play Scala, CoffeeScript and Jade Presentation from Devoxx 2011. Discusses these technologies, as well as my story of using them to develop an HTML5 Fitness Tracking application. http://www.devoxx.com/display/DV11/HTML5+with+Play+Scala%2C+CoffeeScript+and+Jade
The latest buzzword in the web service community is “reactive.” We dig beneath the surface of this word and show how you can use Scala and Akka to build systems that are responsive, resilient, elastic, and message-driven.
Writing documentation for truly RESTful APIs is often done by Swagger or similar tools. However, they provide no support for documenting hypermedia elements, they are URI-centric, leaky and intrusive. Wouldn't it be nice if your documentation could fail your build in case it gets out-of-date with your production code? Wouldn't you want to write your documentation using a format which is designed for writing? Can't there be a tool which documents your code without using the actual implementation? Meet Spring REST Docs. REST Docs allows you to write your documentation as part of your integration tests. In case your documentation doesn't match with your integration test result, your test will fail. This ensures accurate documentation while avoiding the need to put annotations on your production code. It uses the same integration tests to generate snippets, both for request and response bodies, and for hypermedia links. As a writing format it uses asciidoc which is designed for writing.
This document provides an overview of building a Scala web application using the Play! framework. It begins with introductions to Scala and the Play! framework. It then covers topics like request handling, views, forms, database integration, the build system, internationalization, and testing. Exercises are provided to demonstrate creating routes, controllers, actions, views, forms, database models and more. The presenter is available to answer questions after the session and provides information on open positions at their company Lucid Software.