Apache Sling is an innovative web framework built on top of the Java Content Repository (JCR), that uses OSGi for its component model and fosters RESTful application design.
This presentation will showcase how the Apache Sling framework can be used to build a unified REST-based middleware for multiple data sources, such as MongoDB, Apache Cassandra, Apache Jackrabbit Oak or classical relational databases. In doing so it will present the benefits that come from a single Resource API over multiple data stores, both at the library level and at the HTTP boundary.
Effective Web Application Development with Apache SlingRobert Munteanu
Apache Sling is an innovative web framework built on top of the Java Content Repository (JCR), that uses OSGi for its component model and fosters RESTful application design.
This talk shows how Sling integrates various standard-based technologies, like OSGi and the Content Repository API for Java to create a coherent framework for web application development. We will walk through the development of a simple application with minimal effort and demonstrate how to productize the resulting application.
We will pay special attention to some approaches which are not yet part of mainstream development, such as using OSGi for dependecy injection and JCR for persistence.
Content-centric architectures - case study : Apache SlingFabrice Hong
Building a CMS is basically enabling authors to create hierarchical web content whose structure is supposed to be flexible. This hierarchy is both at the level of the pages organisation, as well as at the level of the structure of the page itself.
Content management frameworks (CMF) helps developers creating web CMS applications by proposing a certain number of out of the box facilities and by maximizing conventions to reduce the amount of code to create and maintain.
But there is still a certain amount of boilerplate code that developers need to implement to bridge the content to the views. Moreover this mapping is versioned with the production code, which make the system less flexible to share or import component types at runtime.
Apache Sling is a RESTful content-centric CMF that uses the Java Content Repository as database (JCR). When the data layer embody the CMS model, the content can be directly exposed over REST and the static bridging become unnecessary.
In this Webmardi we will present different aspect of Apache Sling:
- Situations where content centric architecture is a good fit
- Typical CMS issues the framework facilitate
- Java content repository features
- Request processing and rendering resolution
- Ambivalence of content representation, resilience of Sling architecture against consumers types evolution, caching strategies, type of website (server side scripting, single page webapp)
CIRCUIT 2015 - 10 Things Apache Sling Can DoICF CIRCUIT
Presented by Carsten Ziegeler & David Bosschaert from Adobe
Apache Sling is the underlying web framework for Adobe AEM. While the main concept of resource handling is well known, the project contains some hidden gems. Learn some fun facts about the open source project together with very valuable insight into important bits and pieces making the life of an application developer easier. This is a developer focused journey into the "secrets" of Apache Sling.
Effective Web Application Development with Apache SlingRobert Munteanu
Apache Sling is an innovative web framework built on top of the Java Content Repository (JCR), that uses OSGi for its component model and fosters RESTful application design.
This talk shows how Sling integrates various standard-based technologies, like OSGi and the Content Repository API for Java to create a coherent framework for web application development. We will walk through the development of a simple application with minimal effort and demonstrate how to productize the resulting application.
We will pay special attention to some approaches which are not yet part of mainstream development, such as using OSGi for dependecy injection and JCR for persistence.
Content-centric architectures - case study : Apache SlingFabrice Hong
Building a CMS is basically enabling authors to create hierarchical web content whose structure is supposed to be flexible. This hierarchy is both at the level of the pages organisation, as well as at the level of the structure of the page itself.
Content management frameworks (CMF) helps developers creating web CMS applications by proposing a certain number of out of the box facilities and by maximizing conventions to reduce the amount of code to create and maintain.
But there is still a certain amount of boilerplate code that developers need to implement to bridge the content to the views. Moreover this mapping is versioned with the production code, which make the system less flexible to share or import component types at runtime.
Apache Sling is a RESTful content-centric CMF that uses the Java Content Repository as database (JCR). When the data layer embody the CMS model, the content can be directly exposed over REST and the static bridging become unnecessary.
In this Webmardi we will present different aspect of Apache Sling:
- Situations where content centric architecture is a good fit
- Typical CMS issues the framework facilitate
- Java content repository features
- Request processing and rendering resolution
- Ambivalence of content representation, resilience of Sling architecture against consumers types evolution, caching strategies, type of website (server side scripting, single page webapp)
CIRCUIT 2015 - 10 Things Apache Sling Can DoICF CIRCUIT
Presented by Carsten Ziegeler & David Bosschaert from Adobe
Apache Sling is the underlying web framework for Adobe AEM. While the main concept of resource handling is well known, the project contains some hidden gems. Learn some fun facts about the open source project together with very valuable insight into important bits and pieces making the life of an application developer easier. This is a developer focused journey into the "secrets" of Apache Sling.
Write an API for Almost Anything: The Amazing Power and Flexibility of Django...Caktus Group
This presentation, originally delivered by Django developer Charlotte Mays at DjangoCon 2017, covers what an API is, why APIs are useful, and how to build one of your own using the Django Rest Framework.
Fundamentals of building a Restful API with Django and django-rest-framework. Intended for new developers interested in developing a REST API for their applications. Basic knowledge of Python is nice to have, but the concepts are transferable.
Presented at Vancouver Python Day 2013.
Case study: JBoss Developer Studio, an IDE for Web, Mobile and Cloud applicat...Max Andersen
Boss Developer Studio is an IDE dedicated to JBoss technologies and focusing on very high productivity of developers doing Java for Web, Mobile and Cloud applications. This presentation will feature a demonstration, and can be extended to a case-study explaining how such an IDE leverages pieces of Eclipse.
More and more web projects require interfacing with the backend using a REST-ful interface. In this presentation we'll discuss Django-REST-Framework's features and walk through how to integrate it into your next project!
[drupalday2017] - Drupal come frontend che consuma servizi: HTTP Client ManagerDrupalDay
Proviamo a gettare un nuovo standard per la gestione delle sorgenti e per la presentazione di dati nelle istanze Drupal che consumano servizi. Perchè ne abbiamo bisogno e come i Guzzle Service Description possono salvarci la vita.
di Adriano Cori
Consuming REST services with ActiveResourceWolfram Arnold
Talk given at the SF Ruby Meetup on 12/8/2011.
It references these github projects:
demo project:
git://github.com/wolframarnold/SFMeetup-Talk-on-ActiveResource-2011-12-08.git
server:
git://github.com/wolframarnold/where-have-you-been.git, branch: sfmeetup_2011_12_08
Cool like a Frontend Developer: Grunt, RequireJS, Bower and other ToolsRyan Weaver
Bower, Grunt, and RequireJS are just a few tools that have been re-shaping the frontend development world, replacing cluttered script tags and server-side build solutions with a sophisticated, but sometimes complex approach to dependency management and module loading. In this talk, we'll put on our trendy frontend developer hat and find out how these tools work and how they differ from what we might be used to. Most important, we'll see how using tools like this might look in Symfony2 and how our application can be a friendly place for a frontend guy/gal.
Over the last few years, Airbnb’s frontend architecture has evolved to keep pace with the rapid advancement happening the JavaScript world. Starting as a humble Rails 2 + Prototype.js app in 2008, the frontend stack powering airbnb.com has gone through a few revisions, including a push towards single-page app architecture with Backbone.js and Handlebars.js, an adventure into isomorphic JavaScript with Rendr (our library for using Node.js to server-render Backbone SPAs), and most recently, a move toward React.js and a re-envisioning of our build pipeline to take advantage of CommonJS, ES6, and a Node.js-based transform system. Spike Brehm, software engineer on the @AirbnbNerds team, will walk through how we approached and executed on these changes. Plus, get excited to see a preview of our new approach to isomorphic JavaScript, allowing us to server-render React components from our Rails app.
Spike Brehm is a software engineer at Airbnb who specializes in building rich web experiences. As a JavaScript nerd, he has spent the last few years shipping web apps and prototyping Airbnb’s front-end stack, experimenting with “isomorphic JavaScript” — apps that have the flexibility to run on both the client and sever using the same codebase.
Microservices are definitely the hot topic du jour . Everyone ( and their dog ) is using microservices or migrating towards them. To make things more interesting, the OSGi community has been talking about microservices for 6 years now, so now we have two clashing definitions of the term.
Besides the dreaded monolith and the famed microservices-based architecture there is plenty of room for a middle ground, where an API gateway mediates between a host of microservices and their consumers. Such a gateway solves multiple cross-cutting concerns, such as authentication, API standardisation, logging and decoupling the API evolution. As it turns out, OSGi is an ideal setting for building such an application.
The API gateway implementation demoed is based on Apache Sling - an innovative web framework built on top of the Java Content Repository (JCR), that uses OSGi for its component model and fosters RESTful application design. Although we will use Apache Sling for examples, previous knowledge of Sling or its components is not required.
Apache Sling as a Microservices Gateway
---
Microservices are definitely the hot topic _du jour_ . Everyone ( and their dog ) is using microservices or migrating towards them. However, there is a gap between the enthusiam for microservices and the ability to create and maintain the infrastructure and culture to effectively use microservices.
Apache Sling is an innovative web framework built on top of the Java Content Repository (JCR), that uses OSGi for its component model and fosters RESTful application design. And, as we will see, it is also perfect match for a microservices gateway.
In this talk we will review the pros and cons of microservices and monoliths, and look for middle road that smaller organisations that follow to use services productively. One of the approaches we will outline and demo is an API gateway built on top of Apache Sling, used to adress the cross-cutting concerns that would otherwise be reimplemented by all microservices.
Write an API for Almost Anything: The Amazing Power and Flexibility of Django...Caktus Group
This presentation, originally delivered by Django developer Charlotte Mays at DjangoCon 2017, covers what an API is, why APIs are useful, and how to build one of your own using the Django Rest Framework.
Fundamentals of building a Restful API with Django and django-rest-framework. Intended for new developers interested in developing a REST API for their applications. Basic knowledge of Python is nice to have, but the concepts are transferable.
Presented at Vancouver Python Day 2013.
Case study: JBoss Developer Studio, an IDE for Web, Mobile and Cloud applicat...Max Andersen
Boss Developer Studio is an IDE dedicated to JBoss technologies and focusing on very high productivity of developers doing Java for Web, Mobile and Cloud applications. This presentation will feature a demonstration, and can be extended to a case-study explaining how such an IDE leverages pieces of Eclipse.
More and more web projects require interfacing with the backend using a REST-ful interface. In this presentation we'll discuss Django-REST-Framework's features and walk through how to integrate it into your next project!
[drupalday2017] - Drupal come frontend che consuma servizi: HTTP Client ManagerDrupalDay
Proviamo a gettare un nuovo standard per la gestione delle sorgenti e per la presentazione di dati nelle istanze Drupal che consumano servizi. Perchè ne abbiamo bisogno e come i Guzzle Service Description possono salvarci la vita.
di Adriano Cori
Consuming REST services with ActiveResourceWolfram Arnold
Talk given at the SF Ruby Meetup on 12/8/2011.
It references these github projects:
demo project:
git://github.com/wolframarnold/SFMeetup-Talk-on-ActiveResource-2011-12-08.git
server:
git://github.com/wolframarnold/where-have-you-been.git, branch: sfmeetup_2011_12_08
Cool like a Frontend Developer: Grunt, RequireJS, Bower and other ToolsRyan Weaver
Bower, Grunt, and RequireJS are just a few tools that have been re-shaping the frontend development world, replacing cluttered script tags and server-side build solutions with a sophisticated, but sometimes complex approach to dependency management and module loading. In this talk, we'll put on our trendy frontend developer hat and find out how these tools work and how they differ from what we might be used to. Most important, we'll see how using tools like this might look in Symfony2 and how our application can be a friendly place for a frontend guy/gal.
Over the last few years, Airbnb’s frontend architecture has evolved to keep pace with the rapid advancement happening the JavaScript world. Starting as a humble Rails 2 + Prototype.js app in 2008, the frontend stack powering airbnb.com has gone through a few revisions, including a push towards single-page app architecture with Backbone.js and Handlebars.js, an adventure into isomorphic JavaScript with Rendr (our library for using Node.js to server-render Backbone SPAs), and most recently, a move toward React.js and a re-envisioning of our build pipeline to take advantage of CommonJS, ES6, and a Node.js-based transform system. Spike Brehm, software engineer on the @AirbnbNerds team, will walk through how we approached and executed on these changes. Plus, get excited to see a preview of our new approach to isomorphic JavaScript, allowing us to server-render React components from our Rails app.
Spike Brehm is a software engineer at Airbnb who specializes in building rich web experiences. As a JavaScript nerd, he has spent the last few years shipping web apps and prototyping Airbnb’s front-end stack, experimenting with “isomorphic JavaScript” — apps that have the flexibility to run on both the client and sever using the same codebase.
Microservices are definitely the hot topic du jour . Everyone ( and their dog ) is using microservices or migrating towards them. To make things more interesting, the OSGi community has been talking about microservices for 6 years now, so now we have two clashing definitions of the term.
Besides the dreaded monolith and the famed microservices-based architecture there is plenty of room for a middle ground, where an API gateway mediates between a host of microservices and their consumers. Such a gateway solves multiple cross-cutting concerns, such as authentication, API standardisation, logging and decoupling the API evolution. As it turns out, OSGi is an ideal setting for building such an application.
The API gateway implementation demoed is based on Apache Sling - an innovative web framework built on top of the Java Content Repository (JCR), that uses OSGi for its component model and fosters RESTful application design. Although we will use Apache Sling for examples, previous knowledge of Sling or its components is not required.
Apache Sling as a Microservices Gateway
---
Microservices are definitely the hot topic _du jour_ . Everyone ( and their dog ) is using microservices or migrating towards them. However, there is a gap between the enthusiam for microservices and the ability to create and maintain the infrastructure and culture to effectively use microservices.
Apache Sling is an innovative web framework built on top of the Java Content Repository (JCR), that uses OSGi for its component model and fosters RESTful application design. And, as we will see, it is also perfect match for a microservices gateway.
In this talk we will review the pros and cons of microservices and monoliths, and look for middle road that smaller organisations that follow to use services productively. One of the approaches we will outline and demo is an API gateway built on top of Apache Sling, used to adress the cross-cutting concerns that would otherwise be reimplemented by all microservices.
Effective Web Application Development with Apache SlingRobert Munteanu
Apache Sling is an innovative web framework built on top of the Java Content Repository (JCR), that uses OSGi for its component model and fosters RESTful application design.
This talk shows how Sling integrates various standard-based technologies, like OSGi and the Content Repository API for Java to create a coherent framework for web application development. We will walk through the development of a simple application with minimal effort and demonstrate how to productize the resulting application.
We will pay special attention to some approaches which are not yet part of mainstream development, such as using OSGi for dependecy injection and JCR for persistence.
This talk contains an overview of the Sling IDE tooling which is actively developed under the Apache Sling project.
Developers attending this talk will get a better understanding of how the Sling IDE tooling can help them be more productive, whether they are working with bundles only with content packages as well.
Effective web application development with Apache SlingRobert Munteanu
Apache Sling is an innovative web framework built on top of the Java Content Repository (JCR), that uses OSGi for its component model and fosters RESTful application design. This talk shows how Sling integrates various standard-based technologies, like OSGi and the Content Repository API for Java to create a coherent framework for web application development. We will walk through the development of a simple application with minimal effort and demonstrate how to productize the resulting application. We will pay special attention to some approaches which are not yet part of mainstream development, such as using OSGi for dependecy injection and JCR for persistence.
Microservices are definitely the hot topic du jour . Everyone ( and their dog ) is using microservices or migrating towards them. However, the initial enthusiasm for microservices is starting to fade, and for many scenarios monoliths still seem to fit the bill.
Even more interesting, in many situations a pure approach of using either microservices or monliths is not enough. Instead a more careful, intermediate approach can be quite powerul.
This talk introduces the concepst of an API gateway for microservices as a means to adopt microservices at a more convenient pace. This approach brings about most of the benefits of microservices, but removes large chunks of complexity. We will touch upon authentication, authorization, API standardisation and logging,
The API gateway implementation demoed is based on Apache Sling - an innovative web framework built on top of the Java Content Repository (JCR), that uses OSGi for its component model and fosters RESTful application design. Although we will use Apache Sling for examples, previous knowledge of Sling or its components is not required.
This talk contains an overview of the Sling IDE tooling which has been under development under the Apache Sling project for the last year. It will focus on how a developer can connect his/her IDE to an Apache Sling installation and develop against it without the need to use other tools. We will also provide an intro to the technical foundations of the IDE tooling, for those interested in contributing.
Secure by Default Web Applications with Apache SlingRobert Munteanu
A product that works is not done, as there are many facets to consider – availability, scalability, security. Of those, security is probably the most expensive to get wrong.
By analysing a simple web application built on top of Apache Sling and its threat model, we will review the main attack vectors and how they can be mitigated. You will see what the general approaches are and also how Apache Sling allows you to eliminate entire classes of vulnerabilities by using secure-by-default components. Although we will use Apache Sling for examples, previous knowledge of Sling or its components is not required.
Introduction to Adobe Experience Manager based e commerceAdobeMarketingCloud
IMMERSE"16 Session Learn about the Adobe eCommerce Framework, aspects of designing and developing an eCommerce solution and various eCommerce engines options that can be integrated with Experience Manager to implement an eCommerce Solution. To see the on-demand IMMERSE Session please go to http://bit.ly/Immerse16
Adobe Experience Manager (AEM) provides a framework to build commerce websites, allowing to manage rich content for experience driven websites, as well as taking care of the specific complexities typically related to the commerce business. The combination of experience and commerce support is possible thanks to a framework oriented architecture that allows AEM to integrate with best of breed commerce platforms as well as with home grown systems. AEM provides an API that can be implemented and extended on the specific project requirements as well as towards the ecommerce backend system of choice. This session will cover the primary elements around extensibility and pluggability of the AEM commerce framework, through some code samples explained. A specific part of this session then will be dedicated to the available approaches to support high volumes of data as well as rich content delivery. The ideal audience of this presentation are developers that are involved in commerce related projects or that are planning to design an architecture for a big commerce website.
Rapid RESTful Web Applications with Apache Sling and JackrabbitCraig Dickson
This is the presentation from JavaOne 2011 that Ruben Reusser and I worked on. The presentation was heavily demonstration based, so there are not as many slides.
Introduction to AEM-eCommerce Integration and implementation of custom AEM native commerce,. This also gives introduction to multiple AEM commerce components and Commerce APIs.
Visit http://adobeaemclub.com to know more about it. Also you can follow our Github to get examples
https://github.com/AEMClub/adobe-aem-club/tree/master/commerceexample
As part of Adobe Experience Manager, CQ 5.6 provides a new Commerce Framework to build Experience Driven Commerce websites on top of a 3rd party Commerce Platform. This session provides an overview of the framework from an architectural perspective and presents some details of the reference implementation, based on the JCR repository.
Apache Jackrabbit Oak - Scale your content repository to the cloudRobert Munteanu
Apache Jackrabbit Oak is a content repository which supports the most desired features from both SQL and NoSQL approaches. Some of its key features include ACLs, versioning, efficient blob storage, transactions, structured and unstructured content and multiple query languages.
This talk introduces Oak as a new implementation of the Content Repository API for Java, rewritten from scratch to ensure that it can scale out to support massive content repositories.
You will find out how you can start using Oak now to support use cases as varied as content management, document management, digital asset management or business rule management systems.
It's been an amazing year for Spring! 2013 saw the Spring family join Pivotal where - along with Cloud Foundry and our data driven technologies (the Pivotal HD Hadoop distribution, the GemFire data grid, and the RabbitMQ message broker) - Spring supports today's application workloads and profiles. Today's Spring embraces Java 8, Scala, Groovy, provides a best-in-class REST stack, supports the open web, mobile applications, big-data applications and batch workloads. Today's Spring is easy to get started with, easy to learn, and embraces conventions over configuration. Today's Spring is part of the Spring.IO platform. Today's Spring is...Pivotal. Join Spring developer advocate Josh Long as he re-introduces you to today's Spring, a Spring you may not have seen yet.
There is a video for this talk, as well: http://www.youtube.com/watch?v=_twyZL_AGCI - Enjoy!
Basic Tutorial of React for ProgrammersDavid Rodenas
This is the support of a course to teach React programming for Java and C# programmers. It covers from its origins in Facebook til separation of presentational and container components. What is JSX, rules, state, props, refactoring, conditionals, repeats, forms, synchronizing values, composition, and so on.
The web has changed! Users spend more time on mobile than on desktops and they expect to have an amazing user experience on both platforms. APIs are the heart of the new web as the central point of access data, encapsulating logic and providing the same data and same features for desktops and mobiles.
In this talk, I will show you how in only 45 minutes we can create full REST API, with documentation and admin application build with React.
As PHP programmers we are used to waiting for network I/O, in general we may not even consider any other option. But why wait? Why not jump on board the Async bullet-train and experience life in the fast lane and give Go and NodeJS a run for the money. This talk will aim to make the audience aware of the benefits, opportunities, and pitfalls of asynchronous programming in PHP, and guide them through the native functionality, frameworks and PHP extensions though which it can be facilitated.
Александр Демченко, CEO Lazy Ants выступил на конференции CODEiD – PHP Odessa Conf #4 с темой «Graphql + Symfony».
• Что такое GraphQL на пальцах для PHP-разработчика.
• Почему GraphQL это глобальный скачек в написании API.
• Почему такие монстры как Facebook, GitHub активно используют GraphQL для своих API.
«Мы рассмотрим основные преимущества использования GraphQL для вашего проекта, как создать свое GraphQL API с помощью Symfony framework и набором доступных библиотек.»
CODEiD – это всеукраинское сообщество PHP-разработчиков. Наша цель — создать сильное сообщество всех, кто увлечен PHP-разработкой, и принимать в нашем уютном приморском городе коллег со всей Украины и мира.
Similar to Apache Sling as an OSGi-powered REST middleware (20)
A product that works is not done, as there are many facets to consider - availability, scalability, security. Of those, security is probably the most costly to get wrong.
This talk will build a threat model for a sample web application, showcasing a structured approach to securing your web application. Various vulnerabilities are shown and mitigated, based on current best practices. We take special care to show to eliminate entire classes of vulnerabilities, rather than tackling problems one by one.
The code samples will be built on top of Apache Sling, but previous knowledge of Sling is not required.
Talk delivered at BaselOne 2023
Sling is an established web application framework, with a multitude of core features and extensions. It has a very productive inner loop, with OSGi bundle deployment, JCR content editing and live configuration updates. The less-told story is how an application should be assembled, configured, deployed, and monitored.
In this talk we will present the main approaches for bootstrapping, deploying, updating, and monitoring Sling-based applications, based on Open Source tools and libraries.
The participants will gain a better understanding of the options available for managing their own Sling-based application and will be able to minimise the effort needed to manage such an application.
Java agents are a little-known but extremely powerful part of the Java ecosystem. Agents are able to transform existing classes at runtime, allowing scenarios such as logging and monitoring, hot reload or gathering code coverage. However, their usage presents a number of pitfalls as well. In this talk we will present the steps of writing a java agent from scratch, indicate various common mistakes and pain points and draw conclusions on best practices. Special care will be taken to discuss how running in an OSGi environment affects Java agents and how we can best approach integration testing in a modular environment. After this talk participants will have a better understanding of the Java instrumentation API, how it fits in with OSGi runtimes and about should / should not be done with it.
Escape the defaults - Configure Sling like AEM as a Cloud ServiceRobert Munteanu
AEM as a Cloud Service is using the same battle-tested core of Sling, Felix and Jackrabbit Oak that you are used to. Many of the large-scale architectural changes, such as container-based deployments, separation of code and content, horizontal and vertical scaling, etc, are made possible by a host of reimplementations of APIs exposed by the open-source projects that serve as the foundation of AEM.
In this talk we will explore a number of such extensions and their implications, such as Oak's principal-based authorization, getting up and running with the composite node store, or indexing in a separation of content and apps scenario.
After this talk participants will have a better understanding of various under-the-hood changes present in AEM as a Cloud Service and their practical implications for AEM development. They will also be able to set up their own tweaked Sling instance so they can experiment with such a setup.
Microservices were born out of a need to enable modularity at a technical and business level. With their mass adoption tehnical patterns and solution have started to emerge, and management using Kubernetes is one of the most encountered. Monitoring application state becomes tedious when using approaches designed for individual servers and deployments.
Prometheus and Grafana are cloud-native solutions that make monitoring of Kubernetes deployments a simple and very fruitful task.
After this talk participants will understand how to instrument their applications, gather metrics and act on high-level aggregate information.
Java agents are a little-known but extremely powerful part of the Java ecosystem. Agents are able to transform existing classes at runtime, allowing scenarios such as logging and monitoring, hot reload or gathering code coverage. However, their usage presents a number of pitfalls as well.
In this talk we will present the steps of writing a java agent from scratch, indicate various common mistakes and pain points and draw conclusions on best practices.
After this talk participants will have a better understanding of the Java instrumentation API and about should / should not be done with it.
Java agents are a little-known but extremely powerful part of the Java ecosystem. Agents are able to transform existing classes at runtime, allowing scenarios such as logging and monitoring, hot reload or gathering code coverage. However, their usage presents a number of pitfalls as well.
In this talk we will present the steps of writing a java agent from scratch, indicate various common mistakes and pain points and draw conclusions on best practices. Special care will be taken to discuss how running in an OSGi environment affects Java agents and how we can best approach integration testing in a modular environment.
After this talk participants will have a better understanding of the Java instrumentation API, how it fits in with OSGi runtimes and about should / should not be done with it.
Kubernetes is quickly becoming the de facto deployment platform for container runtimes. New applications can be written with containers in mind, but existing applications are not always aligned to the new best practices.
In this talk we will present how an existing application can be deployed on a Kubernetes platform, exploring various patterns such as scaling out, centralised logging and monitoring, content distribution and persistence.
After this talk participants will gain a better understanding about how existing applications can be molded into a cloud-native ones with reasonable effort.
Kubernetes is quickly becoming the de facto deployment platform for container runtimes. Sling provides a quick out-of-the box experience using the Starter jar, but this kind of setup is not always easy to deploy in containers.
In this talk we will present how a Sling application can be deployed on a Kubernetes platform, exploring various patterns such as scaling out, centralised logging and monitoring, content distribution and persistence.
After this talk participants will gain a better understanding about how Sling can be molded into a cloud-native applications without sacrificing the features that make Sling a strong development platform.
From Monolith to Modules - breaking apart a one size fits all product into mo...Robert Munteanu
Adobe Experience Manager as the biggest enterprise application built on the Apache Sling stack over the years was built with a monolithic product perspective. Taming the growth over time and tackling upcoming challenges led to a situation were a transition towards a modular product, where large features can be gracefully removed at runtime, becomes unavoidable.
With this talk we want to provide insights on how Adobe uses the available technologies in the stack, extends the stack and transforms the own practices to cut the product in loosely coupled modules with minimal impact on existing consumers. We will be identifying patterns on OSGi, content and scripting side to eliminate and prevent hard wiring and highlight pending challenges and our thoughts on how to resolve that. Last but not least we will share our experience on how such a transition impacts our engineering flow and quality assurance practices.
The Sling developer tooling consists of many projects: Eclipse plug-ins, Maven archetypes and Maven plug-ins are the most widely known. This talk will showcase the results of an initiative to make the Sling IDE tooling less reliant on Eclipse and more usable in other environments.
After this talk participants will have a better overview of the various developer tools available for Apache Sling and will be able to choose the tools that make them more productive, irrespective of the IDE they use.
Scaling up development of a modular code baseRobert Munteanu
Microservices are quickly becoming one of the preferred deployment models in the software industry. Much has been said about the runtime impact of microservices, but less about how they impact the development process. This talk will discuss the details of moving from a single monolithic codebase to multiple repositories in terms of the development process. We will present the impact of modularisation on source control, continuous integration, code reviews, IDEs and public discussion on chat/email. After this talk attendees will have a better understanding on the impact of the development process of modular development.
Scaling up development of a modular code baseRobert Munteanu
OSGi offers developers excellent tools for creating modular applications. We have come to have a good understanding of the runtime impact of modularity, but less has been spoken of the impact of modularity on the development process.
This talk will discuss the details of moving a large OSGi project from a single monolithic codebase to multiple repositories in terms of the development process. We will present the impact of modularisation on source control, continuous integration, code reviews, IDEs and public discussion on chat/email.
After this talk attendees will have a better understanding of the way they can improve their development process when dealing with OSGi or other kinds of modular applications.
Scaling up development of a modular code baseRobert Munteanu
Microservices are quickly becoming one of the preferred deployment models in the software industry. Much has been said about the runtime impact of microservices, but less about how they impact the development process.
This talk will discuss the details of moving from a single monolithic codebase to multiple repositories in terms of the development process. We will present the impact of modularisation on source control, continous integration, code reviews, IDEs and public discussion on chat/email.
After this talk attendees will have a better understanding on the impact of the development process of modular development.
Zero downtime deployments for Sling application using DockerRobert Munteanu
In this session we'll show how the Composite Node Store, a new Oak feature, can be used together with Docker to perform blue-green deployments. This kind of setup allows to dynamically change a part of the repository (containing the application code), while leaving the content part untouched. The presentation and the demo will be based on the AEM, but the concepts and tools are generally applicable to all Sling-based applications. The building blocks we'll present can be used to develop other mechanisms for zero-downtime deployments.
Scaling up development of a modular code baseRobert Munteanu
Microservices are quickly becoming one of the preferred deployment models in the software industry. Much has been said about the runtime impact of microservices, but less about how they impact the development process.
This talk will discuss the details of moving from a single monolithic codebase to multiple repositories in terms of the development process. We will present the impact of modularisation on source control, continous integration, code reviews, IDEs and public discussion on chat/email.
After this talk attendees will have a better understanding on the impact of the development process of modular development.
Building domain-specific testing tools : lessons learned from the Apache Slin...Robert Munteanu
The Apache Sling project has built a number of testing tools which aid in testing applications that are built on top of this framework - REST-based, assembled using OSGi and backed by JCR.
We will review how those testing tools fit in with domain-agnostic testing tools such as JUnit and Mockito and what the benefits and pitfalls are when building your own domain-specific tools.
Similar techniques apply to projects not using the same technology stack, so the discussion will bring value to all projects which can benefit from domain-specific testing tools.
Developing a Sling application is only half the story - or perhaps even less. Automated testing is of great importance for insuring code quality and reducing regression risk. Sling presents an interesting challenge, as its technology stack does not get as much attention as more mainstream ones. As such, we had the pleasure of developing our own patterns and testing tools, while integrating the foundations that already existed. This presentation will walk through the various available tools and show how they can be used to cover a Sling-based application.
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar
The European Union Agency for Law Enforcement Cooperation (Europol) has suffered an alleged data breach after a notorious threat actor claimed to have exfiltrated data from its systems. Infamous data leaker IntelBroker posted on the even more infamous BreachForums hacking forum, saying that Europol suffered a data breach this month.
The alleged breach affected Europol agencies CCSE, EC3, Europol Platform for Experts, Law Enforcement Forum, and SIRIUS. Infiltration of these entities can disrupt ongoing investigations and compromise sensitive intelligence shared among international law enforcement agencies.
However, this is neither the first nor the last activity of IntekBroker. We have compiled for you what happened in the last few days. To track such hacker activities on dark web sources like hacker forums, private Telegram channels, and other hidden platforms where cyber threats often originate, you can check SOCRadar’s Dark Web News.
Stay Informed on Threat Actors’ Activity on the Dark Web with SOCRadar!
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Anthony Dahanne
Les Buildpacks existent depuis plus de 10 ans ! D’abord, ils étaient utilisés pour détecter et construire une application avant de la déployer sur certains PaaS. Ensuite, nous avons pu créer des images Docker (OCI) avec leur dernière génération, les Cloud Native Buildpacks (CNCF en incubation). Sont-ils une bonne alternative au Dockerfile ? Que sont les buildpacks Paketo ? Quelles communautés les soutiennent et comment ?
Venez le découvrir lors de cette session ignite
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfJay Das
With the advent of artificial intelligence or AI tools, project management processes are undergoing a transformative shift. By using tools like ChatGPT, and Bard organizations can empower their leaders and managers to plan, execute, and monitor projects more effectively.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
In this slide, we show the simulation example and the way to compile this solver.
In this solver, the Helmholtz equation can be solved by helmholtzFoam. Also, the Helmholtz equation with uniformly dispersed bubbles can be simulated by helmholtzBubbleFoam.
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
Into the Box Keynote Day 2: Unveiling amazing updates and announcements for modern CFML developers! Get ready for exciting releases and updates on Ortus tools and products. Stay tuned for cutting-edge innovations designed to boost your productivity.
2. #Devoxx #Sling @rombert
Getting to know each other
$DAYJOB
Adobe Experience
Manager
Apache Sling
Apache Jackrabbit
Apache Felix
FOSS
Apache Sling
MantisBT
Mylyn Connector for MantisBT
Mylyn Connector for Review Board
3. #Devoxx #Sling @rombert
Agenda
● What is Apache Sling?
● Meet Barry
● Demo 1
● Why use Sling as a RESTful middleware?
● Demo 2
● What else is there to Sling?
12. #Devoxx #Sling @rombert
How is everything mapped?
/ ( root )
/content/blog/comments
/content/blog/posts
/content/blog/images
13. #Devoxx #Sling @rombert
How does Sling manage this?
ResourceProvider
JCR NoSQL FS
Couchbase MongoDB
ResourceProviderFactory
Produces
14. #Devoxx #Sling @rombert
SPI → API
ResourceProviderFactory
OSGi Service Registry
ResourceResolver
Registers Gets
15. #Devoxx #Sling @rombert
How does my code get invoked?
1 GET /content/blog/posts/hello_world.json
2 ResourceResolver.resolve(...)
3 ServletResolver.resolveServlet(...)
4 servlet.doGet(...)
17. #Devoxx #Sling @rombert
Reading Resources
SELECT * FROM posts
WHERE parent_id = 25
LIMIT 10
for (Resource post :
resource.getChildren() ) {
// process first 10
}
18. #Devoxx #Sling @rombert
Reading Resources
SELECT * FROM posts
WHERE author = “john”
ORDER BY published DESC
rr.findResources(“//element(*,
blog:Posts)[@author='john'] ORDER BY
@published DESC”, “xpath”);
27. #Devoxx #Sling @rombert
More features
● Eventing, Thread Pooling, Job Management, Caching
● Scripting: Groovy, Scala, JSP, Sightly, Java, Ruby,
Thymeleaf
● Flexible resource rendering with resource types
● Very extensible due to being internally powered by OSGi –
most extension points available to clients