OSGi Community Event 2018 Presentation by Bruce Jackson (Myriad)
Abstract: Node-RED is often used as a protyping tool for IoT systems. However, there are also a large number of OSGi components that have already been built to interface to devices, sensors and systems. In this talk I will show how two completely different runtime environments (OSGi and Node-RED) can be combined into a single platform for prototyping (and more) combining the strengths of both languages and systems.
Being able to quickly and simply prototype IoT application is extremely useful, and to this end many people have adopted Node-Red, a Node.js based runtime with extensive support for plugins to interface to various IoT hardware and protocols. However, this requires these services/protocols to be developed in Javascript, and there is already a significant body of code developed in Java/OSGi that it would be desirable to re-use.
The talk will explain how it is possible to:
Create and manage a Node-Red runtime from within an OSGi bundle
Share OSGi components and object into the Node-Red runtime
Interact and build Node-Red flows that exchange data and call methods between Node.js and OSGi
This is obviously useful for the original purpose: prototyping IoT systems, but also demonstrates some interesting techniques for bridging between different languages and runtimes.
The Self-Service Developer - GOTOCon CPHLaszlo Fogas
The Self-Service Developer
In this talk, Laszlo revisits the primary motivations of why companies adopt container technologies in such a rapid pace and what became possible with the latest innovation in the container and CI/CD ecosystem.
The talk iterates through the building blocks of self-service platforms. Platforms that allow developers to release software without asking for permission, or support from other teams or departments - so managers have fewer constraints to navigate, and instead of helping developers, ops people can focus on building platforms and resiliency into the system.
The "self-service developer" vision is not only achievable by the big tech companies anymore, but increasingly becoming table stakes for every organization that produces software.
During the talk, Laszlo shows a self-service platform in action featuring the latest CI/CD tools and the Kubernetes container orchestrator.
Seit 2015 beschäftigt uns das Thema "DevOps" in den verschiedensten Ausprägungen. Dieser Erfahrungsbericht gibt Einblick in unsere Ups & Downs bezüglich Technologie, Architektur und Zusammenarbeit innerhalb der Mobiliar.
At the first Jenkins Meetup in Montreal, CloudOps' Khosrow Moossavi discussed some CI/CD tools that can help you set up efficient and dynamic DevOps pipelines.
The Self-Service Developer - GOTOCon CPHLaszlo Fogas
The Self-Service Developer
In this talk, Laszlo revisits the primary motivations of why companies adopt container technologies in such a rapid pace and what became possible with the latest innovation in the container and CI/CD ecosystem.
The talk iterates through the building blocks of self-service platforms. Platforms that allow developers to release software without asking for permission, or support from other teams or departments - so managers have fewer constraints to navigate, and instead of helping developers, ops people can focus on building platforms and resiliency into the system.
The "self-service developer" vision is not only achievable by the big tech companies anymore, but increasingly becoming table stakes for every organization that produces software.
During the talk, Laszlo shows a self-service platform in action featuring the latest CI/CD tools and the Kubernetes container orchestrator.
Seit 2015 beschäftigt uns das Thema "DevOps" in den verschiedensten Ausprägungen. Dieser Erfahrungsbericht gibt Einblick in unsere Ups & Downs bezüglich Technologie, Architektur und Zusammenarbeit innerhalb der Mobiliar.
At the first Jenkins Meetup in Montreal, CloudOps' Khosrow Moossavi discussed some CI/CD tools that can help you set up efficient and dynamic DevOps pipelines.
In this session Philip Norman and Frank Scholten will show you how to CI/CD with minimesos and DC/OS. After a quick introduction you can follow along on your laptop with an example of running, testing and deploying an application from minimesos to DC/OS.
Par Philip Norman (@Mesosphere) & Frank Scholten (Senior Software Engineer, R&D in the Docker, Mesos and Programmable Infrastructure ecosystem at Container-Solutions. @Container Solutions)
Toutes les vidéos des conférences seront disponibles sur Xebia.tv
JavaScript news, February '17 edition: Image manipulating in pure JS, ES7 and ES8 Features, Gradient Animations made easy, NativeScript v.2.5 release, Electron, project of the Week: Beaker Browser, V8 Release 5.7, Twitter goes Node.js, JavaScript in 2017 – Beyond the Browser, Building cli applications (cli) with node.js, JS surprise from MicroSoft, WebAssembly API MVP is complete
Cloud-Native: A New Ecosystem for Putting Containers into ProductionGordon Haff
Updated version for CloudExpo 2019
The standardization of container runtimes and images has sparked the creation of an almost overwhelming number of new open source projects that build on and otherwise work with these specifications.
Of course, there's Kubernetes, which orchestrates and manages collections of containers. It was one of the first and best-known examples of projects that make containers truly useful for production use. However, more recently, the container ecosystem has truly exploded. A service mesh like Istio addresses many of the challenges faced by developers and operators as monolithic applications transition towards a distributed microservice architecture. A tracing tool like Jaeger analyzes what's happening as a transaction moves through a distributed system. Monitoring software like Prometheus captures time-series events for real-time alerting and other uses. Grafeas and Kritis provide security policy attestation and enforcement. And there are many more.
In short, there's an entire new cloud-native ecosystem growing up around containers. Come to this talk by Red Hat technology evangelist Gordon Haff and learn all about it.
JavaScript Digest (January 2017)
Agenda:
Opera Neon
Rax - react native from alibaba
New Safari
Inferno Hits 1.0
WordPress REST API
WebGL 2 lands in Firefox, Opera and Chrome
Improved search at NPM CLI
Microsoft Edge Updates
webpack 2.2: The Final Release
Announcing Ionic 2.0.0 Final
Mithril 1.0.0
REMOTE-CONTROLLED MONSTER DRIFT
Making Service Deployments to AWS a breeze with NovaGregor Heine
As we rolled out our micro-service architecture at Gilt, we made an explicit decision to leverage phased rollouts with dark canary, canary and auto-scaled clusters. We chose to use the fundamental building blocks of AWS - ELBs, Auto Scaling Groups, tiny EC2 instances, CloudWatch, CodeDeploy and CloudFormation. However, we found that managing and configuring many of these moving parts via Cloudformation templates to be a repetitive and error prone task.
Introducing Nova, a tool that leverages the powers of Docker, and the AWS toolchain to deploy microservices, while reducing the underlying complexities and and breaking them into reusable components. We'll look at how Nova helps to set up and configure different service stacks and their resources, manage phased deployments into these stacks, collect service logs via cloudwatch and securely store application secrets using KMS.
Instant developer onboarding with self contained repositoriesYshay Yaacobi
Slide from my talk on "Instant developer onboarding with self-contained repositories".
https://sched.co/l9yG
Code examples on:
https://github.com/Yshayy/self-contained-repositories
Conference Recordings will be added once it will be public
Essa palestra tem como objetivo apresentar alguns conceitos de microserviços relacionados a dados. Apresentar a dualidade entre Stream e Tabelas, conceitos e patterns de processamento de Streams bem como exemplos de código utilizando o Kafka Streams.
This is an introduction to Kotlin Coroutines and How we can use it in Android. I have tried cover all the basic stuff of coroutine and also added a comparison of thread and coroutine. Github sample project link: https://github.com/bipinvaylu/kotlin-coroutines
Slides with speaker contents: https://docs.google.com/presentation/d/1Wn9ImL9meON2Ohg7pPVYCXKNezilJyX6ewDWU3ljrwE/edit?usp=sharing
This is part of the Docker Series Course that I am presenting, the videos of which with practical example will be available soon.
Part 1:- Docker Concepts - Orientation
Part 2:- Docker Concepts - Edition
Part 3:- Docker Concepts - Kitematic
Part 4:- Docker Concepts - Docker Machine
Part 5:- Docker Concepts - Docker Compose
Part 6:- Docker Toolbox - Mac
Part 7:- Docker Toolbox - Windows
Part 8:- Docker Engine Installation - Mac
Part 9:- Docker Engine Installation - Windows
Part 10:- Docker Engine Installation - Linux
Part 11:- Docker Machine Installation - Mac
Part 12:- Docker Machine Installation - Windows
Part 13:- Docker getting Started -Pre-requisites
Part 14:-Docker on the Cloud - AWS
Part 15:- Docker on the Cloud - Azure
Part 16:- Running Containers
Part 17:- Running Multiple Containers
Part 18:- Getting Inside Containers
Part 19:- Containers and Images
Part 20:- Building an Application:Docker Build
Part 21:- Building an Application:Docker File
Part 22:- Docker Swarms
Part 23:- Docker Stacks
Part 24:- Docker Overview
Part 25:- Docker Networks
Part 26:- Docker Networks-Bridge
Part 27:- Docker Networks-Host
Part 28:- Docker Networks-Overlay
Part 29:- Docker Networks-Macvlan
Part 30:- Docker Networks-Advanced Container Networking
Part 31:- Docker Storage:- Volumes
Part 32:- Docker Storage:- Bind Mounts
Part 33:- Docker Storage:- temps mounts
Part 34:- Docker Storage:- Storage within Containers
Kotlin Coroutines and Android sitting in a treeKai Koenig
Since the release of Kotlin 1.1 there is now the new language feature of Kotlin Coroutines available for use in Java and Android projects. Coroutines are a new way to write asynchronous and non-blocking code. They can be thought of as light-weight threads without having to deal with all the problems that threads bring to the table.
A lot of developers think that Kotlin Coroutines are mainly or only useful for Kotlin on the JVM, but that’s not true. There are a variety of use cases in which the application of Coroutines can make a lot of sense on Android.
This talk is introducing the ideas behind Kotlin Coroutines, showing how to use them in Kotlin code for both the JVM and Android via the kotlinx-coroutines APIs and then exploring specific applications in Android. Part of this is a deeper look into the use of Coroutines in higher-level frameworks such as AsyncAwait and Anko.
Quick introduction about Node.js, what is it? What is Node not?
What is V8 engine?
How to Install Node.js
github: https://github.com/elbassel/MEAN-Training.git
In this session Philip Norman and Frank Scholten will show you how to CI/CD with minimesos and DC/OS. After a quick introduction you can follow along on your laptop with an example of running, testing and deploying an application from minimesos to DC/OS.
Par Philip Norman (@Mesosphere) & Frank Scholten (Senior Software Engineer, R&D in the Docker, Mesos and Programmable Infrastructure ecosystem at Container-Solutions. @Container Solutions)
Toutes les vidéos des conférences seront disponibles sur Xebia.tv
JavaScript news, February '17 edition: Image manipulating in pure JS, ES7 and ES8 Features, Gradient Animations made easy, NativeScript v.2.5 release, Electron, project of the Week: Beaker Browser, V8 Release 5.7, Twitter goes Node.js, JavaScript in 2017 – Beyond the Browser, Building cli applications (cli) with node.js, JS surprise from MicroSoft, WebAssembly API MVP is complete
Cloud-Native: A New Ecosystem for Putting Containers into ProductionGordon Haff
Updated version for CloudExpo 2019
The standardization of container runtimes and images has sparked the creation of an almost overwhelming number of new open source projects that build on and otherwise work with these specifications.
Of course, there's Kubernetes, which orchestrates and manages collections of containers. It was one of the first and best-known examples of projects that make containers truly useful for production use. However, more recently, the container ecosystem has truly exploded. A service mesh like Istio addresses many of the challenges faced by developers and operators as monolithic applications transition towards a distributed microservice architecture. A tracing tool like Jaeger analyzes what's happening as a transaction moves through a distributed system. Monitoring software like Prometheus captures time-series events for real-time alerting and other uses. Grafeas and Kritis provide security policy attestation and enforcement. And there are many more.
In short, there's an entire new cloud-native ecosystem growing up around containers. Come to this talk by Red Hat technology evangelist Gordon Haff and learn all about it.
JavaScript Digest (January 2017)
Agenda:
Opera Neon
Rax - react native from alibaba
New Safari
Inferno Hits 1.0
WordPress REST API
WebGL 2 lands in Firefox, Opera and Chrome
Improved search at NPM CLI
Microsoft Edge Updates
webpack 2.2: The Final Release
Announcing Ionic 2.0.0 Final
Mithril 1.0.0
REMOTE-CONTROLLED MONSTER DRIFT
Making Service Deployments to AWS a breeze with NovaGregor Heine
As we rolled out our micro-service architecture at Gilt, we made an explicit decision to leverage phased rollouts with dark canary, canary and auto-scaled clusters. We chose to use the fundamental building blocks of AWS - ELBs, Auto Scaling Groups, tiny EC2 instances, CloudWatch, CodeDeploy and CloudFormation. However, we found that managing and configuring many of these moving parts via Cloudformation templates to be a repetitive and error prone task.
Introducing Nova, a tool that leverages the powers of Docker, and the AWS toolchain to deploy microservices, while reducing the underlying complexities and and breaking them into reusable components. We'll look at how Nova helps to set up and configure different service stacks and their resources, manage phased deployments into these stacks, collect service logs via cloudwatch and securely store application secrets using KMS.
Instant developer onboarding with self contained repositoriesYshay Yaacobi
Slide from my talk on "Instant developer onboarding with self-contained repositories".
https://sched.co/l9yG
Code examples on:
https://github.com/Yshayy/self-contained-repositories
Conference Recordings will be added once it will be public
Essa palestra tem como objetivo apresentar alguns conceitos de microserviços relacionados a dados. Apresentar a dualidade entre Stream e Tabelas, conceitos e patterns de processamento de Streams bem como exemplos de código utilizando o Kafka Streams.
This is an introduction to Kotlin Coroutines and How we can use it in Android. I have tried cover all the basic stuff of coroutine and also added a comparison of thread and coroutine. Github sample project link: https://github.com/bipinvaylu/kotlin-coroutines
Slides with speaker contents: https://docs.google.com/presentation/d/1Wn9ImL9meON2Ohg7pPVYCXKNezilJyX6ewDWU3ljrwE/edit?usp=sharing
This is part of the Docker Series Course that I am presenting, the videos of which with practical example will be available soon.
Part 1:- Docker Concepts - Orientation
Part 2:- Docker Concepts - Edition
Part 3:- Docker Concepts - Kitematic
Part 4:- Docker Concepts - Docker Machine
Part 5:- Docker Concepts - Docker Compose
Part 6:- Docker Toolbox - Mac
Part 7:- Docker Toolbox - Windows
Part 8:- Docker Engine Installation - Mac
Part 9:- Docker Engine Installation - Windows
Part 10:- Docker Engine Installation - Linux
Part 11:- Docker Machine Installation - Mac
Part 12:- Docker Machine Installation - Windows
Part 13:- Docker getting Started -Pre-requisites
Part 14:-Docker on the Cloud - AWS
Part 15:- Docker on the Cloud - Azure
Part 16:- Running Containers
Part 17:- Running Multiple Containers
Part 18:- Getting Inside Containers
Part 19:- Containers and Images
Part 20:- Building an Application:Docker Build
Part 21:- Building an Application:Docker File
Part 22:- Docker Swarms
Part 23:- Docker Stacks
Part 24:- Docker Overview
Part 25:- Docker Networks
Part 26:- Docker Networks-Bridge
Part 27:- Docker Networks-Host
Part 28:- Docker Networks-Overlay
Part 29:- Docker Networks-Macvlan
Part 30:- Docker Networks-Advanced Container Networking
Part 31:- Docker Storage:- Volumes
Part 32:- Docker Storage:- Bind Mounts
Part 33:- Docker Storage:- temps mounts
Part 34:- Docker Storage:- Storage within Containers
Kotlin Coroutines and Android sitting in a treeKai Koenig
Since the release of Kotlin 1.1 there is now the new language feature of Kotlin Coroutines available for use in Java and Android projects. Coroutines are a new way to write asynchronous and non-blocking code. They can be thought of as light-weight threads without having to deal with all the problems that threads bring to the table.
A lot of developers think that Kotlin Coroutines are mainly or only useful for Kotlin on the JVM, but that’s not true. There are a variety of use cases in which the application of Coroutines can make a lot of sense on Android.
This talk is introducing the ideas behind Kotlin Coroutines, showing how to use them in Kotlin code for both the JVM and Android via the kotlinx-coroutines APIs and then exploring specific applications in Android. Part of this is a deeper look into the use of Coroutines in higher-level frameworks such as AsyncAwait and Anko.
Quick introduction about Node.js, what is it? What is Node not?
What is V8 engine?
How to Install Node.js
github: https://github.com/elbassel/MEAN-Training.git
Madrid JUG Conferences, Apr 2013.
Development of mobile applications has became complex, and Companies need teams with specialists in very different platforms. With GWT + Apache Cordova, you can develop reliable applications using a unique code base written in java.
1> What is node
2> What is node.js
3> Installation steps
4> Create first Node application
5> How it works ?
6> Why node is so popular ?
7> Where to use ?
8> Advantages
9> Disadvantages
10> Statistics
Node Js Non-blocking or asynchronous Blocking or synchronous.pdfDarshanaMallick
Node.js is a server-side scripting language based on Google’s V8 Javascript engine. Node js is a single-threaded and highly scalable system. Instead of separate processes and threads, it uses asynchronous, event-driven I/O operations. So It can achieve high output via single-threaded event loop and non-blocking I/O.
Table of Contents
Node.js: Why and Where to Use It?
How to Run Code in Node.js?
Why Node Js is single-threaded?
What is Non-blocking or asynchronous?
What is Blocking or synchronous?
What is IO?
Blocking vs Non Blocking NodeJS
Blocking or Non-blocking in Node.js: Which is Faster?
Dangers of Mixing Blocking and Non-Blocking Code
How can We Convert Blocking Code to Non-blocking Code?
Pros and Cons of Non Blocking IO Node.js
Is it possible to use asynchronous architecture?
Node.js: Why and Where to Use It?
Node.js has gained immense popularity in recent years due to its unique features and capabilities. It is a powerful JavaScript runtime built on Chrome’s V8 JavaScript engine, which enables developers to build scalable and high-performance applications. In this article, we will explore the reasons why you should consider using Node.js and where it can be most beneficial.
Why to Use Node.js?
Efficient and Scalable:
Node.js is known for its efficiency and scalability, making it an excellent choice for developing applications that can handle a large number of concurrent connections. It uses an event-driven, non-blocking I/O model, allowing it to handle multiple requests without getting blocked, unlike traditional blocking I/O models used in other languages. This makes Node.js ideal for applications that require real-time interactions, such as chat applications, collaborative tools, and gaming platforms.
Single Language, Full Stack:
One significant advantage of Node.js is that it enables developers to use JavaScript both on the server and the client side. This means that you can have a seamless development experience, using the same language and libraries throughout the entire stack. This consistency reduces the complexity of development and eases the transition between front-end and back-end development tasks. It also enables the reuse of code and modules, resulting in faster development cycles and increased productivity.
Large and Active Community:
Node.js has a vibrant and extensive community of developers, which means you can easily find support, libraries, and resources to help you in your Node.js development journey. The community actively contributes to the Node Package Manager (NPM), which hosts a vast collection of open-source packages that can be easily integrated into your projects. With a rich ecosystem and continuous community-driven enhancements, Node.js ensures that you can find solutions to most of your development challenges.
Where to Use Node.js?
High Performance:
Node.js’s event-driven, non-blocking architecture allows it to handle a large number of concurrent connections efficiently. This, coupled with its ability
Node.js Native AddOns from zero to hero - Nicola Del Gobbo - Codemotion Rome ...Codemotion
This talk is about creating Node.js interfaces for native libraries written in C or C++. It starts with various situations in which you need to build native addons and the common problems in doing that. I'll discuss the reference provided by the new N-API (Node-API) that helps mantainers to support a wide variety of Node.js releases without needing recompilation or abstraction layers. With all these tools and knowledge I'll show you how to build some addons from scratch and how to convert existing addons using the new N-API. The last part is related to future developments about addons.
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...mfrancis
OSGi Community Event 2018 Presentation by Mark Hoffmann (Data In Motion)
Abstract: This talk will show you how the EMF framework can be used in pure OSGi environments other than Equinox. We will introduce you into free configurable ResourceSets and the principle of a ResourceSetFactory. This enables your application to have multiple tenants with different model visibillity. The profit of OSGi services provides a behavior where even models can come and go all the time.
We will also give you look inside, how easy it is to extend the default code generation process of EMF to generate OSGi service component that handle the model registration in an OSGi way.
OSGi Community Event 2018 Presentation by BJ Hargrave (IBM)
Abstract: Java 9 introduced the Java Platform Module System (JPMS) as a way to modularize the Java platform and it can be also be used by developers to modularize their own applications, although JPMS lack a number of important features for software running on the Java platform.
As people look to support the latest versions of the Java platform, changes introduced in Java 9 related to JPMS led to the needs for some features in the OSGi Core specification. OSGi framework implementations like Eclipse Equinox and Apache Felix and tools like Bnd were updated to support these new features.
This session will explore the Java 9+ support added to OSGi Core R7 and Bnd and help you learn how to navigate the world of Java 9+ and OSGi.
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)mfrancis
OSGi Community Event 2018 Presentation by Paul Fraser (A2Z Living)
Abstract: This talk will demonstrate how easy it is to create great web user interfaces using the OSGi Service registry and Declarative Services.
OSGi has developed to the point that much can be achieved with much reduced code complexity. Forget all the past OSGi techniques and see how it can be done now.
A short introduction will introduce OSGi in general and even if beginners do not fully understand the finer details of the talk, they will be amazed at what can be achieved using the OSGi service registry.
Do not be frightened by the terminology, come along and experience the magic of OSGi modularity.
User interfaces do not seem to get much attention in the OSGi community, it is time for a change.
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruumfrancis
OSGi Community Event 2018 Presentation by Frank Lyaruu
Abstract: OSGi offers an excellent service discovery mechanism, it is limited to services inside the JVM. That limits us in two ways: It limits us to Java services, and it limits us to one single machine, and neither are acceptable in this day and age. Can we connect our OSGi runtime to a cluster orchestration manager like Kubernetes so our runtime can interact with the cluster and allow us to respond to changes in the cluster as dynamically as we are used to in OSGi itself. I think we can.
Notes:
I will show how to discover Kubernetes services (and their pods) in a cluster, and inject those as configuration objects into an OSGi runtime. That allows us to monitor the Kubernetes cluster and dynamically have our OSGi services respond to (Kubernetes) service changes.
In general I hope to nudge the OSGi community to be more focused on connecting to other technologies rather than trying to stay in the OSGi walled garden. A well engineered OSGi application is perfectly suited to the dynamic nature of the cloud native world, but if we can't easily integrate with other services, well, nobody will care.
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...mfrancis
OSGi Community Event 2018 Presentation by Tim Verbelen (imec) & Jan S. Rellermeyer (TU Delft)
Abstract: With the proliferation of cloud computing and more recently mobile and edge computing, there is a increasing demand to build flexible and robust distributed applications. The OSGi service and module technology is a key enabler for such deployment. Recent additions to the OSGi standards provide a set of services that provide interfaces for managing distributed instances of OSGi frameworks. The REST Service (added in R6 compendium) offers an easy and language-independent way to manage bundes and introspect services from outside the network. The Cluster Information specifications (added in R7 compendium) provide means for applications to manage and monitor the deployment intrinsically, building on top of the Remote Service specifications. In the Eclipse Concierge project, we have provided the reference implementations of both specifications. In this talk, we will show how the services can be used to build distributed applications that benefit from the OSGi modularity.
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...mfrancis
OSGi Community Event 2018 Presentation by Udo Hafermann (Software AG)
Abstract: In this talk we will share our experiences in developing a tool chain from classes, to bundles, to containers, to systems.
OSGi and Docker come together in a compelling way where the former provides modularity "in the small" and the latter "modularity in the large". We discover how the unique characteristics of OSGi enable a smooth transition from small to large.
The resulting environment enables developers to grow distributed systems on their local machine and test them with plain JUnit at all levels of granularity - classes to systems. During development OSGi enables the tool chain to update the system without container rebuilds.
While an increase in productivity is one benefit of such an environment, an arguably more important benefit is the way it empowers developers to gain new insights.
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...mfrancis
OSGi Community Event 2018 Presentation by Jurgen Albert (Data In Motion Consulting GmbH)
Abstract: OSGi is often conceived as a tool to write efficient Java Applications for resource limited Devices or If resources are a real issue in complex applications. On the other hand Microservices became the buzzword of the cloud and is often implemented using Spring or other Programming languages. OSGi carries the concept of microservices in its core and is therefore much better suited to the task then most other approaches. This talk will show you how a service can be built with a real-worldish use case, leveraging the power of OSGi R7. It will show the combined usage of PushsStreams, the JaxRS Whiteboard, the configurator, remote deployment and a lot of the other cool things OSGi has to offer.
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)mfrancis
OSGi Community Event 2018 Presentation by David Bosschaert (Adobe)
Abstract: OSGi lends itself well to develop extensible applications assembled from reusable modules, where a set of bundles together with a set of configurations deployed to a provisioned OSGi framework is the application.
While this works very well for the originally intended use-cases, maintaining and building large applications developed by multiple teams often requires to assemble multiple larger components for which there is limited support in OSGi as of today. This is especially true in cases where multiple groups of bundles, configuration, metadata, and other artifacts need to be combined.
In this talk we will introduce you to OSGi RFP-188, named OSGi Features, which defines the requirements on providing a solution. We'll establish a shared understanding of the problem space and how it relates to already available mechanisms in OSGi (like e.g. subsystems, deploymentadmin, startlevels, etc.) and will subsequently, review it in the context of some of the current (open source) solutions like Apache Karaf Features and Apache Sling Features and Bnd.
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...mfrancis
OSGi Community Event 2018 Presentation by Amit Kumar Mondal (Deutsche Telekom AG) & Jochen Hiller (Deutsche Telekom AG)
Abstract: QIVICON is an Eclipse SmartHome based solution from Deutsche Telekom AG. It utilises OSGi to provide a modular Java runtime.
Since the beginning, QIVICON leveraged Eclipse PDE with Maven & Eclipse Tycho as its build technology but over the time, the complexity increased. It became hard to get an overview and manage the runtime and build dependencies. Especially maintaining target configurations for IDE and CI/CD build, having different embedded gateways for installation increased complexity significantly.
Bndtools is the 'swiss army knife' in the context of OSGi development since it takes the nitty-gritty pains and loads off the developer's chest. And that's why we decided to avail the benefits of Bndtools.
But, many other OSGi-based projects still cannot avail the benefits as they are very tightly coupled with Eclipse PDE. Want to make a switch from your existing PDE source base to Bndtools? This talk would give you an overview to proceed towards this.
We would like to further demonstrate in this talk how to set up a Bndtools workspace from an existing PDE workspace, convert all current projects to Bnd projects and embrace the OSGi-way of developing bundles.
Since QIVICON containing more than 350 projects utilised this solution to move to a higher modularity maturity level, this talk would, therefore, outline the pros, cons and the learnings using Bndtools in such a big OSGi project for embedded development.
OSGi CDI Integration Specification - Ray Augé (Liferay)mfrancis
OSGi Community Event 2018 Presentation by Ray Augé (Liferay)
Abstract: This talk discusses the upcoming OSGi CDI Integration Specification and demonstrates common usage patterns and its component model that brings OSGi dynamics; like services and configuration, to CDI and provides for an ecosystem of CDI portable extentions.
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...mfrancis
OSGi Community Event 2018 Presentation by Jörn Tümmler (SMA Solar Technology)
Abstract: SMA is a leading global specialist in photovoltaic system technology with more than 3,000 SMA employees in 20 countries.
In 2015 SMA decided to develop the ennexOS platform - a cross-sector platform for holistic, intelligent energy management. An important part of this platform is the data-manager - an IoT gateway that acquires information from various energy generators, storages and loads and performs commissioning and management tasks.
This new generation of data-managers demanded for new approaches in software-architecture to:
run on a broad range of hardware platforms, and
be extendible e.g. to support different protocols for easy integration, and
to enable a broad range of applications in the energy-management field that may be customized by apps installed during runtime
After an exhaustive investigation on existing solutions, OSGi was chosen as the key technology for this new generation of devices - a quite challenging decision, because at this point there was only limited experience in Java and OSGi development in the company.
This talk will present the key factors that lead to this decision, how we very carefully build up Java and OSGi knowledge, and started with an initial design. OSGi enRoute and the support of OSGi experts helped us to accelerate our development and become familiar with OSGi - although we also had times when we were struggling because of the new technology.
The talk will demonstrate what we have reached until now and we will tell you if OSGi has kept it's promise ...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...mfrancis
OSGi Community Event 2018 Presentation by Lukasz Dywicki (Code-House)
Abstract: During this short presentation I will revisit existing mechanisms and approach towards OSGi and JEE development. I will show how many manual steps can be avoided and how to maintain project in effective manner. I will try to find a balance between execution environment requirements and programmer happines at same time.
I believe that OSGi and Eclipse ecosystem experience troubles gaining people from outside for few reasons. Beside overall impression of OSGi complexity there is equally old and invalid complain about quaility of developer tooling. Since invention of BND development experience can be really pleasant and independent of text editor/IDE preferences. Sadly lots of people still rely on former experiences spreading black/bad PR. I would like to clarify their point.
After this presentation attendees will learn:
How to use Maven to build OSGi projects (without Tycho).
How to automate manual tasks.
How to build custom software distributions with Maven artifacts and run it with Apache Karaf.
That OSGi development doesn't differ much from regular day-to-day usage of application servers or microservice runtimes.
This talk is intended for people who know basics of OSGi as it will show few basic technics towards better developer productivity.
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...mfrancis
OSGi Community Event 2018 Presentation by Christer Larsson (Makewave)
Abstract: OSGi was originally designed for Smart Homes and Residential Gateways almost 20 years ago.
This talk will present how the OSGi specifications have evolved over the years, and how you today, in 2018, design an OSGi based Smart Home System.
A real world use case of a Swedish Smart Home start-up company will be used to illustrate different design principles and how OSGi remains as relevant today as it was when it started.
Popular patterns revisited on OSGi - Christian Schneider (Adobe)mfrancis
OSGi Community Event 2018 Presentation by Christian Schneider (Adobe)
Abstract: We will look at common cloud and design patterns and see how the special properties of the OSGi environment allows us to rethink these patterns. The talk shows some well known patterns like the service registry and the whiteboard but also some unique patterns like out of band circuit breaker or graceful degregation.
The patterns are shown with some examples using declarative services(DS). So some basic OSGi and DS knowledge is of advantage but not required.
For OSGi beginners the well established OSGi patterns will help getting started the right way. Experienced OSGi developers will find some new patterns to think about. Cloud or enterprise developers will get a new approach to some patterns they are used to which hopefully inspires them to take another look at the current state of OSGi.
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)mfrancis
OSGi Community Event 2018 Presentation by BJ Hargrave (IBM)
Abstract: OSGi Compendium R7 provides a major update to the OSGi LogService specification. A new logging API is added which supports logging levels and dynamic logging administration. A new Push Stream-based means of receiving log entries is also added. But it is quite often the case you need to use other code such as open source projects which are using slf4j for their logging API. This session will explore the new OSGi LogService changes and how you can integrate code using both slf4j logging and OSGi LogService logging.
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)mfrancis
OSGi Community Event 2018 Presentation by Tim Verbelen (imec)
Abstract: Nowadays AI is reaching new heights on the hype cycle, especially due to recent advances in deep learning techniques. A lot of deep learning frameworks exist for creating and training deep neural networks, the most popular ones being PyTorch and TensorFlow. However, how to integrate, deploy and manage these neural networks in complex software systems is often overlooked. In this talk we show how OSGi can be used as a modular runtime for deep learning models. We embed those models inside OSGi bundles, and use the extender pattern to make these available as OSGi services. You can then use your favorite OSGi specs such as DS and PushStreams to integrate these into your application.
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...mfrancis
OSGi Community Event 2018 Presentation by Tony Walsh (ESA) & Hristo Indzhov (Telespazio Vega)
Abstract: The European Space Operations Centre (ESOC) is the main operations center for the European Space Agency (ESA), operating a number of earth observation and scientific missions. Monitoring and control functions needed by spacecraft operators are provided by software systems which are reused across missions, but tailored and extended for mission specific needs. The current generation of monitoring and control systems are becoming obsolete and a European wide initiative called the European Ground Systems Common Core (EGS-CC) (http://www.egscc.esa.int) has been started to develop the next generation.
This talk will explain why OSGi was chosen and how it is used in the development of next generation of monitoring and control software. It will describe how OSGi provides the necessary framework that enables the software to be extended for the different space systems it is expected to support. The overall software architecture will be discussed, some of the challenges faced and the benefits gained by using OSGi. The first target mission for the system is JUICE (http://sci.esa.int/juice) which will explore the moons of Jupiter and which is scheduled for launch in 2022.
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)mfrancis
OSGi Community Event 2018 Presentation by Ray Augé (Liferay)
Abstract: The craze is fully on. The past couple of years have seem micro services grow from next _flava_ to fully consuming of the software industry. The Eclipse micorprofile.io project is tackling the issue putting common usage patterns together over a foundation of CDI. What better assembly driver is there than OSGi to put it all together. This talk will demonstrate building your own MicroProfile using OSGi and the OSGi enRoute packaging model.
How to connect your OSGi application - Dirk Fauth (Bosch)mfrancis
OSGi Community Event 2018 Presentation by Dirk Fauth (Bosch)
Abstract: In todays connected world the requirement to connect applications across network boundaries has become a common requirement. With OSGi there are several ways to accomplish this, as there are different specifications to achieve this. In this talk we will look at some of these specifications to show what options there are and which might fit your requirements. Starting from an architecture that makes use of the HTTP Whiteboard pattern, over Remote Services to finally showing the usage of the JAX-RS Whiteboard specification introduced with R7. We will show the general usage of these specifications and explaining the advantages and disadvantages of each solution.
Visualization of OSGi based Software Architectures in Virtual Reality - Lisa ...mfrancis
OSGi Community Event 2018 Presentation by Lisa Nafeie (DLR)
Abstract: Classic software architecture visualizations such as UML diagrams are widely used in practice but are not always the best solution, for example to get an high level overview of large component-based software systems. In this talk, we show other suitable technologies for software visualization to understand complex software architectures. Especially, we show how to visualize OSGi based software architectures in Virtual Reality (VR) using VR headsets.
We address the question, how software visualizing can help during the development process and what are the resulting benefits for developers and software testers. We focus on four aspects: Development, evaluation, quality assurance, and visualization technology. We demonstrate software visualization using the software ”IslandViz”, which visualizes OSGi based software systems using an island metaphor, where islands on a virtual water level represents OSGi bundles, regions on the islands represents packages, and buildings represents classes. We describe how to get all relevant data for the visualization by repository mining on the whole source tree and data mining on source code level. We store all data in a graph database for further analysis and visualization.
Through software visualization we were able to answer many important questions, which have already taken a lot of time in development and test-phases. In addition, it’s very important to make the software architecture tangible, which makes it easier way to talk about technical problems in teams formed by people with different knowledge, communications skills, and backgrounds.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackson (Myriad)
1. Prototyping IoT systems with a
hybrid OSGi/Node-RED platform
Bruce Jackson - CTO
Thingstream.io
2. The problem
• OSGi is a widely used platform in IoT edge devices
‣ supported by multiple device vendors
‣ many reliable components have been developed for integration into
northbound (enterprise) and southbound protocols/devices/etc
‣ not easy to rapidly prototype without writing code
‣ runs on the JVM
• Node-red is a ‘code free’ programming environment for IoT that is very
popular for prototyping
‣ easy and quick
‣ many components for common southbound protocols/devices/etc
‣ based on Node.js (V8 + Javascript)
4. How to combine these two different solutions?
• Both systems have their advantages, but use very different technologies
• However - there was a possible solution:
‣ J2V8 - an Eclipsesource project that: “We developed ... as a high performance
engine for our multi-platform mobile toolkit tabris.js and it is a great choice for
executing JavaScript on Android devices”
• An initial test showed that it was possible to use J2V8 to create and run
the Node-red environment from Java
‣ turning that into an OSGi bundle wasn’t hard
‣ for our purposes, additional V8 runtime and native bindings needed
‣ bridging code and interfaces to map OSGi components onto the Node-red
lifecycle required
5. How does J2V8 work?
Export and import values
between domains:
• Objects, values
Register and call functions
across domains:
• callback functions from Java to
Javascript
• execute functions defined in
Javascript
6. Mapping service interfaces to Node-red
To allow OSGi components to appear as Node-red nodes, they need to
implement a suitable lifecycle service interface - NodeComponent:
public void onCreate(String nodeId, JsonNode config);
public void onClose(String nodeId);
public JsonNode[] onMessage(String nodeId, JsonNode msg);
Note also the use of Jackson classes to transfer Javascript objects between
domains
7. Demonstration
• A simple node component
‣ 1 in and 1 out
‣ simple configuration for all instances
• A more complex example using Paho MQTT client
‣ wrapping an existing library in a NodeComponent
‣ multiple configurations
‣ message creation
8. Can this work the other way around?
• This example shows how OSGi services can be exported into a javascript
runtime and work together
‣ although the Javascript runtime is created via OSGi, Node-red is “the boss”
‣ OSGi components play into the Node-red world
• Can this work in reverse - with Javascript components in the OSGi world?
• Javascript components for OSGi
‣ modularise Javascript runtime as a service (so you can implement via J2V8 or
GraalVM)
‣ create component pattern for Javascript
9. Demonstration
• A simple component model for Javascript components in the OSGi world
• Javascript component registry
‣ JS components managed via a registry bundle that creates dynamic proxies
over the service interface(s) they implement
‣ marshalls calls between environments
‣ exports OSGi services to the Javascript runtime through reflective call creation
on Javascript objects
‣ processes bundle metadata
10. References and contacts
OSGi: https://www.osgi.org/
Node-red: https://nodered.org/
J2V8: https://github.com/eclipsesource/J2V8
Node-red-osgi: https://github.com/brucej72/node-red-osgi
Bruce Jackson: bruce.jackson@thingstream.io