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.
OSMC 2021 | Robotmk: You don’t run IT – you deliver services!NETWAYS
Business applications have to be available, performant and functioning. Full stop. Even with thousands of infrastructure monitoring checks, you won’t be able to even begin to monitor the end-user’s perspective. The fact is: you monitor your IT, but you can only hope that your services will work. Time to change that. Time to use a framework. Time to use Robot Framework. My presentation will show you the demand for End2End-Monitoring and why Robot Framework is an excellent choice for automated application tests. You will also get to know Robotmk, the link between Robot Framework and Checkmk. It dovetails both tools extremely closely and gives your infrastructure monitoring a holistic approach. It is used by companies of diverse branches, as well as by authorities and governments. And once you have discovered the KubernetesLibrary, DataDriver, RequestsLibrary and all the many more libraries, you will not want to put Robot Framework down again. But that’s another story…
Kubernetes ecosystem is seeing adoption across the industry and is on the path to becoming the de-facto orchestration platform on modern cloud service delivery. Kubernetes not only provides primitives for deploying run microservices in the cloud but goes one step further and helps you define interactions and lifecycle for your APIs. The Ingress API in Kubernetes allows you to expose your microservice to the outside world and define routing policies for your north-south traffic (or traffic coming into your virtual data center).
We invite Harry Bagdi, Sr. Cloud to discuss in-depth about the design and why of Ingress resource, the benefits of using Ingress to manage your API lifecycle using CI/CD pipelines, and how you can accomplish Ingress using a popular open-source solution, Kong. Kong’s Ingress Controller implements authentication, load-balancing, traffic throttling, transformations, caching, metrics, and logging across Kubernetes clusters.
A brief presentation I gave at the Apache Drill hackathon in which I demonstrated plugins for Drill that enabled Drill to query Blockchain and XML as well as a few user defined functions.
OSMC 2021 | Robotmk: You don’t run IT – you deliver services!NETWAYS
Business applications have to be available, performant and functioning. Full stop. Even with thousands of infrastructure monitoring checks, you won’t be able to even begin to monitor the end-user’s perspective. The fact is: you monitor your IT, but you can only hope that your services will work. Time to change that. Time to use a framework. Time to use Robot Framework. My presentation will show you the demand for End2End-Monitoring and why Robot Framework is an excellent choice for automated application tests. You will also get to know Robotmk, the link between Robot Framework and Checkmk. It dovetails both tools extremely closely and gives your infrastructure monitoring a holistic approach. It is used by companies of diverse branches, as well as by authorities and governments. And once you have discovered the KubernetesLibrary, DataDriver, RequestsLibrary and all the many more libraries, you will not want to put Robot Framework down again. But that’s another story…
Kubernetes ecosystem is seeing adoption across the industry and is on the path to becoming the de-facto orchestration platform on modern cloud service delivery. Kubernetes not only provides primitives for deploying run microservices in the cloud but goes one step further and helps you define interactions and lifecycle for your APIs. The Ingress API in Kubernetes allows you to expose your microservice to the outside world and define routing policies for your north-south traffic (or traffic coming into your virtual data center).
We invite Harry Bagdi, Sr. Cloud to discuss in-depth about the design and why of Ingress resource, the benefits of using Ingress to manage your API lifecycle using CI/CD pipelines, and how you can accomplish Ingress using a popular open-source solution, Kong. Kong’s Ingress Controller implements authentication, load-balancing, traffic throttling, transformations, caching, metrics, and logging across Kubernetes clusters.
A brief presentation I gave at the Apache Drill hackathon in which I demonstrated plugins for Drill that enabled Drill to query Blockchain and XML as well as a few user defined functions.
(ATS4-DEV05) Pipeline Pilot 9.0 Advanced Protocol Development TopicsBIOVIA
There are many new features and enhancements in Pipeline Pilot 9.0 targeting advanced protocol developers. This session will cover new HashTable values, parameter and property Meta-data, LinkType parameters and other client and PilotScript enhancements.
Flink Forward Berlin 2017: Dominik Bruhn - Deploying Flink Jobs as Docker Con...Flink Forward
This talk will focus on how to package, distribute and deploy Flink Jobs by leveraging existing docker technology: Previously deploying of Flink Jobs has been a manual job which leads into errors. In this talk, we present an approach which works well in an CI/CD environment by automating most steps: From the code of a Flink Job in a repository to a running Job on an YARN cluster.
OSMC 2021 | Thola – A tool for monitoring and provisioning network devicesNETWAYS
Thola is a new open source tool for reading, monitoring and provisioning network devices written in Go. This talk will inform about the current state of development as well as planned features, including reading out inventory, configuring network devices, support for other monitoring systems like Prometheus and many more. It serves as a unified interface for communication with network devices and features a check mode which complies with the monitoring plugins development guidelines and is therefore compatible with Nagios, Icinga, Zabbix, Checkmk, etc.
A completely native Accumulo connector was developed from 2012-2014 called Sharkbite. During this time, many native functions were built into a C++ client that avoided issues with the proxy and connects directly to internal services, effectively providing access to data without the need for a proxy or JAVA client. In this presentation we'll dive into the design of this C++ client and accessing it from multiple language connectors without the overhead of establishing one or more proxies. We'll close with performance evaluations of the JAVA client, proxied client, and the Accumulo connector.
A method of communicating between two devices
A software function provided at a network address over the web with the service always on
It has an interface described in a machine-processable format
http://www.qualitestgroup.com/
Git provide Distributed version control. Who is the user? Anyone want to truck hi note. Review history log changes. View difference between two versions.
Developed for the University of Denver this presentation covers some of the most fundamental, yet, most important functions that are available in the Archivematica API. From discovering transfer locations to initiating and approving a transfer, a large part of what is required to automate your transfer workflows can be discovered herein.
There is now a complementary automation-tools slide-deck. The two resources can probably be consumed in any order. Knowing the API will help you understand the automation-tools, but knowing the automation-tools may help you understand what you want to create using the API.
Automation-tools slide-deck here: https://www.slideshare.net/Archivematica/automation-tools-making-things-go-march-2019
As organisations store more and more information in their Alfresco content hubs, search and discovery of content becomes important. Alfresco comes bundled with Apache Lucene and Apache Solr for search. Although these provide full text capabilities, they do not have the scalability and functionality of the newer cloud scalable search software such as Apache Solr Cloud 4, Elastic Search and Amazon Cloud Search. Also, searching across multiple Alfresco instances including Alfresco Cloud is quite a challenge and any of the possible approaches are not good enough to be production ready.
This talk shows you how to index and search content stored in one or more Alfresco repositories, other CMIS repositories or file systems using either Apache Solr Cloud 4, Elastic Search or Amazon Cloud Search, while still ensuring the confidentiality of the documents based on the permissions configured in Alfresco or any other repositories.
How to build state of the art production system instrumenting so you can easily understand what is going on in your production system?
Which component to use? Log4Net, NLog, System.Trace, custom solution…
Event vs Trace (Monitoring vs Performance)
Tracing steps with “using” notation.
AOP vs manual logging
Where to output data?
How to scope data?
How not to kill app performance?
How to bake in app profiler in your tracing lib?
Demo of Webcom powerful GUI for trace analytics system.
Demo of AOP logging in MVC web app using NLog.
Developed for the Denver Art Museum by Ashley Blewer, this slide-deck covers some of the basics of diagnosing issues with Archivematica. Ashley covers everything from the software components involved with Archivematica, to monitoring logs, system monitoring, and upgrading your system. The presentation concludes with some useful links for tech-savvy preservationists, and Archivematica-unfamiliar system's administrators!
Developed for DANS-KNAW. This presentation covers some of the fundamentals of the automation-tools. Helper scripts for automation of transfers in Archivematica. Designed to complement the API slide-deck, the two resources can probably be consumed in any order. Knowing the API will help you understand the automation-tools, but knowing the automation-tools may help you understand what you want to create using the API.
API slide-deck here: https://www.slideshare.net/Archivematica/introduction-to-the-archivematica-api-september-2018-122548752
Presentation given at Mongo SV conference in Mountain View on December 3, 2010. Covers reasons for logging to MongoDB, logging library basics and library options for Java, Python, Ruby, PHP and C#. Updated 1/1/2012 with more info on logging in Ruby and tailable cursors.
Dallas Mulesoft Meetup - Log Aggregation and Elastic Stack on Anypoint PlatformAdam DesJardin
Dallas Mulesoft Meetup presentation covering the log aggregation options within Anypoint platform as well as integrating Mulesoft with the Elastic Stack for log aggregation and APM.
(ATS4-DEV05) Pipeline Pilot 9.0 Advanced Protocol Development TopicsBIOVIA
There are many new features and enhancements in Pipeline Pilot 9.0 targeting advanced protocol developers. This session will cover new HashTable values, parameter and property Meta-data, LinkType parameters and other client and PilotScript enhancements.
Flink Forward Berlin 2017: Dominik Bruhn - Deploying Flink Jobs as Docker Con...Flink Forward
This talk will focus on how to package, distribute and deploy Flink Jobs by leveraging existing docker technology: Previously deploying of Flink Jobs has been a manual job which leads into errors. In this talk, we present an approach which works well in an CI/CD environment by automating most steps: From the code of a Flink Job in a repository to a running Job on an YARN cluster.
OSMC 2021 | Thola – A tool for monitoring and provisioning network devicesNETWAYS
Thola is a new open source tool for reading, monitoring and provisioning network devices written in Go. This talk will inform about the current state of development as well as planned features, including reading out inventory, configuring network devices, support for other monitoring systems like Prometheus and many more. It serves as a unified interface for communication with network devices and features a check mode which complies with the monitoring plugins development guidelines and is therefore compatible with Nagios, Icinga, Zabbix, Checkmk, etc.
A completely native Accumulo connector was developed from 2012-2014 called Sharkbite. During this time, many native functions were built into a C++ client that avoided issues with the proxy and connects directly to internal services, effectively providing access to data without the need for a proxy or JAVA client. In this presentation we'll dive into the design of this C++ client and accessing it from multiple language connectors without the overhead of establishing one or more proxies. We'll close with performance evaluations of the JAVA client, proxied client, and the Accumulo connector.
A method of communicating between two devices
A software function provided at a network address over the web with the service always on
It has an interface described in a machine-processable format
http://www.qualitestgroup.com/
Git provide Distributed version control. Who is the user? Anyone want to truck hi note. Review history log changes. View difference between two versions.
Developed for the University of Denver this presentation covers some of the most fundamental, yet, most important functions that are available in the Archivematica API. From discovering transfer locations to initiating and approving a transfer, a large part of what is required to automate your transfer workflows can be discovered herein.
There is now a complementary automation-tools slide-deck. The two resources can probably be consumed in any order. Knowing the API will help you understand the automation-tools, but knowing the automation-tools may help you understand what you want to create using the API.
Automation-tools slide-deck here: https://www.slideshare.net/Archivematica/automation-tools-making-things-go-march-2019
As organisations store more and more information in their Alfresco content hubs, search and discovery of content becomes important. Alfresco comes bundled with Apache Lucene and Apache Solr for search. Although these provide full text capabilities, they do not have the scalability and functionality of the newer cloud scalable search software such as Apache Solr Cloud 4, Elastic Search and Amazon Cloud Search. Also, searching across multiple Alfresco instances including Alfresco Cloud is quite a challenge and any of the possible approaches are not good enough to be production ready.
This talk shows you how to index and search content stored in one or more Alfresco repositories, other CMIS repositories or file systems using either Apache Solr Cloud 4, Elastic Search or Amazon Cloud Search, while still ensuring the confidentiality of the documents based on the permissions configured in Alfresco or any other repositories.
How to build state of the art production system instrumenting so you can easily understand what is going on in your production system?
Which component to use? Log4Net, NLog, System.Trace, custom solution…
Event vs Trace (Monitoring vs Performance)
Tracing steps with “using” notation.
AOP vs manual logging
Where to output data?
How to scope data?
How not to kill app performance?
How to bake in app profiler in your tracing lib?
Demo of Webcom powerful GUI for trace analytics system.
Demo of AOP logging in MVC web app using NLog.
Developed for the Denver Art Museum by Ashley Blewer, this slide-deck covers some of the basics of diagnosing issues with Archivematica. Ashley covers everything from the software components involved with Archivematica, to monitoring logs, system monitoring, and upgrading your system. The presentation concludes with some useful links for tech-savvy preservationists, and Archivematica-unfamiliar system's administrators!
Developed for DANS-KNAW. This presentation covers some of the fundamentals of the automation-tools. Helper scripts for automation of transfers in Archivematica. Designed to complement the API slide-deck, the two resources can probably be consumed in any order. Knowing the API will help you understand the automation-tools, but knowing the automation-tools may help you understand what you want to create using the API.
API slide-deck here: https://www.slideshare.net/Archivematica/introduction-to-the-archivematica-api-september-2018-122548752
Presentation given at Mongo SV conference in Mountain View on December 3, 2010. Covers reasons for logging to MongoDB, logging library basics and library options for Java, Python, Ruby, PHP and C#. Updated 1/1/2012 with more info on logging in Ruby and tailable cursors.
Dallas Mulesoft Meetup - Log Aggregation and Elastic Stack on Anypoint PlatformAdam DesJardin
Dallas Mulesoft Meetup presentation covering the log aggregation options within Anypoint platform as well as integrating Mulesoft with the Elastic Stack for log aggregation and APM.
Summarizes new capabilities added to Apache NiFi 1.2.0 (soon to be released).
Disclaimer:
- The contents in this slide deck are derived from Apache NiFi JIRA issues which is labeled with next release target 1.2.0 and source code available at Github (already merged into master branch), however it does NOT mean these are guaranteed to be released and still are subjects to change.
- The motivation of this presentation is share what have been introduced into the project since the latest Apache NiFi 1.1.2 release.
- The contents are created from information available under Apache NiFi project, however, the way summarize it is solely done with my personal thoughts and not a consensus built among Apache NiFi community.
During this brief walkthrough of the setup, configuration and use of the toolset we will show you how to find the trees from the forest in today's modern cloud environments and beyond.
The OSGi R5 Enterprise release is available now from www.osgi.org (at this moment as a draft, final soon). This presentation walks through what's new in this specification, what to use it for and where to get it.
Python and GIS: Improving Your WorkflowJohn Reiser
A 40 minute talk on using Python with GIS software. Integration with ArcGIS and open source software is demonstrated. Includes links to several Python-based projects on Github. Presented at the Delaware Valley Regional Planning Commission's Information Resource Exchange Group on December 9th, 2015.
When Google released the first SDK for Android, which was way before the first mobile phones running it were released, Karl and Marcel decided to try and see what it would take to get Apache Felix running OSGi on Android.
This presentation introduces the Android platform, OSGi, and demonstrates how to run Apache Felix on Android. It builds on an earlier blog article that was published on this subject, an article that inspired many other OSGi implementations to try the same.
From the Trenches: Effectively Scaling Your Cloud Infrastructure and Optimizi...Allan Mangune
Decks I used in my previous presentation at Softcon. I shared you my experience on how to design a cloud infrastructure that easily scales; and optimize your database objects and write your SQL code for speed.
Similar to Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM) (20)
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.
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.
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...mfrancis
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.
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.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
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.
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.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
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
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
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.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Neuro-symbolic is not enough, we need neuro-*semantic*
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
1. The new OSGi LogService 1.4
and integrating with SLF4J
BJ Hargrave, IBM
2. Log Service
• An OSGi specification for logging
• Introduced in Release 1 in 2000 as an OSGi logging API
• Many other OSGi spec require logging to the Log Service, for example DS
• Pre-whiteboard; pre-log4j/slf4j
• Versions 1.1, 1.2 and 1.3 only made fairly minor updates
• Version 1.4 is a MAJOR update to the API inspired by SLF4J.
3.
4. Logger
• An interface that allows a bundle to log information, including a message, a
level, an exception, and a ServiceReference object
• Named, typically the name of the class which will log to it
• Associated with the bundle which creates the Logger
• Provides log level specific methods to avoid message formatting work if the log
level is not in effect
• ‘{}’ message placeholders as well as support for java.util.Formatter
placeholders: %s, %d, …
5.
6. Log Levels
• Six log levels are defined
Log Level Description
AUDIT Always logged
ERROR Error occurred
WARN Non-blocking failure or unwanted event
INFO Normal operation
DEBUG Detailed output useful for developers
TRACE High volume output for tracing purposes
7. Logger Factory
• OSGi service which is used to obtain Logger objects
• LogService now extends LoggerFactory
• LogService members deprecated
• Logger names form a hierarchy using Java package.Class naming style
• Special Logger named ROOT is the ancestor of all Loggers
• Logger name hierarchy is used to manage Logger configuration
8. Logger Configuration
• The Logger Admin service is used to
configure Logger Context objects
• Each bundle can have a Logger Context
object which can control the Log Levels for
the Logger objects of that bundle
• Map<String,LogLevel>
com.foo.Bar=INFO
com.foo=DEBUG
com=INFO
ROOT=ERROR
9. Logger Configuration
• There is also an unnamed “root” Logger Context from which all named Logger
Contexts inherit configuration
• Most people will just need to configure this Logger Context
• Configuration Admin can be used to configure LoggerContexts using PIDs starting
with “org.osgi.service.log.admin”
• PID “org.osgi.service.log.admin” configures the “root” Logger Context
• PID “org.osgi.service.log.admin|<bundle-symbolic-name>”
configures the Logger Context for the bundle
10. Where does logged information go?
• The OSGi Log Service specification does not say anything about writing
logged information to the console, files, etc.
• This would be done by using the Log Reader Service or the new Log Stream
Provider service
• So the Log Service specification is “broker” between bundles wanting to log
and bundles wanting to consume the logged information
• Such a consuming bundle can be thought of like Appenders in other logging
back ends such as Logback
11. Log Stream Provider
• Logged information can be thought of as an
ongoing stream of log entries that never
ends having asynchronous arrival
• This fits perfectly with the new OSGi Push
Stream specification!
• So we added a new Log Stream Provider
service which can be uses by a consuming
bundle to receive and process log entries
as a push stream
• The push stream can be primed with the
log history, if any, which is put in the stream
ahead of any new entries
12. Log Reader Service still remains
• Even though the design of the Log Reader Service predates the advent of the
whiteboard pattern, it remains supported in the specification
• Existing code may use it
• This also allows the Log Stream Provider implementation to be separate from
the Log Service implementation
• Which is handy for Equinox which implements the Log Service specification
in the framework and was not quite ready to require Java 8 (which Push
Stream requires)
13. Log Entry expanded to hold new information
• Logged information is packaged and delivered as a Log Entry object
• With the new support for named Loggers, we enhanced Log Entry to provide
more information
• name of the Logger
• a sequence number which orders log entries
• thread and stack trace information about the logging call site
14. Declarative Services support for using Loggers
• DS will support creating and injecting a Logger for the component
implementation class
• If the reference is to the Logger Factory service and the injection target is
Logger for Formatting Logger, then SCR must use the Logger Factory to
create a Logger which is then injected
@Component
public class ExampleImpl implements Example {
@Reference(service=LoggerFactory.class)
// LoggerFactory.getLogger(ExampleImpl.class)
private Logger logger;
@Activate
void activate() { logger.info("initialized"); }
}
16. Lots of projects use SLF4J as their logging API
• When you build an OSGi system, you will probably use a number of bundles
from open source projects that log using SLF4J
• And you will probably use a number of OSGi specification implementations
which log using OSGi Log Service
• So now you have a mix of bundles using different logging APIs and you need
to the logging combined into a single stream
• How to make the twain meet?
17. Choices
• We can either send the information logged to the OSGi Log Service to the
SLF4J logging backend (e.g. Logback)
• This means all the logged information is controlled by SLF4J logging
backend configuration
• Or we can send the information logged to the SLF4J API to the OSGi Log
Service
• This means all the logged information is controlled by the Logger
configuration in the Logger Admin service
20. osgi.logback
• See the Apache Felix Logback project for a more capable implementation of
this choice
• http://felix.apache.org/documentation/subprojects/apache-felix-logback.html
21. Some notes…
• We are using Equinox framework with its in-built Log Service implementation
• So we need configure a log history so our bundles can find past logged
information when they start
• And we need to configure the Loggers so we have some logged information to
process!
• -runproperties:
equinox.log.history.max=1000,
org.osgi.service.log.admin.loglevel=DEBUG