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.
THEOS (Thailand Earth Observation System)
THEOS is an Earth observation mission of Thailand, under development at EADS Astrium SAS, Toulouse, France. In July 2004, EADS Astrium SAS signed a contract for delivery of THEOS with GISTDA (Geo-Informatics and Space Technology Development Agency) of Bangkok, Thailand. GISTDA is Thailand's leading national organization (i.e., space agency) in the field of space activities and applications. The Thai Ministry of Science and Technology is funding the program.
The THEOS cooperative agreement includes the production and launch of one optical imaging satellite, as well as the development of the ground segment necessary to operate and control the satellite directly from Thailand. The contract also specifies on-the-job training of Thai engineers as part of the EADS Astrium development team. Also as part of the THEOS program, GISTDA earned the right to receive data from the SPOT-2, 4 and 5 spacecraft of CNES in Thailand, which have many features similar to those of THEOS. The prime objective of THEOS is to provide Thailand with an affordable access to space (i.e., a state-of-the-art Earth observation satellite for the near future), and to spawn through this program's operational experience the country's own capability and infrastructure an indigenous potential for the development of future space missions.
The science objectives call for the provision of:
1) Panchromatic (2 m) and multispectral (15 m) imagery from THEOS observations, and
2) The generation of geo-referenced image products and image processing capabilities for applications in the fields of cartography, land use, agricultural monitoring, forestry management, coastal zone monitoring and flood risk management.
The Thai government has also expressed its intention to offer THEOS data to the disaster mitigation efforts under the International Charter.
Galileo concept of operations, first iov leop and initial operationsMarco Lisi
Presentation at the SpaceOps conference in Stockolm, June 2012, about the first launch of Galileo satellites.
Galileo is the European global navigation satellite system (GNSS), funded by the European Commission and developed by the European Space Agency.
Mercury CubeSat Presentation for ASAT2016Karen Grothe
An abridged version of my Capstone project for my Systems Engineering Masters Degree program. Presented at AIAA OC ASAT in April 2016. (Virtually the same as my INCOSE RMC presentation.)
Nearly every military vehicle and every satellite that flies into space uses the GPS to fix its position. In this popular 4-day short course, GPS expert Tom Logsdon will describe in detail how those precise radionavigation systems work and review the many practical benefits they provide to military and civilian users in space and around the globe.
THEOS (Thailand Earth Observation System)
THEOS is an Earth observation mission of Thailand, under development at EADS Astrium SAS, Toulouse, France. In July 2004, EADS Astrium SAS signed a contract for delivery of THEOS with GISTDA (Geo-Informatics and Space Technology Development Agency) of Bangkok, Thailand. GISTDA is Thailand's leading national organization (i.e., space agency) in the field of space activities and applications. The Thai Ministry of Science and Technology is funding the program.
The THEOS cooperative agreement includes the production and launch of one optical imaging satellite, as well as the development of the ground segment necessary to operate and control the satellite directly from Thailand. The contract also specifies on-the-job training of Thai engineers as part of the EADS Astrium development team. Also as part of the THEOS program, GISTDA earned the right to receive data from the SPOT-2, 4 and 5 spacecraft of CNES in Thailand, which have many features similar to those of THEOS. The prime objective of THEOS is to provide Thailand with an affordable access to space (i.e., a state-of-the-art Earth observation satellite for the near future), and to spawn through this program's operational experience the country's own capability and infrastructure an indigenous potential for the development of future space missions.
The science objectives call for the provision of:
1) Panchromatic (2 m) and multispectral (15 m) imagery from THEOS observations, and
2) The generation of geo-referenced image products and image processing capabilities for applications in the fields of cartography, land use, agricultural monitoring, forestry management, coastal zone monitoring and flood risk management.
The Thai government has also expressed its intention to offer THEOS data to the disaster mitigation efforts under the International Charter.
Galileo concept of operations, first iov leop and initial operationsMarco Lisi
Presentation at the SpaceOps conference in Stockolm, June 2012, about the first launch of Galileo satellites.
Galileo is the European global navigation satellite system (GNSS), funded by the European Commission and developed by the European Space Agency.
Mercury CubeSat Presentation for ASAT2016Karen Grothe
An abridged version of my Capstone project for my Systems Engineering Masters Degree program. Presented at AIAA OC ASAT in April 2016. (Virtually the same as my INCOSE RMC presentation.)
Nearly every military vehicle and every satellite that flies into space uses the GPS to fix its position. In this popular 4-day short course, GPS expert Tom Logsdon will describe in detail how those precise radionavigation systems work and review the many practical benefits they provide to military and civilian users in space and around the globe.
SBAS-DInSAR processing on the ESA Geohazards Exploitation PlatformEmmanuel Mathot
In the context of space-borne geodetic techniques, Differential Synthetic Aperture Radar Interferometry (DInSAR) has demonstrated its high performance in measuring surface displacements in different conditions and scenarios, both natural and anthropic. In particular, the advanced DInSAR time series processing method referred to as Small BAseline Subset (SBAS), that allows studying both the spatial and temporal variability of the surface displacements, has proven to be particularly suitable in different contexts, as for natural hazards (volcanoes, earthquakes and landslides) and human-induced deformation (subsidence due to aquifer exploitation, mining operations, and building of large infrastructures). Recently, an efficient implementation of this algorithm (referred to as P-SBAS approach) has been fully integrated within the ESA’s Grid Processing on Demand (G-POD) environment, which is part of the [Geohazards Thematic Exploitation Platform (GEP)](https://geohazards-tep.eo.esa.int/#!) of ESA. The GEP is devoted to the exploitation of EO data resources in the context of the Geohazard Supersites & Natural Laboratories as well as on the CEOS Pilots on Seismic Hazards and Volcanoes. The GEP is sourced with elements, data and processing, including P-SBAS, relevant to the geohazards theme. The integration of the P-SBAS algorithm within GEP resulted in a web-based tool freely available to the scientific community. This tool allows users to process, from their own laptops, the European SAR data archives (ERS, ENVISAT and Sentinel-1) for obtaining surface displacement maps and time series in a completely unsupervised way, without caring about data download and processing facility procurements. The workshop is organized in four parts. First, a short overview on the DInSAR processing methods allowing retrieving mean surface deformation maps and displacement time series will be provided, with a specific focus on the SBAS-DInSAR technique. Secondly, the GEP and G-POD environments will be introduced and the P-SBAS web tool will be presented. The third and the fourth parts are dedicated to the advanced features and to case studies and results achieved via the web tool, respectively.
Conceptual design and architecture of turkish communication satellite turksat...Atılay Mayadağ
Preparing a preliminary report of new communication satellite of TUBITAK. In the project, there were studied launch system standarts of spacecrafts, communicated with launch companies and prepared a cost report. Also, researched satellite safety tests and listed relevant institutions. Finally, there was chosen a suitable adaptor to assemble the satellite into the spacecraft.
• Used Computer Skills : Systems Tool Kit, Microsoft Word, Excel, PowerPoint
• Gained Social Skills : Ability to communicate, formulate and report in a clear understandable manner.
A coupled Electromagnetic-Mechanical analysis of next generation Radio Telesc...Altair
This work considers the design of large and complex receivers used in the field of radio astronomy, e.g. for the Square Kilometer Array (SKA) project. The purpose of this work is to consider a coupled simulation where the electromagnetic analysis, performed with the computational electromagnetic software package FEKO, is enhanced by the structural analysis offered by HyperWorks products such as HyperMesh and Optistruct. External influences such as gravity, wind-loading and thermal properties will be taken into account. This will enhance the electromagnetic simulation results, thereby aiding designers to mitigate these environmental effects.
Speakers
Dr. Danie Ludick, Postdoctoral researcher, Stellenbosch University
GWT 2014: Emergency Conference - 08 I servizi satellitari in near real-time a...Planetek Italia Srl
Geospatial World Tour 2014: Emergency Conference.
Napoli, 28 maggio 2014.
I servizi satellitari in near real-time del Marsec a supporto delle emergenze.
MARSec SpA
SBAS-DInSAR processing on the ESA Geohazards Exploitation PlatformEmmanuel Mathot
In the context of space-borne geodetic techniques, Differential Synthetic Aperture Radar Interferometry (DInSAR) has demonstrated its high performance in measuring surface displacements in different conditions and scenarios, both natural and anthropic. In particular, the advanced DInSAR time series processing method referred to as Small BAseline Subset (SBAS), that allows studying both the spatial and temporal variability of the surface displacements, has proven to be particularly suitable in different contexts, as for natural hazards (volcanoes, earthquakes and landslides) and human-induced deformation (subsidence due to aquifer exploitation, mining operations, and building of large infrastructures). Recently, an efficient implementation of this algorithm (referred to as P-SBAS approach) has been fully integrated within the ESA’s Grid Processing on Demand (G-POD) environment, which is part of the [Geohazards Thematic Exploitation Platform (GEP)](https://geohazards-tep.eo.esa.int/#!) of ESA. The GEP is devoted to the exploitation of EO data resources in the context of the Geohazard Supersites & Natural Laboratories as well as on the CEOS Pilots on Seismic Hazards and Volcanoes. The GEP is sourced with elements, data and processing, including P-SBAS, relevant to the geohazards theme. The integration of the P-SBAS algorithm within GEP resulted in a web-based tool freely available to the scientific community. This tool allows users to process, from their own laptops, the European SAR data archives (ERS, ENVISAT and Sentinel-1) for obtaining surface displacement maps and time series in a completely unsupervised way, without caring about data download and processing facility procurements. The workshop is organized in four parts. First, a short overview on the DInSAR processing methods allowing retrieving mean surface deformation maps and displacement time series will be provided, with a specific focus on the SBAS-DInSAR technique. Secondly, the GEP and G-POD environments will be introduced and the P-SBAS web tool will be presented. The third and the fourth parts are dedicated to the advanced features and to case studies and results achieved via the web tool, respectively.
Conceptual design and architecture of turkish communication satellite turksat...Atılay Mayadağ
Preparing a preliminary report of new communication satellite of TUBITAK. In the project, there were studied launch system standarts of spacecrafts, communicated with launch companies and prepared a cost report. Also, researched satellite safety tests and listed relevant institutions. Finally, there was chosen a suitable adaptor to assemble the satellite into the spacecraft.
• Used Computer Skills : Systems Tool Kit, Microsoft Word, Excel, PowerPoint
• Gained Social Skills : Ability to communicate, formulate and report in a clear understandable manner.
A coupled Electromagnetic-Mechanical analysis of next generation Radio Telesc...Altair
This work considers the design of large and complex receivers used in the field of radio astronomy, e.g. for the Square Kilometer Array (SKA) project. The purpose of this work is to consider a coupled simulation where the electromagnetic analysis, performed with the computational electromagnetic software package FEKO, is enhanced by the structural analysis offered by HyperWorks products such as HyperMesh and Optistruct. External influences such as gravity, wind-loading and thermal properties will be taken into account. This will enhance the electromagnetic simulation results, thereby aiding designers to mitigate these environmental effects.
Speakers
Dr. Danie Ludick, Postdoctoral researcher, Stellenbosch University
GWT 2014: Emergency Conference - 08 I servizi satellitari in near real-time a...Planetek Italia Srl
Geospatial World Tour 2014: Emergency Conference.
Napoli, 28 maggio 2014.
I servizi satellitari in near real-time del Marsec a supporto delle emergenze.
MARSec SpA
The first open-source platform for sharing crowd-sourced asteroid imagery! Including observations that have already have been logged, as well as newly observed Near Earth Objects.
geecon 2013 - Standards for the Future of Java EmbeddedWerner Keil
This session highlights how Java Embedded can play a role in the Internet of Things and Distributed Sensor Web as well as related technologies like Smart Home or Automotive. We demonstrate how existing Java standards like JSR 256 (Mobile Sensor API) can be modernized and improved towards a new generation of Java Embedded and Mobile. Taking technologies like the IEEE 1451 "Smart Sensor" standard into consideration, as well as OGC standards like SensorML or The Unified Code for Units of Measurement (UCUM) allowing type and context safe data transfer using various formats and protocols, whether it is XML, JSON or specific M2M protocols like MQTT as well as new JSRs like 360 (CLDC 8) and 361 (Java ME Embedded)
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.
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.
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
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.
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/
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
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
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio Vega)
1. ESA UNCLASSIFIED - For Official Use
Flying to Jupiter with OSGi
Anthony Walsh, ESA
Hristo Indzhov, Telespazio Vega
2. ESA UNCLASSIFIED - For Official Use !2
What has OSGi to do with Juipter?
OSGi + =
3. ESA UNCLASSIFIED - For Official Use !3
Spacecraft Mission Control
ESOC Operations Centres
Mission Control System (MCS)
Telecommands
Telemetry
ESTRACK Control Centre (ECC)
4. ESA UNCLASSIFIED - For Official Use !4
JUICE - JUpiter ICy moons Explorer
• Mission to visit the Jovian system focused on
studying three of Jupiter's Galilean moons:
Ganymede, Callisto, and Europa
• Prime Contractor is Airbus Defence and Space
• Launch in 2022 with arrival in 2029 after a
sequence of five gravity assist manoeuvres with
Earth, Venus, Earth, Mars, and again Earth
• In 2033, after completing various manoeuvres
around Jupiter and the other moons will enter
orbit around Ganymede
• Instruments include cameras, spectrometers,
magnetometers, and an ice-penetrating radar
5. ESA UNCLASSIFIED - For Official Use !5
JUICE - Scientific Objectives
• Mission will perform detailed investigations of Jupiter
and its system of moons
• Give better insight into how gas giant planets and their
satellites form and evolve
• Three of the moon are believed to harbour internal
oceans; Ganymede, Europa & Callisto
• Emphasis on Ganymede as a planetary body as a
potential habitat of life
• Characterisation of the ocean layers
• Topographical, geological and compositional mapping of
the surface
• Characterisation of icy crusts and internal mass
distribution, dynamics and evolution of the interiors
• Study Ganymede's intrinsic magnetic field
6. ESA UNCLASSIFIED - For Official Use !6
JUICE - Making it happen
• Returns are great, but space is expensive! – cost of
the JUICE mission is approx. 850 million Euros
• The costs of scientific missions like JUICE are very
great for any one nation – can be difficult to justify
• Sharing costs and expertise amount nations
therefore makes a lot of sense
• Much better return for each member state per Euro
spent
• The European Space Agency was created to
coordinate space activities between European
nations
7. ESA UNCLASSIFIED - For Official Use !7
European Space Agency (ESA)
Over 50 years of experience
22 Member States
Eight sites/facilities in Europe,
about 2300 staff
5.75 billion Euro budget
(2017)
Over 80 satellites designed,
tested and operated in flight
8. ESA UNCLASSIFIED - For Official Use !8
ESA Activities
space
science
telecommunications
human
spaceflight
earth
observation
space
transportation
navigation
operations technology
exploration
* Space science is a Mandatory programme, all
Member States contribute to it according to
GNP. All other programmes are Optional,
funded ‘a la carte’ by Participating States.
ESA combines responsibility in nearly
all areas of space activity.
Operations - ESOC
9. ESA UNCLASSIFIED - For Official Use !9
European Space Operations Centre (ESOC)
• Mission Control Centre of ESA
• Operating since 1967
• Mission and Launch Operations
• Operation of ESA’s world wide network of
Ground Stations (ESTRACK)
• Centre for space debris studies and
services, space security, ground system
engineering, the design and development of
tracking stations and satellite navigation
• Focus on Earth Observation, Astronomy and
Solar System Exploration Missions
10. ESA UNCLASSIFIED - For Official Use !10
ESOC – Selection of Missions (81 and counting)
Herschel GaiaPlanck
Mars Express LISA PathfinderExoMarsMars Express Rosetta
BepiColombo Cheops Solar Orbiter James Webb Space Telescope
BepiColombo Goce Swarm Sentinels
Galileo
11. ESA UNCLASSIFIED - For Official Use !11
Earth Observation Missions - Cyrosat
• Monitors variations in the extent and thickness of
polar ice
• Monitors the changes in thickness of marine ice,
and variations in the thickness of the ice sheets
that overlie Greenland and Antarctica
• Tracks changes in the thickness of the ice with a
resolution of about 1.3 centimetres
• Important in monitoring impact of climate
change, expected to be amplified at the poles
• Main payload is a radar altimeter called SIRAL
• Launched 2010 - initial programmatic lifetime
was 3.5 years, but still going strong
12. ESA UNCLASSIFIED - For Official Use !12
Astronomy Missions - Planck
• Mapping of the cosmic wave background
• Afterglow from the big bang – @ 380,000
years universe cooled enough (3000K) for
protons and electrons to combine to form
neutral hydrogen atoms and allow photons to
travel freely
• Fundamental to Cosmology
• Liquid Helium used to maintained an
instrument temperature of −273.05 °C (0.1
°C above absolute zero) - coldest known
object in space
• Operated 2009-2012 when helium exhausted
13. ESA UNCLASSIFIED - For Official Use !13
Solar System Exploration Missions - Rosetta
• Performed detailed study of comet
67P/Churyumov–Gerasimenko
• Rosetta spacecraft placed in orbit
during active phase around the sin
• Released Lander module Philae for
first successful landing on a comet
until battery power ran after 2 days
• Showed that water from comet 67P
is substantially different from that
found on Earth
• Launched in 2004, arrived 2014 and
mission ended in 2016
14. ESA UNCLASSIFIED - For Official Use !14
Renewal of Monitoring Control Systems – ESC-CC
• Many different systems for monitoring and
control used for space system operations and
Assembly Integration and Testing (AIT)
• Many are reaching the end of life
• Agreement within Europe to develop common
infrastructure to support space systems
monitoring and control
• Share and reduce system development costs
and maximise synergy and interoperability
• Modernization of AIT and MCS systems
• Ambitious collaboration between ESA,
national agencies, prime industry and SMEs
15. ESA UNCLASSIFIED - For Official Use !15
EGS-CC technology requirements and OSGi Selection
• Development of EGS-CC started with requirements specification and technology
evaluation and selection activities
• A number of criteria were taken into consideration, including;
o Modular and extensible for different mission needs;
o Performance, reliability, scalability, etc
o Compatibility with EGS-CC licensing needs;
o Longevity of technology and future outlook;
o Knowledge within and outside of Space domain (community strength).
• A number of technologies were considered for the EGS-CC component framework
(EJB, SCA, CCM, OSGi, etc) – OSGi was selected as most appropriate
• Selected technologies was input into the contract with the Industry Consortium for
the implementation phase of EGS-CC
17. ESA UNCLASSIFIED - For Official Use !17
Project Organisation
•The project spans
− 8 Countries,
− 17 Companies,
− 23 Teams and
− 43 Components
• 11 System Architects
• 12 Integration and Validation Engineers
18. ESA UNCLASSIFIED - For Official Use !18
Software Development Environment
•Technology Baseline
− Java 1.8.0.x (openJDK - openSUSE,
Oracle JDK - SLES)
− Apache Maven 3.2.3
− Apache ServiceMix 5.4.0 (Karaf 2.4.1)
− Eclipse SDK 4.4.1 (Luna SR1)
− Linux openSUSE 13.2, SLES 12
•SDE Continuous SDE Development
Linux OpenSUSE 13.2 or SLES 12
Open JDK or Oracle JDK
Eclipse IDE
Maven Git Groovy
•SDE Continuous SDE Continuous Integration
SonarQube Nexus Jenkins
Open JDK or Oracle JDK
Maven Git Groovy
Postgre
SQL
Linux OpenSUSE 13.2 or SLES 12
20. ESA UNCLASSIFIED - For Official Use !20
What is EGS-CC?
•EGS-CC is a software infrastructure designed to support distributed space M&C
systems
•It is layered (kernel, reference implementations, reference test facilities) and each
layer contains EGS-CC components
•EGS-CC components can be combined in various ways to form EGS-CC applications
•The applications are used as building blocks for EGS-CC systems
EGS-CC Kernel
(Core M&C Functionality, Data Handling, Application Support
Reference Implementations
(Mission Adaptation, UI, Preparations, Evaluation
Rereference Test Facilities
21. ESA UNCLASSIFIED - For Official Use !21
Conceptual Overview
Component A
Impl.
Component
Impl.
Component
Component B
Impl.
Component
Impl.
Component
Impl.
Component
Deployable
Unit A
Deployable
Unit D
Deployable
Unit C
Deployable
Unit B
Deployable
Unit E
Application A
Application B
Application C
Application D
System A
System B
Session C
Application C
Application D
Session D
Application D
Session A
Application A
Application B
Session B
Application A
Application C
22. ESA UNCLASSIFIED - For Official Use !22
EGS-CC Components
•The EGS-CC System is composed of layers. Each layer is decomposed into so called
“Level 0” (L0) Components and their provided and consumed services
•L0 components are EGS-CC software packages that cover a functional scope
specified by software requirements and interact with other L0 components only via
well-defined services and interfaces
•L0 components are composites that are further decomposed into lower level
components called Ln Components (n=1,2,…)
23. ESA UNCLASSIFIED - For Official Use !23
Component Decomposition
• The definition of separate Ln components can be governed by deployment
considerations, separation of concerns, etc
•The result of the decomposition process is a set of implementation components
(Ln), which may or may not be deployed together
•A “deployable unit” is defined as a composite that includes implementation
components from a single L0 component that need to be deployed together
Component A
Impl.
Component
Impl.
Component
Deployable
Unit
Impl.
Component
Deployable
Unit
Impl.
Component
25. ESA UNCLASSIFIED - For Official Use !25
Implementation Components
•Implementation components are assembled from units implemented in a specific
programming language (Java)
•The development of implementation components is supported by the EGS-CC
Component framework
•The EGS-CC Component framework is based on OSGi and defines the programming
entry point and controls the life cycle of an EGS-CC component
26. ESA UNCLASSIFIED - For Official Use !26
Impl. Component Wiring & Deployable Units
• Grouping of impl. components into functional units (Deployable Units) is done in
the model
• It is a process opposite of component decomposition
• A deployable unit (DU) is a collection of impl. components of a given EGS-CC
component and their internal wiring
27. ESA UNCLASSIFIED - For Official Use !27
Deployable Units Composition
• Every deployable unit has a boundary with ports (consumed and provided
services); this is the “face” of the deployable unit that the application “sees”
• Deployable units are wired automatically; the model supports properties and
filters if the user needs to modify the default wiring
• A deployable unit is realized as a maven project with custom packaging
“deployable-unit” and is generated from the model
− a karaf feature file that lists all needed bundles (implementation components and
apis)
− an optional wiring xml that represents internal service wirings and external ports
expressed in the model
29. ESA UNCLASSIFIED - For Official Use !29
EGS-CC Component
Deployable Units Composition
OSGi Bundle
Blueprint
OSGi Bundle
Base Class
OSGi Bundle
Base Class
OSGi Bundle
Base Class
OSGi Bundle
Blueprint
OSGi EGS-CC
30. ESA UNCLASSIFIED - For Official Use !30
EGS-CC Application
•An EGS-CC application is a collection of deployable units (maven project with
dependencies of type deployable-unit)
•For every deployable unit referenced in the application a blueprint wiring is
generated from the model wiring or directly from the base classes contained in that
DU
•An application feature repository is generated to group all required bundles
31. ESA UNCLASSIFIED - For Official Use !31
Wiring -> Blueprint
Deployable Unit Wiring
Boundary Ports
Consumer Ports
Provider Ports
Composition
Internal Ports
Consumed Services
Provided Services
Base Classes
Custom Wiring
Deployable Unit Blueprint
Component
References
Services
Base Class Bean
Component
References
Services
Base Class Bean
…
32. ESA UNCLASSIFIED - For Official Use !32
EGS-CC Application Generation
Deployable Unit
Impl.
Component
Impl.
Component
Wiring
Karaf
Feature
Application
DU
DU
DU
Blueprint
Blueprint
Blueprint
Karaf
Feature
Karaf
Feature
Application
Karaf
Feature
Deployable Unit
Impl.
Component
Impl.
Component
Wiring
Karaf
Feature
33. ESA UNCLASSIFIED - For Official Use !33
EGS-CC System
•An EGS-CC System is a set of system sessions (or sessions) composed of
applications. The application run on physical or virtual nodes
•A session can span multiple nodes
•The relationship between applications, sessions and systems is captured in a
deployment plan
•The deployment plan specifies a schema for each session. The session schema
specifies the relationship between applications and nodes
•EGS-CC deployments are defined by the user at deployment time and cannot be
changed at runtime.
34. ESA UNCLASSIFIED - For Official Use !34
EGS-CC Deployment Plan
Application A
Session A
Node A
Node B
Session B
Application B
Application C
Deployment Plan
35. ESA UNCLASSIFIED - For Official Use !35
Zookeeper
Node
Master Node
EGS-CC System Deployment
OSGi Framework/JVM
EGS-CC Application
EGS-CC Component Framework
EGS-CC Application Control
EGS-CC Distributed Services
OSGi Framework/JVM
EGS-CC Master Application
EGS-CC Component Framework
EGS-CC Application Control
EGS-CC Distributed Services
EGS-CC Runtime Management
OSGi Framework/JVM
EGS-CC Application
OSGi Framework/JVM
EGS-CC Leader Application
EGS-CC Component Framework
EGS-CC Application Control
EGS-CC Distributed Services
OSGi Framework/JVM
EGS-CC Application
OSGi Framework/JVM
EGS-CC Application
Node
OSGi Framework/JVM
EGS-CC Leader Application
OSGi Framework/JVM
EGS-CC Application
OSGi Framework/JVM
EGS-CC Application
Service Registry
System State
Active MQ
36. ESA UNCLASSIFIED - For Official Use !36
EGS-CC Infrastructure
EGS-CC Component Framework (CF)
EGS-CC Application Control (AC)
EGS-CC Distributed Services (DS)
37. ESA UNCLASSIFIED - For Official Use !37
EGS-CC Component Framework
•EGS-CC CF provides the “low level” facilities to implement EGS-CC Components
and also to control their life cycle
•It defines an EgsccActivator interface which is used as an entry point to an EGS-CC
implementation components
− Every EGS-CC implementation component has an EGS-CC base class (implements
EgsccActivator) which defines the consumed and provided services. The stubs of
the base classes are generated from the model
− Specific hooks in the base class control the life cycle of the component. The hooks
are implemented to suit component needs
39. ESA UNCLASSIFIED - For Official Use !39
Impl. Component Life Cycle
•The life cycle of an EGS-CC component (e.g. its impl. components) starts with the Init() phase
which corresponds with the activation of an OSGi bundle. This is a single phase where services
are provided and consumed
•It is assumed that after the Init() the component is ready to do work and startProcessing() is
called
•To initiate shutdown stopProcessing() is called. The impl. component can subscribe to different
shutdown levels
Init() startProcessing() stopProcessing()
40. ESA UNCLASSIFIED - For Official Use !40
Service Life Cycle
•For EGS-CC CF a service is any service marked with the EGS-CC annotations
@Service (a stateless service) or @ConversationalFactoryInterface (a statefull
service with or without callback)
•EGS-CF listens for EGS-CC service registrations and unregistrations, using a
standard OSGi ServiceListener
•Every time a new EGS-CC service is registered in the container, CF inspects it and
adds EGS-CC specific properties to it (registers it again with new properties)
− At any given moment two registrations of the same service exist in the container
− CF hides the original service registration by utilizing an EventListenerHook and a
FindHook
− CF makes sure that all other components see only the modified service registration
42. ESA UNCLASSIFIED - For Official Use !42
EGS-CC Service Properties
• egscc-service-status=READY – marker for processed services
• service.pid – sets this standard OSGi property to a random UUID
• system-session-id – sets this property to the current system session ID
provided by the system resources
• service.exported.interfaces=* - only if the service is not marked with
@LocalInterface
• esa.egscc.service.nature – sets this property to the value
esa.egscc.service.nature.local only if the service is marked with @LocalInterface
and the property is not already set. This property can take one of two values:
− esa.egscc.service.nature.local – this means that the service should not be exported, but can be
in certain circumstances;
− esa.egscc.service.nature.internal – this means that the service must never be exported
43. ESA UNCLASSIFIED - For Official Use !43
EGS-CC Application Control
•EGS-CC Application Control (EGS-CC AC) is the component responsible for
starting and stopping nodes in an EGS-CC system, as well as creating, starting,
stopping, and removing application instances on those nodes
•It also monitors the state and health of every node and every application instance,
and notifies subscribers for all changes
44. ESA UNCLASSIFIED - For Official Use !44
EGS-CC Application Control
•An EGS-CC node is a single Karaf distribution with a
root instance and zero or more child instances
•All root Karaf instances are called Leaders. A
Leader is a special application which can create,
start, stop, and remove other application instances
on the same node
•There is a special Leader, called the Master, which
operates on the Master node. There is a single
Master per EGS-CC system instance. The Master can
start and stop other EGS-CC nodes
45. ESA UNCLASSIFIED - For Official Use !45
Provided Services
•SystemControlService – A stateless service which provides capabilities to start and
stop nodes, and also create, start, stop, and remove application instances
•SystemStatusService – A stateless service which provides capabilities to inspect
the running system instance
•SystemMonitoringService – A conversational service which is responsible for
subscribing to any state or health changes in the system instance
46. ESA UNCLASSIFIED - For Official Use !46
EGS-CC AC & OSGi Cluster Information
Q: Is EGS-AC an implementation of the OSGi Cluster Information specification?
A: It does not implement NodeStatusService, but provides the
SystemStatusService, which can:
- return a collection of all nodes in the system (cluster) and
- provide status and health information for each node where every node is
responsible to publish its own status.
47. ESA UNCLASSIFIED - For Official Use !47
EGS-CC Distributed Services
•EGS-CC Distributed services (EGS-CC DS) handles remote service discovery and
remote procedure call (RPC)
•It hides the fact that an application instance may be using services which actually
reside in another application instance (on the same or on another EGSCC node)
48. ESA UNCLASSIFIED - For Official Use !48
Service Discovery
•Publishes started applications in the service registry
(For every service in the local OSGi container that can be exported, EGS-CC DS publishes the service’s type
and properties in the registry, under the record of the application instance)
•Actively watches the registry for any changes. If it finds exported services from
other application instances, it will import those services
(Registers proxies for remote services, in the OSGi container, with the same type and properties)
•Watches the registry for removed services and application instances
(unregisters proxies from the OSGi Container)
49. ESA UNCLASSIFIED - For Official Use !49
RPC
•Acts as both client and server because it has to be able to call methods on remote
services and also translate remote calls to local service invocations
•An object can be passed as argument by value or by reference
− Any object can be used as a remote reference if it its class is not marked final (or
has an interface)
− If a class of an object is not known in the receiving container it will be resolved by
a network class loader
•Monitors the life cycle of remote instances and ensures that they are properly
garbage collected in the containers
•It is completely transparent for impl. components
51. ESA UNCLASSIFIED - For Official Use !51
EGS-CC DS & OSGi Remote Services
Q: Is EGS-CC DS an implementation of the OSGi Remote Services specification?
A: It supports directly the concepts of the Distribution Provider and End Point. It also makes
use of the service properties as defined in the OSGi Remote Services specification.
It does not have a direct counterpart for Topology Manager, Remote Service Admin and
Discovery.
For EGS-CC DS the remote service registry:
− notifies other frameworks that a local service has been exported
− keeps track of the remote frameworks and exported services,
− receives events about exported services (registration/unregistration) triggering
import or unregistration of a remote service,
− exposes remote services selectively based on Sessions
52. ESA UNCLASSIFIED - For Official Use !52
EGS-CC Infrastructure & OSGi Specification
•Application Control and Distributed Services are standalone projects and EGS-CC
specific requirements were layered on top of them.
•Application Control and Distributed Services already implement a significant portion
of functionality defined by OSGi Specification
•A layer complient with OSGi Specification can be realized on top of Application
Control and Distributed Services
•The result could be made available to the community (if ESA decides to do so)
53. ESA UNCLASSIFIED - For Official Use !53
The good, the bad and the ugly
“Our prime job is to fly spacecraft not develop software”
•Big projects and consortium syndrome
•Learning OSGi a we go (difficult to backtrack)
•Best practices for service dependency management not applied
•Endless levels of decomposition = bad code
•Technical discussions steered by stakeholders can result in poor design decisions
(as the saying goes: too many cooks spoil the broth)
54. ESA UNCLASSIFIED - For Official Use !54
THANK YOU
Contact:
Anthony.Walsh@esa.int
Hristo.Indzhov@telespazio-vega.de
60. ESA UNCLASSIFIED - For Official Use !60
EGS-CC Service Patterns
•Stateless Service Pattern
•One-Way Stereotype
•Conversational Service Pattern (± Callbacks)
61. ESA UNCLASSIFIED - For Official Use !61
Stateless Service Pattern
Code usage – Server Side – Service Provider
The server implements the interfaces of the services, according the
needed functionalities. In our example
ConfigurationTrackingServiceImpl class
The server registers the services into the OSGi registry, by using the
Component Framework
Details about the CF are explained later
// Get the EGS-CC Bundle context, provided by the Kernel Infrastructure (CF)
EgsccBundleContext egsccBc = EgsccFrameworkUtil.getEgsccBundleContext();
// The stateless service implementation
ConfigurationTrackingService myService = new ConfigurationTrackingServiceImpl();
// Register the service to the OSGi context
egsccBc.registerService(ConfigurationTrackingService.class, myService);
62. ESA UNCLASSIFIED - For Official Use !62
Stateless Service Pattern
Code usage – Client Side – Service Consumer
The client resolves the service via the OSGi bundle context
Service resolution done by using the Infrastructure utilities, or
by Blueprint, OSGi Service Trackers, etc…
OSGi services are unique in the OSGi Context Stack
Multiple instances are supported by specifying properties
// Get the EGS-CC Bundle context, provided by the Infrastructure
EgsccBundleContext egsccBc = EgsccFrameworkUtil.getEgsccBundleContext();
// Retrieve the service from OSGi
ConfigurationTrackingService myService = egsccBc.getService(ConfigurationTrackingService.class);
// Consume the service via the service object, by calling its methods
ConfigurationItemContainer confItemContainer = myService.getConfigurationItems();
63. ESA UNCLASSIFIED - For Official Use !63
OneWay Stereotype
In EGS-CC the presence of the stereotype <<OneWay>> in methods, can be
placed in both Stateless and Conversational interface methods.
The method must return void and must not declare any exception
64. ESA UNCLASSIFIED - For Official Use !64
OneWay Stereotype
The interface IMcmDefinitionListener in this case will have Java annotations to identify the
One-Way methods
The @OneWay annotation is read by the Component Framework at runtime, and it will
choose the right way to handle it, during the remoting of the service
Details about remoting are explained later
public interface IMcmDefinitionListener
{
@OneWay
void onSubscriptionClosed();
@OneWay
void onUpdate(McmDefinitionSnapshot mcmDefinitionUpdate);
}
65. ESA UNCLASSIFIED - For Official Use !65
Conversational Service Pattern
The Conversational Service pattern in EGS-CC can be defined using the
<<Conversation>> stereotype
Stateful service where the service provider maintains the conversation state
A dedicated instance of the service provider serves one and only one
conversation
66. ESA UNCLASSIFIED - For Official Use !66
Conversational Service Pattern
The code generation in this case requires a factory interface (Abstract Factory
design pattern), which can be used by the service consumer to initialize the
conversation
The Java annotation @ConversationalInterface accepts a parameter which
identifies the type of Conversation
67. ESA UNCLASSIFIED - For Official Use !67
Conversational Service Pattern
The generated code
@ConversationalInterface(type = ConversationType.BASIC)
public interface IMcmDefinitionSupplier
{
@StartConversation
void subscribe(McmDefinitionFilter filter);
@EndConversation
void unsubscribe();
void updateSubscription(McmDefinitionFilter filter);
}
@Service
public interface McmDefinitionMonitoringService extends IMcmDefinitionSupplier
{
}