Play and Grails are Java web frameworks that aim to enhance developer experience. The author developed the same application using both frameworks to compare their features. Some key differences included:
- Database configuration and schema generation were simpler in Grails using GORM, while Play used EBean and evolutions.
- URL mapping was defined in a Groovy file in Grails, and a routes file in Play.
- Grails used Groovy Server Pages for views with tags, while Play used Scala templates.
- Both supported features like validation, jobs, feeds, and email, but implementations differed, such as using plugins in Grails and direct APIs in Play.
- Testing was supported through plugins
Play Framework vs Grails Smackdown - JavaOne 2013Matt Raible
The Play vs. Grails Smackdown. A comparison done by James Ward and Matt Raible. Includes detailed analysis from building the same webapp with these two popular JVM Web Frameworks.
See the HTML5 version of this presentation at http://www.ubertracks.com/preso.
This document discusses Playframework, a Java web framework. It provides an overview of Playframework's features including being a full Java stack, RESTful and SEO friendly design, stateless architecture, and easy scalability. It also covers Playframework's project structure including the model, controller, and view layers. The document mentions Playframework works with common application servers and cloud hosting platforms. It also discusses using Twitter Bootstrap, a popular front-end framework for responsive design and UI components.
This document discusses Clojure web development and describes a web-based project management system called Trakr that was created using Clojure. Trakr uses a MongoDB database and has a modern friendly UI. The architecture involves a Clojure HTTP server with a Ring middleware pipeline and Compojure routing to map requests to handlers. Testing is done with clojure.test and clojure.contrib.mock. Performance is around 70ms average latency.
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015Matt Raible
This document discusses the JHipster project, which is a development tool that uses Spring Boot and AngularJS to generate and scaffold Java web applications. It highlights features of JHipster like authentication, metrics dashboards, and support for SQL and NoSQL databases. The document also demos generating a sample blog application using JHipster and shows how much code is generated for entities and the user interface. It promotes staying up to date with trends in Java and web development.
Faster java ee builds with gradle [con4921]Ryan Cuprak
JavaOne 2016
It is time to move your Java EE builds over to Gradle! Gradle continues to gain momentum across the industry. In fact, Google is now pushing Gradle for Android development. Gradle draws on lessons learned from both Ant and Maven and is the next evolutionary step in Java build tools. This session covers the basics of switching existing Java EE projects (that use Maven) over to Gradle and the benefits you will reap, such as incremental compiling, custom distributions, and task parallelization. You’ll see demos of all the goodies you’ve come to expect, such as integration testing and leveraging of Docker. Switching is easier than you think, and no refactoring is required.
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - DOSUG February 2016Matt Raible
YouTube of this presentation's JHipster Demo: https://www.youtube.com/watch?v=ZGF4gEM4FuA
Building a modern web (or mobile) application requires a lot of tools, frameworks and techniques. This session shows how JHipster unites popular frameworks like AngularJS, Spring Boot and Bootstrap. Using Yeoman, a scaffolding tool for modern webapps, JHipster will generate a project for you and allow you to use Java 8, SQL or NoSQL databases, Spring profiles, Maven or Gradle, Grunt or Gulp.js, WebSockets and Browsersync. It also supports a number of different authentication mechanisms: classic session-based auth, OAuth 2.0, or JWT authentication.
For cloud deployments, JHipster includes out-of-the-box support for Cloud Foundry and Heroku.
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Rich Web Experie...Matt Raible
Building a modern web (or mobile) application requires a lot of tools, frameworks and techniques. This session shows how JHipster unites popular frameworks like AngularJS, Spring Boot and Bootstrap. Using Yeoman, a scaffolding tool for modern webapps, JHipster will generate a project for you and allow you to use Java 7 or 8, SQL or NoSQL databases, Spring profiles, Maven or Gradle, Grunt or Gulp.js, WebSockets and BrowserSync. It also supports a number of different authentication mechanisms: classic session-based auth, OAuth 2.0, or token-based authentication.
For cloud deployments, JHipster includes out-of-the-box support for Cloud Foundry, Heroku and Openshift.
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Devoxx France 2016Matt Raible
The document promotes the JHipster development tool for generating Spring Boot and AngularJS projects and provides an overview of its features such as entity generation, authentication, deployment options, and testing tools. It also demonstrates generating a blog application using JHipster and discusses how JHipster can help developers stay on top of the latest trends in Java and web development.
Play Framework vs Grails Smackdown - JavaOne 2013Matt Raible
The Play vs. Grails Smackdown. A comparison done by James Ward and Matt Raible. Includes detailed analysis from building the same webapp with these two popular JVM Web Frameworks.
See the HTML5 version of this presentation at http://www.ubertracks.com/preso.
This document discusses Playframework, a Java web framework. It provides an overview of Playframework's features including being a full Java stack, RESTful and SEO friendly design, stateless architecture, and easy scalability. It also covers Playframework's project structure including the model, controller, and view layers. The document mentions Playframework works with common application servers and cloud hosting platforms. It also discusses using Twitter Bootstrap, a popular front-end framework for responsive design and UI components.
This document discusses Clojure web development and describes a web-based project management system called Trakr that was created using Clojure. Trakr uses a MongoDB database and has a modern friendly UI. The architecture involves a Clojure HTTP server with a Ring middleware pipeline and Compojure routing to map requests to handlers. Testing is done with clojure.test and clojure.contrib.mock. Performance is around 70ms average latency.
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015Matt Raible
This document discusses the JHipster project, which is a development tool that uses Spring Boot and AngularJS to generate and scaffold Java web applications. It highlights features of JHipster like authentication, metrics dashboards, and support for SQL and NoSQL databases. The document also demos generating a sample blog application using JHipster and shows how much code is generated for entities and the user interface. It promotes staying up to date with trends in Java and web development.
Faster java ee builds with gradle [con4921]Ryan Cuprak
JavaOne 2016
It is time to move your Java EE builds over to Gradle! Gradle continues to gain momentum across the industry. In fact, Google is now pushing Gradle for Android development. Gradle draws on lessons learned from both Ant and Maven and is the next evolutionary step in Java build tools. This session covers the basics of switching existing Java EE projects (that use Maven) over to Gradle and the benefits you will reap, such as incremental compiling, custom distributions, and task parallelization. You’ll see demos of all the goodies you’ve come to expect, such as integration testing and leveraging of Docker. Switching is easier than you think, and no refactoring is required.
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - DOSUG February 2016Matt Raible
YouTube of this presentation's JHipster Demo: https://www.youtube.com/watch?v=ZGF4gEM4FuA
Building a modern web (or mobile) application requires a lot of tools, frameworks and techniques. This session shows how JHipster unites popular frameworks like AngularJS, Spring Boot and Bootstrap. Using Yeoman, a scaffolding tool for modern webapps, JHipster will generate a project for you and allow you to use Java 8, SQL or NoSQL databases, Spring profiles, Maven or Gradle, Grunt or Gulp.js, WebSockets and Browsersync. It also supports a number of different authentication mechanisms: classic session-based auth, OAuth 2.0, or JWT authentication.
For cloud deployments, JHipster includes out-of-the-box support for Cloud Foundry and Heroku.
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Rich Web Experie...Matt Raible
Building a modern web (or mobile) application requires a lot of tools, frameworks and techniques. This session shows how JHipster unites popular frameworks like AngularJS, Spring Boot and Bootstrap. Using Yeoman, a scaffolding tool for modern webapps, JHipster will generate a project for you and allow you to use Java 7 or 8, SQL or NoSQL databases, Spring profiles, Maven or Gradle, Grunt or Gulp.js, WebSockets and BrowserSync. It also supports a number of different authentication mechanisms: classic session-based auth, OAuth 2.0, or token-based authentication.
For cloud deployments, JHipster includes out-of-the-box support for Cloud Foundry, Heroku and Openshift.
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Devoxx France 2016Matt Raible
The document promotes the JHipster development tool for generating Spring Boot and AngularJS projects and provides an overview of its features such as entity generation, authentication, deployment options, and testing tools. It also demonstrates generating a blog application using JHipster and discusses how JHipster can help developers stay on top of the latest trends in Java and web development.
Play Framework workshop: full stack java web appAndrew Skiba
The slides of Play Framework workshop from the meetup on Google Campus Tel Aviv on January 2014. Includes 5 hands-on assignments mixed with 5 additional steps to create a full application for remotely controlling YouTube on another computer. Demonstrates usage of AngularJS, Twitter Bootstrap, WebSockets. Discusses forms-based and single page web applications.
Node.js Development with Apache NetBeansRyan Cuprak
This session covers the basics of developing Node.js applications with NetBeans. NetBeans includes fully integrated support for both JavaScript and Node.js. You’ll get a tour of the features and learn how NetBeans can accelerate your projects. The presentation looks at basic code editing capabilities provided by the IDE, tool integration (npm/Grunt/Bower/Webpack), frameworks such as Express, and debugging capabilities. You’ll see why NetBeans is the best free JavaScript/Node.js IDE.
Play Framework on Google App Engine - Productivity StackMarcin Stepien
This document discusses using the Play Framework for web application development on Google App Engine (GAE). It provides an overview of Play and GAE, how they work together, and some tradeoffs. Specifically, it covers how Play abstracts away the GAE infrastructure, limitations of the GAE sandbox environment, options for running Play 2 applications on GAE including using a WAR file or custom runtime, and the pros and cons of the Play Framework on GAE approach.
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...Matt Raible
JavaScript MVC Frameworks are all the rage these days. They’ve taken the web development world by storm. This session explores the various features of the three hottest JavaScript MVC frameworks: AngularJS, Ember.js and React.js. It also compares client-side templating vs. server-side templating and how well each framework supports Isomorphic JavaScript (code that can run both client-side and server-side). Finally, it ranks each framework on 10 different criteria using Yevgeniy Brikman’s framework scorecard.
Video on InfoQ: https://www.infoq.com/presentations/comparing-angular-ember-react
The document discusses the Play! web development framework. It provides an overview of the framework's architecture, conventions, core concepts like models, controllers and views. It also covers testing, jobs, deployment and ongoing development work, including new features for version 1.1 and the growing module repository.
Jakarta EE is an open source Java platform that provides a wide range of APIs for building enterprise applications. It is made up of specifications covering areas like web services, security, and object-relational mapping. The document discusses the history and evolution of Jakarta EE, its relationship to other technologies like Spring and MicroProfile, and its importance for businesses, careers, and the Java ecosystem. It also outlines proposals for future versions like Jakarta EE 10 that aim to improve areas like security, messaging, and NoSQL support.
Java 9 ships in July, are you ready for Java 9 modules? Java 9 modules (aka Project Jigsaw) is the biggest fundamental change to the Java runtime. Code that use Oracle/Sun private APIs will break. This session will cover the basics of Java 9 modules and also the current state of tooling. The ramifications to existing and legacy applications will be covered along with the steps you’ll need to take to harness the power of modules and write more maintainable systems.
The document discusses Java EE 6 and its evolution over time. It outlines key features of Java EE 6 including lightweight profiles, annotations, managed beans, interceptors, and Servlets 3.0. It provides examples of using managed beans, interceptors, and the new annotations-based approach in Servlets 3.0. The document aims to educate developers on the nuts and bolts of Java EE 6.
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Devoxx 2015Matt Raible
JHipster is a development platform that generates Spring Boot and AngularJS projects. It aims to make developers hip by including the latest trends like microservices, Docker, and cloud-native technologies. The presentation demonstrated generating a blog application with JHipster and deploying it to the cloud in under 30 minutes. JHipster allows generating CRUD screens from entities and provides features like authentication, metrics monitoring, and internationalization out of the box.
This document provides an overview of developing RESTful web services with JAX-RS. It defines REST and compares it to SOAP, describes the principles of REST including giving resources IDs, standard methods, linking resources, content negotiation, and stateless communication. Code samples are provided to demonstrate JAX-RS annotations for resources, content negotiation, and processing form posts.
Spark IT 2011 - Developing RESTful Web services with JAX-RSArun Gupta
JAX-RS is a Java API for building RESTful web services. It uses annotations to simplify development of RESTful resources and defines standards for request/response formats and links between resources. JAX-RS services can be deployed to Java EE servers or standalone using implementations like Jersey. The future of JAX-RS includes enhancements to the client API, support for hypermedia formats, and tighter integration with Java EE technologies.
Get Hip with JHipster - Colorado Springs OSS Meetup April 2016Matt Raible
Building a modern web (or mobile) application requires a lot of tools, frameworks and techniques. This session shows how JHipster unites popular frameworks like AngularJS, Spring Boot and Bootstrap. Using Yeoman, a scaffolding tool for modern webapps, JHipster will generate a project that uses Java 8, SQL or NoSQL databases, Spring profiles, Maven or Gradle, Gulp.js, WebSockets and BrowserSync. It also supports a number of different authentication mechanisms: classic session-based auth, OAuth 2.0, or token-based authentication. For cloud deployments, JHipster includes out-of-the-box support for Cloud Foundry and Heroku.
The document discusses the Play Framework, a web framework for Java and Scala. It introduces Play and outlines why it is useful, how to install it, and how to structure a new Play application. It then discusses moving a Play application to Google Cloud Platform for scalability. Key points are that Play provides predictable scalability, is developer friendly, and has a large ecosystem. The document recommends using Play Framework with Google Cloud Platform to achieve scalability without having to manage servers directly.
CDI portable extensions are one of greatest features of Java EE allowing the platform to be extended in a clean and portable way. But allowing extension is just part of the story. CDI opens the door to a whole new eco-system for Java EE, but it’s not the role of the specification to create these extensions.
Apache DeltaSpike is the project that leads this brand new eco-system by providing useful extension modules for CDI applications as well as tools to ease the creation of new ones.
In this session, we’ll start by presenting the DeltaSpike toolbox and show how it helps you to develop for CDI. Then we’ll describe the major extensions included in DeltaSpike, including 'configuration', 'scheduling' and 'data'.
This document provides an overview of developing a web application using Spring Boot that connects to a MySQL database. It discusses setting up the development environment, the benefits of Spring Boot, basic project structure, integrating Spring MVC and JPA/Hibernate for database access. Code examples and links are provided to help get started with a Spring Boot application that reads from a MySQL database and displays the employee data on a web page.
Play Framework is a Java web framework that aims to improve development efficiency over traditional Java web frameworks. It allows for automatic compilation and deployment, integrates with databases using JPA, and supports features like REST, templates, and asynchronous programming. The documentation provides an example of generating a new Play application, connecting it to a database, writing tests, and creating models, views and controllers to build out the application.
Modularizing your Grails Application with Private Plugins - SpringOne 2GX 2012kennethaliu
The document discusses modularizing a Grails application using private plugins. It covers Grails plugin development basics like creating a new plugin, the plugin descriptor file, excluded files, running and packaging a plugin. It also discusses application architecture with private plugins, including moving common functionality into plugins to avoid forking code.
Spring Boot is a framework for creating stand-alone, production-grade Spring based Applications that can be "just run". It provides starters for auto-configuration of common Spring and third-party libraries providing features like Thymeleaf, Spring Data JPA, Spring Security, and testing. It aims to remove boilerplate configuration and promote "convention over configuration" for quick development. The document then covers how to run a basic Spring Boot application, use Rest Controllers, Spring Data JPA, Spring Security, and testing. It also discusses deploying the application on a web server and customizing through properties files.
Developing, Testing and Scaling with Apache Camel - UberConf 2015Matt Raible
Apache Camel is an integration framework that allows you to define routing and mediation rules in a number of domain-specific languages. This presentation shows how I used Apache Camel to replace IBM Message Broker on a project. It includes information on how routes were developed using Camel’s Java API and how Camel can be integrated with Spring Boot. It also covers unit, integration and load testing (using Gatling) of these services. Finally, it touches on monitoring with hawtio and New Relic.
Grails is an open-source framework that enables high-velocity development of Spring applications. It uses conventions over configuration, integrates best-of-breed Java technologies like Spring and Hibernate, and provides a full-stack framework with object-relational mapping, web controllers, and view rendering. Grails aims to increase developer productivity through sensible defaults and simplified APIs.
♥ Play Framework is an open-source web application framework for Java and Scala that follows the model-view-controller (MVC) architectural pattern. It supports dependency injection, routing, and asynchronous programming. Some key features include routing, controllers, database access using Slick, evolutions for database schema changes, and support for functional programming concepts like Option, Either, and Future.
Play Framework workshop: full stack java web appAndrew Skiba
The slides of Play Framework workshop from the meetup on Google Campus Tel Aviv on January 2014. Includes 5 hands-on assignments mixed with 5 additional steps to create a full application for remotely controlling YouTube on another computer. Demonstrates usage of AngularJS, Twitter Bootstrap, WebSockets. Discusses forms-based and single page web applications.
Node.js Development with Apache NetBeansRyan Cuprak
This session covers the basics of developing Node.js applications with NetBeans. NetBeans includes fully integrated support for both JavaScript and Node.js. You’ll get a tour of the features and learn how NetBeans can accelerate your projects. The presentation looks at basic code editing capabilities provided by the IDE, tool integration (npm/Grunt/Bower/Webpack), frameworks such as Express, and debugging capabilities. You’ll see why NetBeans is the best free JavaScript/Node.js IDE.
Play Framework on Google App Engine - Productivity StackMarcin Stepien
This document discusses using the Play Framework for web application development on Google App Engine (GAE). It provides an overview of Play and GAE, how they work together, and some tradeoffs. Specifically, it covers how Play abstracts away the GAE infrastructure, limitations of the GAE sandbox environment, options for running Play 2 applications on GAE including using a WAR file or custom runtime, and the pros and cons of the Play Framework on GAE approach.
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...Matt Raible
JavaScript MVC Frameworks are all the rage these days. They’ve taken the web development world by storm. This session explores the various features of the three hottest JavaScript MVC frameworks: AngularJS, Ember.js and React.js. It also compares client-side templating vs. server-side templating and how well each framework supports Isomorphic JavaScript (code that can run both client-side and server-side). Finally, it ranks each framework on 10 different criteria using Yevgeniy Brikman’s framework scorecard.
Video on InfoQ: https://www.infoq.com/presentations/comparing-angular-ember-react
The document discusses the Play! web development framework. It provides an overview of the framework's architecture, conventions, core concepts like models, controllers and views. It also covers testing, jobs, deployment and ongoing development work, including new features for version 1.1 and the growing module repository.
Jakarta EE is an open source Java platform that provides a wide range of APIs for building enterprise applications. It is made up of specifications covering areas like web services, security, and object-relational mapping. The document discusses the history and evolution of Jakarta EE, its relationship to other technologies like Spring and MicroProfile, and its importance for businesses, careers, and the Java ecosystem. It also outlines proposals for future versions like Jakarta EE 10 that aim to improve areas like security, messaging, and NoSQL support.
Java 9 ships in July, are you ready for Java 9 modules? Java 9 modules (aka Project Jigsaw) is the biggest fundamental change to the Java runtime. Code that use Oracle/Sun private APIs will break. This session will cover the basics of Java 9 modules and also the current state of tooling. The ramifications to existing and legacy applications will be covered along with the steps you’ll need to take to harness the power of modules and write more maintainable systems.
The document discusses Java EE 6 and its evolution over time. It outlines key features of Java EE 6 including lightweight profiles, annotations, managed beans, interceptors, and Servlets 3.0. It provides examples of using managed beans, interceptors, and the new annotations-based approach in Servlets 3.0. The document aims to educate developers on the nuts and bolts of Java EE 6.
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Devoxx 2015Matt Raible
JHipster is a development platform that generates Spring Boot and AngularJS projects. It aims to make developers hip by including the latest trends like microservices, Docker, and cloud-native technologies. The presentation demonstrated generating a blog application with JHipster and deploying it to the cloud in under 30 minutes. JHipster allows generating CRUD screens from entities and provides features like authentication, metrics monitoring, and internationalization out of the box.
This document provides an overview of developing RESTful web services with JAX-RS. It defines REST and compares it to SOAP, describes the principles of REST including giving resources IDs, standard methods, linking resources, content negotiation, and stateless communication. Code samples are provided to demonstrate JAX-RS annotations for resources, content negotiation, and processing form posts.
Spark IT 2011 - Developing RESTful Web services with JAX-RSArun Gupta
JAX-RS is a Java API for building RESTful web services. It uses annotations to simplify development of RESTful resources and defines standards for request/response formats and links between resources. JAX-RS services can be deployed to Java EE servers or standalone using implementations like Jersey. The future of JAX-RS includes enhancements to the client API, support for hypermedia formats, and tighter integration with Java EE technologies.
Get Hip with JHipster - Colorado Springs OSS Meetup April 2016Matt Raible
Building a modern web (or mobile) application requires a lot of tools, frameworks and techniques. This session shows how JHipster unites popular frameworks like AngularJS, Spring Boot and Bootstrap. Using Yeoman, a scaffolding tool for modern webapps, JHipster will generate a project that uses Java 8, SQL or NoSQL databases, Spring profiles, Maven or Gradle, Gulp.js, WebSockets and BrowserSync. It also supports a number of different authentication mechanisms: classic session-based auth, OAuth 2.0, or token-based authentication. For cloud deployments, JHipster includes out-of-the-box support for Cloud Foundry and Heroku.
The document discusses the Play Framework, a web framework for Java and Scala. It introduces Play and outlines why it is useful, how to install it, and how to structure a new Play application. It then discusses moving a Play application to Google Cloud Platform for scalability. Key points are that Play provides predictable scalability, is developer friendly, and has a large ecosystem. The document recommends using Play Framework with Google Cloud Platform to achieve scalability without having to manage servers directly.
CDI portable extensions are one of greatest features of Java EE allowing the platform to be extended in a clean and portable way. But allowing extension is just part of the story. CDI opens the door to a whole new eco-system for Java EE, but it’s not the role of the specification to create these extensions.
Apache DeltaSpike is the project that leads this brand new eco-system by providing useful extension modules for CDI applications as well as tools to ease the creation of new ones.
In this session, we’ll start by presenting the DeltaSpike toolbox and show how it helps you to develop for CDI. Then we’ll describe the major extensions included in DeltaSpike, including 'configuration', 'scheduling' and 'data'.
This document provides an overview of developing a web application using Spring Boot that connects to a MySQL database. It discusses setting up the development environment, the benefits of Spring Boot, basic project structure, integrating Spring MVC and JPA/Hibernate for database access. Code examples and links are provided to help get started with a Spring Boot application that reads from a MySQL database and displays the employee data on a web page.
Play Framework is a Java web framework that aims to improve development efficiency over traditional Java web frameworks. It allows for automatic compilation and deployment, integrates with databases using JPA, and supports features like REST, templates, and asynchronous programming. The documentation provides an example of generating a new Play application, connecting it to a database, writing tests, and creating models, views and controllers to build out the application.
Modularizing your Grails Application with Private Plugins - SpringOne 2GX 2012kennethaliu
The document discusses modularizing a Grails application using private plugins. It covers Grails plugin development basics like creating a new plugin, the plugin descriptor file, excluded files, running and packaging a plugin. It also discusses application architecture with private plugins, including moving common functionality into plugins to avoid forking code.
Spring Boot is a framework for creating stand-alone, production-grade Spring based Applications that can be "just run". It provides starters for auto-configuration of common Spring and third-party libraries providing features like Thymeleaf, Spring Data JPA, Spring Security, and testing. It aims to remove boilerplate configuration and promote "convention over configuration" for quick development. The document then covers how to run a basic Spring Boot application, use Rest Controllers, Spring Data JPA, Spring Security, and testing. It also discusses deploying the application on a web server and customizing through properties files.
Developing, Testing and Scaling with Apache Camel - UberConf 2015Matt Raible
Apache Camel is an integration framework that allows you to define routing and mediation rules in a number of domain-specific languages. This presentation shows how I used Apache Camel to replace IBM Message Broker on a project. It includes information on how routes were developed using Camel’s Java API and how Camel can be integrated with Spring Boot. It also covers unit, integration and load testing (using Gatling) of these services. Finally, it touches on monitoring with hawtio and New Relic.
Grails is an open-source framework that enables high-velocity development of Spring applications. It uses conventions over configuration, integrates best-of-breed Java technologies like Spring and Hibernate, and provides a full-stack framework with object-relational mapping, web controllers, and view rendering. Grails aims to increase developer productivity through sensible defaults and simplified APIs.
♥ Play Framework is an open-source web application framework for Java and Scala that follows the model-view-controller (MVC) architectural pattern. It supports dependency injection, routing, and asynchronous programming. Some key features include routing, controllers, database access using Slick, evolutions for database schema changes, and support for functional programming concepts like Option, Either, and Future.
Designing the Call of Cthulhu app with Google App EngineChris Bunch
These are slides from a talk I gave at UCSB to the Senior Capstone class on 02/10/10 on how I developed the Call of Cthulhu application using Google App Engine.
The Sprint 225 Review meeting covered updates from the UI, Providers, and Platform teams. Key items included:
- The UI team fixed various bugs relating to missing toast notifications, accessibility issues, and table headers. They also updated JSON files and dropped Ruby 2.7 support.
- The Providers team refactored Amazon region specs and added AWS region syncing. For Nuage, they reverted the Xlab-si org name. Floe provider work included validation, error handling, and test improvements.
- The Platform team enhanced worker handling, added Ruby 3 support, updated translations, fixed messaging and gems, and removed unnecessary code.
Modular Test-driven SPAs with Spring and AngularJSGunnar Hillert
The document discusses creating modular test-driven single page applications (SPAs) using Spring and AngularJS. It provides an overview of AngularJS concepts and how to integrate AngularJS with Spring, including building and deploying AngularJS apps, modularization, and testing. It also covers AngularJS basics like models, views, controllers, directives, and modules.
This document provides an overview of configuration in Grails, including basic configuration, environments, data sources, dependency resolution, and more.
The basic configuration files are BuildConfig.groovy and Config.groovy. BuildConfig.groovy contains settings for Grails commands while Config.groovy contains runtime settings. Both files can access implicit configuration variables.
Environments like development, test, and production can be configured separately. Data sources are configured in DataSource.groovy and drivers are typically resolved using Ivy or Maven. Dependency resolution in Grails uses a DSL to control how plugins and JARs are resolved.
Improve PostgreSQL replication with Oracle GoldenGateBobby Curtis
This document discusses using Oracle GoldenGate 19c to improve PostgreSQL replication. It provides an overview of RheoData, a global systems integrator, and then details the steps to configure GoldenGate for PostgreSQL replication, including prerequisites, installation, registering an extract, adding transaction data, adding an extract and replicat, and monitoring replication slots and statistics. It also covers using GoldenGate for on-premises to cloud replication with a remote apply to an AWS RDS PostgreSQL database.
This document provides an overview of how to build a full stack API with DevOps integration using Quarkus in under an hour. It discusses APIs in microservice architectures, Quarkus advantages over other frameworks, and includes demos on building the first Quarkus API, adding fault tolerance, observability, logging, persistence, and security. The agenda covers asynchronous and synchronous communication patterns, MicroProfile basics, Quarkus benefits like performance and container support, JAX-RS annotations, and using various Quarkus extensions for fault tolerance, OpenTelemetry, logging, databases, Hibernate ORM with Panache, and OAuth security.
View IT operations as a flow of data (Sources of Truth) thru work-cells (automation processes) to deliver value to the customer.
There should be only one source of truth for every piece of configuration data.
Device configurations are poor source of truth.
Cloud State of the Union for Java DevelopersBurr Sutter
This presentation provides a broad overview of what is going on in the Cloud computing world - for Java developers - presented on Dec 21st 2010 at the Atlanta Java Users Group - ajug.org - no audio was recorded.
The document summarizes a Java Emerging Technology (JET) conference held in September 2008. It provides outlines and details on sessions covering topics like Java 7 features and timelines, the EasyB behavior-driven development framework, Scala as an object-oriented functional language, Groovy as a dynamic language, Grails as a web application framework, developments in J2ME, and the Android mobile platform. Examples of code were provided for many of the sessions to demonstrate the technologies.
A quick talk that was given during 2010 about the main features of Play! framework.
This was given to the development team at Evoolv, which has kickstarted the web development over Play! framework which turned out was a decent choice.
Automated integration testing of distributed systems with Docker Compose and ...Boris Kravtsov
How does one go about doing end-to-end testing of a distributed in-memory database such as Pivotal GemFire?
Presented at JVM Meetup Sydney
https://www.meetup.com/Sydney-JVM-Community/events/233465115/
Demo code available at:
https://github.com/d-lorenc/junit-docker-demo
Database Mirror for the exceptional DBA – David Izahksqlserver.co.il
1. Rafael Advanced Defense Systems designs, develops, manufactures and supplies high tech defense systems for air, land, sea and space applications with sales exceeding $1.851 billion in 2010 and about 7000 employees.
2. The presentation discusses database mirroring architecture, automation, monitoring and best practices. Automation options covered include T-SQL with SQLCMD, PowerShell and linked servers.
3. Rafael chooses asynchronous database mirroring without automatic failover for high performance, with manual failover when the principal fails to avoid possible data loss from unsynchronized transactions.
This document provides an overview and introduction to Spring Boot. It discusses:
- The goals of Spring Boot to provide a faster setup process and default configurations without needing XML.
- Key features like auto-configuration, embedded servlet containers, and the use of starters for common dependencies.
- Conventions for project structure, main application classes, and defining beans.
- How to configure databases, implement JPA repositories, and build REST APIs with Spring MVC and data REST.
- Tips for testing Spring applications and building executable JAR files for deployment.
This document provides an overview and introduction to Spring Boot. It discusses:
- The goals of Spring Boot to provide a faster setup process and default configurations without needing XML.
- Key features like auto-configuration, embedded servlet containers, and the use of starters for common dependencies.
- Conventions in Spring Boot for project structure, main classes, configuration properties, and more.
- How to set up a Spring Boot project using Maven, including using the spring-boot-starter-parent and starter POMs.
- Support in Spring Boot for Spring MVC, data access with JPA/Spring Data, REST services, and testing.
Similar to Play vs Grails Smackdown - Devoxx France 2013 (20)
Keep Identities in Sync the SCIMple Way - ApacheCon NA 2022Matt Raible
What if keeping your user stores in sync across domains was as simple as running "java -jar"? With Apache SCIMPle, it is!
Apache SCIMple is a SCIM 2.0-compliant server powered by Spring Boot 3. You can run it standalone or embedded in your existing app. It exposes user management REST endpoints and handles the hassle of user synchronization for you. If your identity provider supports SCIM, use the simple way!
GitHub example: https://github.com/mraible/okta-scim-spring-boot-example
Demo script: https://github.com/mraible/okta-scim-spring-boot-example/blob/main/demo.adoc
Micro Frontends for Java Microservices - Belfast JUG 2022Matt Raible
You've figured out how to split up your backend services into microservices and scale your teams to the moon, right?
But what about the frontend? Are you still building monoliths for your UI?
If so, you might want to check out micro frontends—basically extensions to the microservices pattern, where the concept is extended to the frontend.
Find out how to package and deploy your microservices and their UIs in the same artifact, as well as make it possible to test and develop them independently.
In this live session, Matt will show you how to build a microservices and micro frontends architecture using Angular, Spring Boot, and Spring Cloud.
Related blog post: https://auth0.com/blog/micro-frontends-for-java-microservices
GitHub repo: https://github.com/oktadev/auth0-micro-frontends-jhipster-example
Micro Frontends for Java Microservices - Dublin JUG 2022Matt Raible
The document discusses micro frontends for Java microservices. It provides an overview of microservices and frameworks like Spring and JHipster that can be used to develop microservices in Java. It then introduces the concept of micro frontends as an architecture for microservice applications and demonstrates how to build a sample application with micro frontends using JHipster. It also covers securing microservices with OAuth 2.1 and shows a live demo of creating and running microservice applications with JHipster.
Micro Frontends for Java Microservices - Cork JUG 2022Matt Raible
You've figured out how to split up your backend services into microservices and scale your teams to the moon, right?
But what about the frontend? Are you still building monoliths for your UI?
If so, you might want to check out micro frontends—basically extensions to the microservices pattern, where the concept is extended to the frontend.
Find out how to package and deploy your microservices and their UIs in the same artifact, as well as make it possible to test and develop them independently.
In this live session, Matt will show you how to build a microservices and micro frontends architecture using Angular, Spring Boot, and Spring Cloud.
Related blog post: https://auth0.com/blog/micro-frontends-for-java-microservices
GitHub repo: https://github.com/oktadev/auth0-micro-frontends-jhipster-example
Comparing Native Java REST API Frameworks - Seattle JUG 2022Matt Raible
Use Spring Boot! No, use Micronaut!! Nooooo, Quarkus is the best!!! What about Helidon?
There are a lot of developers praising the hottest, and fastest, Java REST frameworks: Micronaut, Quarkus, Spring Boot, and Helidon. In this session, you'll learn how to do the following with each framework:
✅ Build a REST API
✅ Secure your API with OAuth 2.0
✅ Optimize for production with Docker and GraalVM
I'll also share some performance numbers and pretty graphs to compare community metrics.
Related blog post: https://developer.okta.com/blog/2021/06/18/native-java-framework-comparison
Helidon companion post: https://developer.okta.com/blog/2022/01/06/native-java-helidon
GitHub repo: https://github.com/oktadev/native-java-examples
Reactive Java Microservices with Spring Boot and JHipster - Spring I/O 2022Matt Raible
Microservice architectures are all the rage in JavaLand. They allow teams to develop services independently and deploy autonomously.
Why microservices?
IF
you are developing a large/complex application
AND
you need to deliver it rapidly, frequently, and reliably over a long period of time
THEN
the Microservice Architecture is often a good choice.
Reactive architectures are becoming increasingly popular for organizations that need to do more, with less hardware. Reactive programming allows you to build systems that are resilient to high load.
In this session, I'll show you how to use JHipster to create a reactive microservices architecture with Spring Boot, Spring Cloud, Keycloak, and run it all in Docker. You will leave with the know-how to create your own resilient apps!
Related blog post: https://developer.okta.com/blog/2021/01/20/reactive-java-microservices
YouTube demo: https://youtu.be/clkEUHWT9-M
GitHub repo: https://github.com/oktadev/java-microservices-examples/tree/main/reactive-jhipster
Comparing Native Java REST API Frameworks - Devoxx France 2022Matt Raible
Use Spring Boot! No, use Micronaut!! Nooooo, Quarkus is the best!!! What about Helidon?
There are a lot of developers praising the hottest, and fastest, Java REST frameworks: Micronaut, Quarkus, Spring Boot, and Helidon. In this session, you'll learn how to do the following with each framework:
✅ Build a REST API
✅ Secure your API with OAuth 2.0
✅ Optimize for production with Docker and GraalVM
I'll also share some performance numbers and pretty graphs to compare community metrics.
Related blog post: https://developer.okta.com/blog/2021/06/18/native-java-framework-comparison
Helidon companion post: https://developer.okta.com/blog/2022/01/06/native-java-helidon
GitHub repo: https://github.com/oktadev/native-java-examples
Lock That Sh*t Down! Auth Security Patterns for Apps, APIs, and Infra - Devne...Matt Raible
In this session, you'll learn about recommended patterns for securing your backend APIs, the infrastructure they run on, and your SPAs and mobile apps.
The world is no longer a place where you just need to secure your apps’ UI. You need to pay attention to your dependency pipeline and open-source frameworks, too. Once you have the app built, with secure-by-design code, what about the cloud it runs on? Are the servers secure? What about the accounts you use to access them?
If you lock all that sh*t down, how do you codify your solution so you can transport it cloud-to-cloud, or back to on-premises? This session will explore these concepts and many more!
Native Java with Spring Boot and JHipster - Garden State JUG 2021Matt Raible
Do you want to deploy your Spring Boot apps in a serverless environment and have them start up in milliseconds? Of course, you do!
In this talk, Josh Long and Matt Raible will introduce you to Spring Native. They'll teach you all about how it can compile Spring Boot apps into native binaries that start faster than a speeding bullet! You'll learn about native testing support with JUnit 5 and the pros and cons of native vs JVM deployments.
This talk will also highlight a customer, the JHipster project. JHipster generates Spring Boot-based monoliths and microservices. You'll learn about the project's experience with Spring Boot, Spring Cloud, Spring WebFlux, and Spring Native. It ain't easy being a Java Hipster, but the Spring ecosystem does simplify the process quite a bit.
Recording on YouTube: https://youtu.be/k6nBB8FOmQ8
Examples on GitHub: https://github.com/mraible/spring-native-examples
Writeup on LinkedIn: https://www.linkedin.com/pulse/jhipster-works-spring-native-part-2-matt-raible/
Java REST API Framework Comparison - PWX 2021Matt Raible
Use Spring Boot! No, use Micronaut!! Nooooo, Quarkus is the best!!!
There's a lot of developers praising the hottest, and fastest, Java REST frameworks: Micronaut, Quarkus, and Spring Boot. In this session, you'll learn how to do the following with each framework:
✅ Build a REST API
✅ Secure your API with OAuth 2.0
✅ Optimize for production with Docker and GraalVM
I'll also share some performance numbers and pretty graphs to compare community metrics.
Related blog post: https://developer.okta.com/blog/2021/06/18/native-java-framework-comparison
Web App Security for Java Developers - PWX 2021Matt Raible
Web app security is not just authentication and authorization. It's also the things you do to protect your web app from attackers with their XSS (cross-site scripting), SQL injection, DoS/DDoS attacks, and CSRF (cross-site request forgery), to name a few.
Web app security is a central component of any web-based business. The internet exposes web apps to attacks from different locations and various levels of scale and complexity. Web application security deals specifically with the security surrounding websites, web applications, and web services such as APIs.
In this presentation, you'll learn seven ways to better web app security, using Spring Security for code samples. You'll also see some quick demos of Spring Boot, Angular, and JHipster with Keycloak, Auth0, and Okta.
Mobile App Development with Ionic, React Native, and JHipster - Connect.Tech ...Matt Raible
Mobile development offers a lot of options. To develop native apps, you can use Java or Kotlin on Android. On iOS, you can use Objective C or Swift. There are other options, too. You can build hybrid mobile apps and Progressive Web Apps (PWAs). Hybrid mobile apps are those created with web technologies (HTML, JavaScript, and CSS) that look like native apps. PWAs have the ability to work offline and act like mobile apps.
In this talk, we'll explore a few different mobile technologies: PWAs, React Native, and Ionic (with Angular). You'll walk away with knowledge of how to build mobile + Spring Boot apps in minutes with JHipster.
* GitHub repo: https://github.com/mraible/mobile-jhipster
* Demo script: https://github.com/mraible/mobile-jhipster/blob/main/demo.adoc
Lock That Shit Down! Auth Security Patterns for Apps, APIs, and Infra - Joker...Matt Raible
In this session, you'll learn about recommended patterns for securing your backend APIs, the infrastructure they run on, and your SPAs and mobile apps.
The world is no longer a place where you just need to secure your apps’ UI. You need to pay attention to your dependency pipeline and open-source frameworks, too. Once you have the app built, with secure-by-design code, what about the cloud it runs on? Are the servers secure? What about the accounts you use to access them?
If you lock all that sh*t down, how do you codify your solution so you can transport it cloud-to-cloud, or back to on-premises? This session will explore these concepts and many more!
Delivered at JokerConf on October 28, 2021 at 11am MDT: https://jokerconf.com/en/talks/lock-that-sh*t-down-auth-security-patterns-for-apps-apis-and-infra/
Web App Security for Java Developers - UberConf 2021Matt Raible
Web app security is not just authentication and authorization. It's also the things you do to protect your web app from attackers with their XSS (cross-site scripting), SQL injection, DoS/DDoS attacks, and CSRF (cross-site request forgery), to name a few.
Web app security is a central component of any web-based business. The internet exposes web apps to attacks from different locations and various levels of scale and complexity. Web application security deals specifically with the security surrounding websites, web applications, and web services such as APIs.
In this presentation, you'll learn seven ways to better web app security, using Spring Security for code samples. You'll also see some quick demos of Spring Boot, Angular, and JHipster with Okta.
Java REST API Framework Comparison - UberConf 2021Matt Raible
Use Spring Boot! No, use Micronaut!! Nooooo, Quarkus is the best!!!
There's a lot of developers praising the hottest, and fastest, Java REST frameworks: Micronaut, Quarkus, and Spring Boot. In this session, you'll learn how to do the following with each framework:
✅ Build a REST API
✅ Secure your API with OAuth 2.0
✅ Optimize for production with Docker and GraalVM
I'll also share some performance numbers and pretty graphs to compare community metrics.
Related blog post: https://developer.okta.com/blog/2021/06/18/native-java-framework-comparison
Native Java with Spring Boot and JHipster - SF JUG 2021Matt Raible
Do you want to deploy your Spring Boot apps in a serverless environment and have them start up in milliseconds? Of course, you do!
In this talk, Josh Long and Matt Raible will introduce you to Spring Native. They'll teach you all about how it can compile Spring Boot apps into native binaries that start faster than a speeding bullet! You'll learn about native testing support with JUnit 5 and the pros and cons of native vs JVM deployments.
This talk will also highlight a customer, the JHipster project. JHipster generates Spring Boot-based monoliths and microservices. You'll learn about the project's experience with Spring Boot, Spring Cloud, Spring WebFlux, and Spring Native. It ain't easy being a Java Hipster, but the Spring ecosystem does simplify the process quite a bit.
Recording on YouTube: https://youtu.be/F9oydL_MndA
Examples on GitHub: https://github.com/mraible/spring-native-examples
Writeup on LinkedIn: https://www.linkedin.com/pulse/jhipster-works-spring-native-matt-raible/
Lock That Shit Down! Auth Security Patterns for Apps, APIs, and Infra - Sprin...Matt Raible
In this session, you'll learn about recommended patterns for securing your backend APIs, the infrastructure they run on, and your SPAs and mobile apps.
The world is no longer a place where you just need to secure your apps’ UI. You need to pay attention to your dependency pipeline and open source frameworks, too. Once you have the app built, with secure-by-design code, what about the cloud it runs on? Are the servers secure? What about the accounts you use to access them?
If you lock all that sh*t down, how do you codify your solution so you can transport it cloud-to-cloud, or back to on-premises? This session will explore these concepts and many more!
Reactive Java Microservices with Spring Boot and JHipster - Denver JUG 2021Matt Raible
Microservice architectures are all the rage in JavaLand. They allow teams to develop services independently and deploy autonomously.
Why microservices?
IF
you are developing a large/complex application
AND
you need to deliver it rapidly, frequently, and reliably over a long period of time
THEN
the Microservice Architecture is often a good choice
Reactive architectures are becoming increasingly popular for organizations that need to do more, with less hardware. Reactive programming allows you to build systems that are resilient to high loads.
In this session, I'll show you how to use JHipster to create a reactive microservices architecture with Spring Boot, Spring Cloud, Keycloak, and run it all in Docker. You will leave with the know-how to create your own resilient apps!
Related blog post: https://developer.okta.com/blog/2021/01/20/reactive-java-microservices
YouTube demo: https://youtu.be/clkEUHWT9-M
YouTube recording: https://youtu.be/8OuZMFyh0xE
GitHub repo: https://github.com/oktadev/java-microservices-examples/tree/main/reactive-jhipster
Get Hip with JHipster - Colorado Springs Open Source User Group 2021Matt Raible
JHipster is bad-ass. It's an Apache-licensed open source project that allows you to generate Spring Boot APIs and Angular (or React/Vue) apps. It has a vibrant community and ecosystem with support for deploying to many cloud providers and using the latest DevOps buzzwords, like Docker and K8s.
This session will show you JHipster, why it's cool, and show you how to create an app with it.
JHipster 7 Demo: https://www.youtube.com/watch?v=6lf64CctDAQ
JHipster 7 Tutorial: https://github.com/mraible/jhipster7-demo#readme
JHipster and Okta - JHipster Virtual Meetup December 2020Matt Raible
YouTube video: https://www.youtube.com/watch?v=ym-OPn4e_nQ
When I first started working at Okta, I refactored JHipster's OAuth support to move from authentication on the client to the server, leveraging Spring Security. This allowed for easier client integration since we didn't need to worry about finding an OIDC client for each frontend framework.
Fast forward four years and JHipster's OAuth 2.0 and OIDC support is first-class! It uses Keycloak in a Docker container by default, but it's easy to switch to another identity provider (IdP) thanks to Spring Boot. Other blueprints like Micronaut, Quarkus, Node.js, and .NET support OAuth and OIDC too!
This presentation explains what OAuth 2.0 and OIDC is, gives an overview of JHipster’s OAuth implementation, and provides three quick demos with Keycloak, the Okta CLI, and Heroku.
See https://developer.okta.com/blog/tags/jhipster for Okta + JHipster tutorials and screencasts! 邏
You also might enjoy my What the Heck is OAuth? blog post:
https://developer.okta.com/blog/2017/06/21/what-the-heck-is-oauth
Data Protection in a Connected World: Sovereignty and Cyber Securityanupriti
Delve into the critical intersection of data sovereignty and cyber security in this presentation. Explore unconventional cyber threat vectors and strategies to safeguard data integrity and sovereignty in an increasingly interconnected world. Gain insights into emerging threats and proactive defense measures essential for modern digital ecosystems.
The DealBook is our annual overview of the Ukrainian tech investment industry. This edition comprehensively covers the full year 2023 and the first deals of 2024.
This slide deck is a deep dive the Salesforce latest release - Summer 24, by the famous Stephen Stanley. He has examined the release notes very carefully, and summarised them for the Wellington Salesforce user group, virtual meeting June 27 2024.
The document discusses fundamentals of software testing including definitions of testing, why testing is necessary, seven testing principles, and the test process. It describes the test process as consisting of test planning, monitoring and control, analysis, design, implementation, execution, and completion. It also outlines the typical work products created during each phase of the test process.
Distributed System Performance Troubleshooting Like You’ve Been Doing it for ...ScyllaDB
Troubleshooting performance issues across distributed systems can be intimidating if you don’t know where to start, and it’s even harder when the system is running on hundreds or thousands of nodes. We’re well past the point of logging into random nodes and poking around hoping we spot the problem. It’s critical to have a methodology to follow as well as a deep understanding of the tools that are available to help you prove (or disprove) your mental model.
In this session, we’ll explore how to go about diagnosing performance problems you might run into, and teach you the tools and process for getting to the bottom of any issue, quickly -- even when it’s one of the biggest distributed database deployments on the planet.
MYIR Product Brochure - A Global Provider of Embedded SOMs & SolutionsLinda Zhang
This brochure gives introduction of MYIR Electronics company and MYIR's products and services.
MYIR Electronics Limited (MYIR for short), established in 2011, is a global provider of embedded System-On-Modules (SOMs) and
comprehensive solutions based on various architectures such as ARM, FPGA, RISC-V, and AI. We cater to customers' needs for large-scale production, offering customized design, industry-specific application solutions, and one-stop OEM services.
MYIR, recognized as a national high-tech enterprise, is also listed among the "Specialized
and Special new" Enterprises in Shenzhen, China. Our core belief is that "Our success stems from our customers' success" and embraces the philosophy
of "Make Your Idea Real, then My Idea Realizing!"
Details of description part II: Describing images in practice - Tech Forum 2024BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and transcript: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
Artificial Intelligence (AI), Robotics and Computational fluid dynamicsChintan Kalsariya
Dive into the intersection of Artificial Intelligence (AI), Robotics, and Computational Fluid Dynamics (CFD) in pharmaceutical sciences. This presentation provides a comprehensive overview, from the foundational principles to advanced applications in pharmaceutical automation. Explore the transformative impact of AI and robotics on drug discovery, manufacturing, and delivery, alongside CFD's role in optimizing processes. Delve into the advantages and disadvantages of integrating these technologies, uncover current challenges, and envision future directions shaping the future of pharmaceutical innovation.
This presentation will explore the intersection of artificial intelligence, robotics, and computational fluid dynamics in the context of pharmaceutical automation. We will provide an overview of these technologies, discuss their applications in the pharmaceutical industry, highlight the advantages and disadvantages of their use, and examine current challenges and future directions.
The integration of artificial intelligence, robotics, and computational fluid dynamics in pharmaceutical automation has the potential to revolutionize the industry, improving efficiency, safety, and quality control. However, challenges related to data management, standardization, workforce adaptation, and regulatory compliance must be addressed. The future of pharmaceutical automation lies in the continued development and integration of these technologies, leading to more efficient, reliable, and innovative drug manufacturing processes.
AI in Pharmaceutical Industry
Pharmaceutical Automation
Robotics in Pharma
Computational Fluid Dynamics (CFD)
Drug Discovery
Pharmaceutical Manufacturing
Pharmaceutical Applications
Advantages of AI and Robotics
Disadvantages of AI and Robotics
Challenges in Pharmaceutical Automation
Future of AI and Robotics in Pharma
Artificial Intelligence
Robotics
Computational Fluid Dynamics
Pharmaceutical Automation
Drug Discovery
Manufacturing Optimization
AI in Healthcare
Robotics in Pharmaceuticals
CFD Applications
Pharmaceutical Industry
Advantages of AI
Disadvantages of Robotics
Challenges in CFD
Future of AI in Pharma
Automation Trends
Test Management as Chapter 5 of ISTQB Foundation. Topics covered are Test Organization, Test Planning and Estimation, Test Monitoring and Control, Test Execution Schedule, Test Strategy, Risk Management, Defect Management
AI_dev Europe 2024 - From OpenAI to Opensource AIRaphaël Semeteys
Navigating Between Commercial Ownership and Collaborative Openness
This presentation explores the evolution of generative AI, highlighting the trajectories of various models such as GPT-4, and examining the dynamics between commercial interests and the ethics of open collaboration. We offer an in-depth analysis of the levels of openness of different language models, assessing various components and aspects, and exploring how the (de)centralization of computing power and technology could shape the future of AI research and development. Additionally, we explore concrete examples like LLaMA and its descendants, as well as other open and collaborative projects, which illustrate the diversity and creativity in the field, while navigating the complex waters of intellectual property and licensing.
In this follow-up session on knowledge and prompt engineering, we will explore structured prompting, chain of thought prompting, iterative prompting, prompt optimization, emotional language prompts, and the inclusion of user signals and industry-specific data to enhance LLM performance.
Join EIS Founder & CEO Seth Earley and special guest Nick Usborne, Copywriter, Trainer, and Speaker, as they delve into these methodologies to improve AI-driven knowledge processes for employees and customers alike.
Navigating Post-Quantum Blockchain: Resilient Cryptography in Quantum Threatsanupriti
In the rapidly evolving landscape of blockchain technology, the advent of quantum computing poses unprecedented challenges to traditional cryptographic methods. As quantum computing capabilities advance, the vulnerabilities of current cryptographic standards become increasingly apparent.
This presentation, "Navigating Post-Quantum Blockchain: Resilient Cryptography in Quantum Threats," explores the intersection of blockchain technology and quantum computing. It delves into the urgent need for resilient cryptographic solutions that can withstand the computational power of quantum adversaries.
Key topics covered include:
An overview of quantum computing and its implications for blockchain security.
Current cryptographic standards and their vulnerabilities in the face of quantum threats.
Emerging post-quantum cryptographic algorithms and their applicability to blockchain systems.
Case studies and real-world implications of quantum-resistant blockchain implementations.
Strategies for integrating post-quantum cryptography into existing blockchain frameworks.
Join us as we navigate the complexities of securing blockchain networks in a quantum-enabled future. Gain insights into the latest advancements and best practices for safeguarding data integrity and privacy in the era of quantum threats.
Sustainability requires ingenuity and stewardship. Did you know Pigging Solutions pigging systems help you achieve your sustainable manufacturing goals AND provide rapid return on investment.
How? Our systems recover over 99% of product in transfer piping. Recovering trapped product from transfer lines that would otherwise become flush-waste, means you can increase batch yields and eliminate flush waste. From raw materials to finished product, if you can pump it, we can pig it.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/07/intels-approach-to-operationalizing-ai-in-the-manufacturing-sector-a-presentation-from-intel/
Tara Thimmanaik, AI Systems and Solutions Architect at Intel, presents the “Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” tutorial at the May 2024 Embedded Vision Summit.
AI at the edge is powering a revolution in industrial IoT, from real-time processing and analytics that drive greater efficiency and learning to predictive maintenance. Intel is focused on developing tools and assets to help domain experts operationalize AI-based solutions in their fields of expertise.
In this talk, Thimmanaik explains how Intel’s software platforms simplify labor-intensive data upload, labeling, training, model optimization and retraining tasks. She shows how domain experts can quickly build vision models for a wide range of processes—detecting defective parts on a production line, reducing downtime on the factory floor, automating inventory management and other digitization and automation projects. And she introduces Intel-provided edge computing assets that empower faster localized insights and decisions, improving labor productivity through easy-to-use AI tools that democratize AI.
Metadata Lakes for Next-Gen AI/ML - DatastratoZilliz
As data catalogs evolve to meet the growing and new demands of high-velocity, unstructured data, we see them taking a new shape as an emergent and flexible way to activate metadata for multiple uses. This talk discusses modern uses of metadata at the infrastructure level for AI-enablement in RAG pipelines in response to the new demands of the ecosystem. We will also discuss Apache (incubating) Gravitino and its open source-first approach to data cataloging across multi-cloud and geo-distributed architectures.
UiPath Community Day Kraków: Devs4Devs ConferenceUiPathCommunity
We are honored to launch and host this event for our UiPath Polish Community, with the help of our partners - Proservartner!
We certainly hope we have managed to spike your interest in the subjects to be presented and the incredible networking opportunities at hand, too!
Check out our proposed agenda below 👇👇
08:30 ☕ Welcome coffee (30')
09:00 Opening note/ Intro to UiPath Community (10')
Cristina Vidu, Global Manager, Marketing Community @UiPath
Dawid Kot, Digital Transformation Lead @Proservartner
09:10 Cloud migration - Proservartner & DOVISTA case study (30')
Marcin Drozdowski, Automation CoE Manager @DOVISTA
Pawel Kamiński, RPA developer @DOVISTA
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
09:40 From bottlenecks to breakthroughs: Citizen Development in action (25')
Pawel Poplawski, Director, Improvement and Automation @McCormick & Company
Michał Cieślak, Senior Manager, Automation Programs @McCormick & Company
10:05 Next-level bots: API integration in UiPath Studio (30')
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
10:35 ☕ Coffee Break (15')
10:50 Document Understanding with my RPA Companion (45')
Ewa Gruszka, Enterprise Sales Specialist, AI & ML @UiPath
11:35 Power up your Robots: GenAI and GPT in REFramework (45')
Krzysztof Karaszewski, Global RPA Product Manager
12:20 🍕 Lunch Break (1hr)
13:20 From Concept to Quality: UiPath Test Suite for AI-powered Knowledge Bots (30')
Kamil Miśko, UiPath MVP, Senior RPA Developer @Zurich Insurance
13:50 Communications Mining - focus on AI capabilities (30')
Thomasz Wierzbicki, Business Analyst @Office Samurai
14:20 Polish MVP panel: Insights on MVP award achievements and career profiling
1. PLAY VS. GRAILS
SMACKDOWN
JAMES WARD AND MATT RAIBLE
and
Changelog
March 24, 2013: Updated and for .
June 24, 2012: .
June 19, 2012: Published for .
@_JamesWard @mraible
statistics load tests Devoxx France
Play Performance Fix
ÜberConf
2. WHY A SMACKDOWN?
Play 2 and Grails 2 are often hyped as the most productive
JVM Web Frameworks.
* We wanted to know how they enhanced the Developer Experience (DX).
3. HAPPY TRAILS REQUIREMENTS
Server-side Templates
Play 2 with Java
Form Validation
Data Pagination
Authentication
Scheduled Jobs
Atom / RSS
Email Notifications
Unit / Integration Tests
Load Tests
Performance Tests
Stretch Goals: Search, Photo Upload to S3
6. “Play is based on a lightweight, stateless, web-
friendly architecture and features predictable
and minimal resource consumption (CPU,
memory, threads) for highly-scalable
applications - thanks to its reactive model,
based on Iteratee IO.”
7. MY TOP 10 FAVORITE FEATURES
1. Simple
2. URL Routing
3. Class Reloading
4. Share-Nothing
5. Java & Scala Support
6. Great Testing Support
7. JPA/EBean Support
8. NIO Server (Netty)
9. Asset Compiler
10. Instant Deployment on Heroku
9. “ Powered by Spring, Grails outperforms the
competition. Dynamic, agile web development
without compromises. ”
10. MY TOP 10 FAVORITE FEATURES
1. Documentation
2. Clean URLs
3. GORM
4. IntelliJ IDEA Support
5. Zero Turnaround
6. Excellent Testing Support
7. Groovy
8. GSPs
9. Resource Optimizer
10. Instant Deployment on Heroku
11. OUR SETUP
IntelliJ IDEA for Development
GitHub for Source Control
CloudBees for Continuous Integration
Heroku for Production
Later added: QA Person and BrowserMob
12. CODE WALK THROUGH
We developed the same app, in similar ways, so let's look at
the different layers.
↓
Database
URL Mapping
Models
Controllers
Views
Validation
IDE Support
Job
Feed
Email
Photo Upload
Testing
Demo Data
Configuration
Authentication
13. DATABASE - GRAILS
Hibernate is the default persistence provider
Create models, Hibernate creates the schema for you
grails-app/conf/DataSource.groovy
environments {
development {
dataSource {
dbCreate = "create-drop" // one of 'create', 'create-dr
op', 'update', 'validate', ''
url = "jdbc:postgresql://localhost:5432/happytrails"
}
}
14. DATABASE - PLAY
EBean is the default persistence provider in Java projects
Evolutions can be auto-applied
Initial evolution sql is auto-created
Subsequent changes must be versioned
Auto-created schema file is database dependent
Play 2 supports multiple datasources (Play 1 does not)
conf/evolutions/default/2.sql
# --- !Ups
ALTER TABLE account ADD is_admin boolean;
UPDATE account SET is_admin = FALSE;
# --- !Downs
ALTER TABLE account DROP is_admin;
15. DATABASE - PLAY
Using Heroku Postgres in production rocks!
Postgres 9.1
Dataclips
Fork & Follow
Multi-Ingres
17. URL MAPPING - PLAY
conf/routes
GET / controllers.ApplicationController.index()
GET /signup controllers.ApplicationController.signupForm()
POST /signup controllers.ApplicationController.signup()
GET /login controllers.ApplicationController.loginForm()
POST /login controllers.ApplicationController.login()
GET /logout controllers.ApplicationController.logout()
GET /addregion controllers.RegionController.addRegion()
POST /addregion controllers.RegionController.saveRegion()
GET /:region/feed controllers.RegionController.getRegionFeed(region)
GET /:region/subscribe controllers.RegionController.subscribe(region)
GET /:region/unsubscribe controllers.RegionController.unsubscribe(region)
GET /:region/addroute controllers.RegionController.addRoute(region)
POST /:region/addroute controllers.RegionController.saveRoute(region)
GET /:region/delete controllers.RegionController.deleteRegion(region)
GET /:region/:route/rate controllers.RouteController.saveRating(region, route, rating: java.lang.Integer)
POST /:region/:route/comment controllers.RouteController.saveComment(region, route)
GET /:region/:route/delete controllers.RouteController.deleteRoute(region, route)
GET /:region/:route controllers.RouteController.getRouteHtml(region, route)
GET /:region controllers.RegionController.getRegionHtml(region, sort ?= "name")
18. MODELS - GRAILS
All properties are persisted by default
Constraints
Mappings with hasMany and belongsTo
Override methods for lifecycle events
grails-app/domain/happytrails/Region.groovy
package happytrails
class Region {
static charactersNumbersAndSpaces = /[a-zA-Z0-9 ]+/
static searchable = true
static constraints = {
name blank: false, unique: true, matches: charactersNumbers
AndSpaces
seoName nullable: true
routes cascade:"all-delete-orphan"
}
static hasMany = [ routes:Route ]
19. MODELS - PLAY
EBean + JPA Annotations
Declarative Validations (JSR 303)
Query DSL
Lazy Loading (except in Scala Templates)
app/models/Direction.java
@Entity
public class Direction extends Model {
@Id
public Long id;
@Column(nullable = false)
@Constraints.Required
public Integer stepNumber;
@Column(length = 1024, nullable = false)
@Constraints.MaxLength(1024)
@Constraints.Required
public String instruction;
29. JOB - PLAY
Plain old `static void main`
Independent of web app
app/jobs/DailyRegionDigestEmailJob.java
public class DailyRegionDigestEmailJob {
public static void main(String[] args) {
Application application = new Application(new File(args[0])
, DailyRegionDigestEmailJob.class.getClassLoader(), null, Mode.Prod
());
Play.start(application);
List<RegionUserDigest> regionUserDigests = getRegionUserDig
ests();
30. FEED - GRAILS
1. grails install-plugin feeds
2. Add feed() method to controller
grails-app/controllers/happytrails/RegionController.groovy
def feed = {
def region = Region.findBySeoName(params.region)
if (!region) {
response.status = 404
return
}
render(feedType: "atom") {
title = "Happy Trails Feed for " + region.name
link = createLink(absolute: true, controller: 'region'
, action: 'feed', params: ['region', region.seoName])
description = "New Routes and Reviews for " + region.na
me
region.routes.each() { route ->
entry(route.name) {
link = createLink(absolute: true, controller: '
route', action: 'show', id: route.id)
31. FEED - PLAY
No direct RSS/Atom support
Dependency: "rome" % "rome" % "1.0"
app/jobs/DailyRegionDigestEmailJob.java
Region region = Region.findByUrlFriendlyName(urlFriendlyReg
ionName);
SyndFeed feed = new SyndFeedImpl();
feed.setFeedType("rss_2.0");
feed.setTitle("Uber Tracks - " + region.getName());
feed.setLink("http://hike.ubertracks.com"); // todo: extern
alize URL
feed.setDescription("Updates for Hike Uber Tracks - " + reg
ion.getName());
List entries = new ArrayList();
for (Route route : region.routes) {
SyndEntry entry = new SyndEntryImpl();
32. EMAIL - GRAILS
* powered by the (built-in)
grails-app/jobs/happytrails/DailyRegionDigestEmailJob.groovy
println "Sending digest email to " + digest.user.username
mailService.sendMail {
to digest.getUser().username
subject "Updates from Ãber Tracks " + digest.regions
body message
}
mail plugin
35. PHOTO UPLOAD - PLAY
Amazon S3 for Persistent File Storage
app/models/S3Photo.java
PutObjectRequest putObjectRequest = new PutObjectRequest(bucket, key,
inputStream, objectMetadata);
putObjectRequest.withCannedAcl(CannedAccessControlList.PublicRead);
if (S3Blob.amazonS3 == null) {
Logger.error("Cloud not save Photo because amazonS3 was null");
}
else {
S3Blob.amazonS3.putObject(putObjectRequest);
}
app/controllers/RegionController.java
Http.MultipartFormData.FilePart photoFilePart = request().body()
.asMultipartFormData().getFile("photo");
36. TESTING - GRAILS
Unit Tests with @TestFor and @Mock
Test URL Mappings with UrlMappingsUnitTestMixin
Integration Testing with GroovyTestCase
Functional Testing with Geb
* Grails plugins often aren't in test scope.
test/unit/happytrails/RouteTests.groovy
package happytrails
import grails.test.mixin.*
@TestFor(Route)
class RouteTests {
void testConstraints() {
def region = new Region(name: "Colorado")
def whiteRanch = new Route(name: "White Ranch", distance: 1
2.0, location: "Golden, CO", region: region)
mockForConstraintsTests(Route, [whiteRanch])
// validation should fail if required properties are null
37. TESTING - PLAY
Standard JUnit
Unit Tests & Functional Tests
FakeApplication, FakeRequest, inMemoryDatabase
Test: Controllers, Views, Routing, Real Server, Browser
test/ApplicationControllerTest.java
@Test
public void index() {
running(fakeApplication(inMemoryDatabase()), new Runnable() {
public void run() {
DemoData.loadDemoData();
Result result = callAction(routes.ref.ApplicationController.index());
assertThat(status(result)).isEqualTo(OK);
assertThat(contentAsString(result)).contains(DemoData.CRESTED_BUTTE_COLO
RADO_REGION);
assertThat(contentAsString(result)).contains("<li>");
}
});
}
38. DEMO DATA - GRAILS
grails-app/conf/BootStrap.groovy
import happytrails.User
import happytrails.Region
import happytrails.Route
import happytrails.RegionSubscription
import javax.servlet.http.HttpServletRequest
class BootStrap {
def init = { servletContext ->
HttpServletRequest.metaClass.isXhr = {->
'XMLHttpRequest' == delegate.getHeader('X-Requested-Wi
th')
}
if (!User.count()) {
User user = new User(username: "mraible@gmail.com", pas
sword: "happyhour",
39. DEMO DATA - PLAY
app/Global.java
public void onStart(Application application) {
//Ebean.getServer(null).getAdminLogging().setDebugGeneratedSql(
true);
S3Blob.initialize(application);
// load the demo data in dev mode if no other data exists
if (Play.isDev() && (User.find.all().size() == 0)) {
DemoData.loadDemoData();
}
super.onStart(application);
}
40. CONFIGURATION - GRAILS
grails-app/conf/Config.groovy
grails.app.context = "/"
grails.project.groupId = appName // change this to alter the defaul
t package name and Maven publishing destination
grails.mime.file.extensions = true // enables the parsing of file e
xtensions from URLs into the request format
grails.mime.use.accept.header = false
grails.mime.types = [html: ['text/html', 'application/xhtml+xml'],
xml: ['text/xml', 'application/xml'],
text: 'text/plain',
js: 'text/javascript',
rss: 'application/rss+xml',
atom: 'application/atom+xml',
css: 'text/css',
csv: 'text/csv',
all: '*/*',
json: ['application/json', 'text/json'],
form: 'application/x-www-form-urlencoded',
41. CONFIGURATION - PLAY
Based on the TypeSafe Config Library
Override config with Java Properties:
-Dfoo=bar
Environment Variable substitution
Run with different config files:
-Dconfig.file=conf/prod.conf
conf/prod.conf
include "application.conf"
application.secret=${APPLICATION_SECRET}
db.default.driver=org.postgresql.Driver
db.default.url=${DATABASE_URL}
applyEvolutions.default=true
43. AUTHENTICATION - PLAY
Uses cookies to remain stateless
app/controllers/Secured.java
public class Secured extends Security.Authenticator {
@Override
public String getUsername(Context ctx) {
// todo: need to make sure the user is valid, not just the toke
n
return ctx.session().get("token");
}
app/controllers/RegionController.java
@Security.Authenticated(Secured.class)
public static Result addRegion() {
return ok(views.html.regionForm.render(form(Region.class)));
}
76. CONCLUSIONS: CODE
From a code perspective, very similar
frameworks.
Code authoring good in both.
Grails Plugin Ecosystem is excellent.
TDD-Style Development easy with both.
Type-safety in Play 2 was really useful, especially
routes and upgrades.
77. CONCLUSIONS: STATISTICAL ANALYSIS
Grails has better support for FEO (YSlow,
PageSpeed)
Grails has less LOC! (4 more files, but 20% less
code)
Apache Bench with 10K requests (2 Dynos):
Requests per second: {Play: 2227,
Grails: 1053}
Caching significantly helps!
78. CONCLUSIONS: ECOSYSTEM ANALYSIS
"Play" is difficult to search for.
Grails is more mature.
Play has momentum issues.
LinkedIn: more people know Grails than Spring
MVC.
Play has 3x user mailing list traffic.
We had similar experiences with documentation
and questions.
Outdated documentation is a problem for both.
Play has way more hype!
79. QUESTIONS?
Source:
Branches: grails2, play2_java
Presentation*: master/preso
Contact Us:
* Presentation created with , and .
http://ubertracks.com
https://github.com/jamesward/happytrails
jamesward.com
raibledesigns.com
Reveal.js Google Charts GitHub Files