SlideShare a Scribd company logo
1 of 36
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
OSGi R7 upcoming specifications
David Bosschaert & Carsten Ziegeler | Adobe
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Carsten Ziegeler
 RnD Adobe Research Switzerland
 Member of the Apache Software Foundation
 VP of Apache Felix and Sling
 OSGi Expert Groups and Board member
2
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
David Bosschaert
 Adobe R&D Ireland
 OSGi EEG co-chair
 Apache member and committer
 ISO JTC1 SC38 (Cloud Computing) Ireland committee member
3
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
OSGi Specification Process
 Requirements, Use Cases -> RFP
 Technical Specification -> RFC
 https://github.com/osgi/design
 Reference Implementation
 Conformance Test Suite
 Spec Chapter
4
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Converter
and Serialization Service
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Object Conversion
 Wouldn’t you like to convert anything to everything?
 Peter Kriens’ work in Bnd started it
 Convert
 Scalars, Collections, Arrays
 Interfaces, maps, DTOs, JavaBeans, Annotations
 Need predictable behaviour – as little implementation freedom as possible
 Can be customized
RFC 215 – Implementation in Apache Felix (/converter)
6
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Sample conversions
 Examples:
Converter c = new StandardConverter();
// Convert scalars
int i = c.convert("123").to(int.class);
UUID id = c.convert("067e6162-3b6f-4ae2-a171-2470b63dff00").to(UUID.class);
List<String> ls = Arrays.asList("978", "142", "-99");
short[] la = c.convert(ls).to(short[].class);
7
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Convert configuration data into typed information with defaults
Map<String, String> myMap = new HashMap<>();
myMap.put("refresh", "750");
myMap.put("other", "hello");
// Convert map structures
@interface MyAnnotation {
int refresh() default 500;
String temp() default "/tmp";
}
MyAnnotation myAnn = converter.convert(someMap).to(MyAnnotation.class)
int refresh = myAnn.refresh(); // 750
Strine temp = myAnn.temp(); // "/tmp"
8
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Customize your converter
The converter service itself always behaves the same
 Need customizations? Create a new converter: ConverterBuilder
 Change default behaviour of array to scalar conversion
 Convert char[] to String via adapter
// Default behaviour
String s = converter.convert(new char[] {‘h’, ‘i’}).to(String.class); // s = “h”
Converter c = converter.newConverterBuilder()
.rule(char[].class, String.class, MyCnv::caToString, MyCnv::stringToCA)
.build();
String s2 = c.convert(new char[] {‘h’, ‘i’}).to(String.class); // ss=“hi”
9
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Serialization service
 Take an object, turn it into a file/stream, and back
 with the help of the converter
 YAML, JSON, or your own format
 Serializations can be customized with the converter
10
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Example JSON Serializer
@Reference(target="(osgi.mimetype=application/json)")
Serializer jsonSerializer;
public void someMethod() {
Map m = … some map …;
String s = jsonSerializer.serialize(m).toString();
MyBean someBean = … some Java Bean …;
String s2 = jsonSerializer.serialize(someBean).toString();
// and deserialize back
MyBean recreated = jsonSerializer.deserialize(MyBean.class).from(s2);
11
{"prop1": "val1",
"prop2": 42,
"nested":
{"really": true}
}
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Config Admin and Configurator
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
OSGi Configurations
 Configuration Admin Improvements
 Alias for factory configurations
 Optimized change handling
 Revived ConfigurationPlugin
13
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Factory Configuration Alias
14
Configuration
Admin
Factor
y
Cfg
create
PID?
Factory PID
Configuration
Admin
Factor
y
Cfg
create
PID=Factory PID#alias
Factory PID
Alias
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Configuration Handling
15
Configuration
Admin
Cfg
update
Components
Managed
Service
Listeners
Changed?
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Configuration Admin Plugins
16
Configuration
Admin
Component
Plugin
Plugin
Plugin
Plugin
Cfg Cfg‘
prop=${database.url
}
prop=myserver:987
7
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Reusable Configuration Format I
configurations:
- my.special.component:
some_prop: 42
and_another: "some string"
- and.a.factory.cmp#foo
...
- and.a.factory.cmp#bar
...
17
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Reusable Configuration Format II
configurations:
- my.special.component:
some_prop: 42
and_another: "some string"
:configurator:environments:
- dev
- test
18
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
OSGi Configurator
 Configurations as bundle resources
 Environment support
 Binaries
 State handling and ranking
19
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Cluster Information
previously known as Cloud Ecosystems
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Cluster Information
OSGi frameworks running in a distributed environment
 Cloud
 IoT
 <buzzword xyz in the future>
Many frameworks
 New ones appearing
 … and disappearing
 Other entities too, like databases
21
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Cluster Information
Discovery of OSGi frameworks in a distributed environment
 Find out what is available
 get notifications of changes
 Provision your application within the given resources
 Also: non-OSGi frameworks (e.g. Database)
 Monitor your application
 Make changes if needed
RFC 183 – Implementation in Eclipse Concierge
22
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Cluster Information
FrameworkNodeStatus service provides metadata
 Java version
 OSGi version
 OS version
 IP address
 Physical location (country, ISO 3166)
 Metrics
 tags / other / custom
 Provisioning API (install/start/stop/uninstall bundles etc…)
23
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Declarative Service updates
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Declarative Service Updates
 Field Injection of activation objects
 Constructor injection
 Nicer property handling
25
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Activation Objects
26
@Component
public class MyComponent {
public @interface Config {
int easy_max() default 10;
int medium_max() default 50;
int hard_max() default 100;
}
@Activate
private BundleContext bundleContext;
@Activate
private Config config;
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Constructor Injection
27
@Component
public class MyComponent {
@Activate
public MyComponent(
BundleContext bundleContext,
@Reference EventAdmin eventAdmin,
Config config,
@Reference List<Receivers> receivers) {
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Component Properties pre R7
28
@Component(service = ServletContextHelper.class,
property = {
HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=" + AppServletContext.NAME,
HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH + "=/guessinggame"
}
)
public class AppServletContext extends ServletContextHelper {
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Custom Annotations
29
@ComponentPropertyType
public @interface ServletContext {
String osgi_http_whiteboard_context_name();
String osgi_http_whiteboard_context_path();
}
@Component(service = ServletContextHelper.class)
@ServletContext(
osgi_http_whiteboard_context_name = AppServletContext.NAME,
osgi_http_whiteboard_context_path = "/guessinggame“
)
public class AppServletContext extends ServletContextHelper {
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Push Streams
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Push Streams
Like Java 8 streams, but data is pushed
For event-based data, which may or may not be infinite
 Async processing and buffering
 Supports back pressure
 Mapping, filtering, flat-mapping
 Coalescing and windowing
 Merging and splitting
Example:
 Humidity reader/processor stream
 sends an alarm when over 90%
RFC 216 – Implementation will be in Apache Aries
31
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Asynchronous Push Streams example
PushStreamProvider psp = new PushStreamProvider();
try (SimplePushEventSource<Long> ses = psp.createSimpleEventSource(Long.class)) {
ses.connectPromise().then(p -> {
long counter = 0;
while (counter < Long.MAX_VALUE && ses.isConnected()) {
ses.publish(++counter);
Thread.sleep(100);
System.out.println("Published: " + counter);
}
return null;
});
psp.createStream(ses).
filter(l -> l % 2L == 0).
forEach(f -> System.out.println("Consumed even: " + f));
32
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Additional OSGi R7 work
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
And much more...
 Service Decorations
 Http Whiteboard Update
 Transaction Control
 JPA Updates
 Remote Service Intents
34
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
R7 Early Spec Draft Available
 https://www.osgi.org/developer/specifications/drafts/
35
New and cool in OSGi R7 - David Bosschaert & Carsten Ziegeler

More Related Content

What's hot

Cloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2U
Cloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2UCloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2U
Cloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2USufyaan Kazi
 
NetDevOps Development Environments
NetDevOps Development EnvironmentsNetDevOps Development Environments
NetDevOps Development EnvironmentsJoel W. King
 
A year with Cloud Foundry and BOSH
A year with Cloud Foundry and BOSHA year with Cloud Foundry and BOSH
A year with Cloud Foundry and BOSHTroy Astle
 
Apache Aries: A blueprint for developing with OSGi and JEE
Apache Aries: A blueprint for developing with OSGi and JEEApache Aries: A blueprint for developing with OSGi and JEE
Apache Aries: A blueprint for developing with OSGi and JEEmahrwald
 
Modular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache KarafModular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache KarafIoan Eugen Stan
 
Introduction to MANTL Data Platform
Introduction to MANTL Data PlatformIntroduction to MANTL Data Platform
Introduction to MANTL Data PlatformCisco DevNet
 
Crafting a New Enterprise App Platform with Cloud Foundry, Kubernetes, Istio,...
Crafting a New Enterprise App Platform with Cloud Foundry, Kubernetes, Istio,...Crafting a New Enterprise App Platform with Cloud Foundry, Kubernetes, Istio,...
Crafting a New Enterprise App Platform with Cloud Foundry, Kubernetes, Istio,...VMware Tanzu
 
Cloud standards interoperability: status update on OCCI and CDMI implementations
Cloud standards interoperability: status update on OCCI and CDMI implementationsCloud standards interoperability: status update on OCCI and CDMI implementations
Cloud standards interoperability: status update on OCCI and CDMI implementationsFlorian Feldhaus
 
HPE & Cloud Foundry @ CF Summit Berlin 2015
HPE & Cloud Foundry @ CF Summit Berlin 2015HPE & Cloud Foundry @ CF Summit Berlin 2015
HPE & Cloud Foundry @ CF Summit Berlin 2015Omri Gazitt
 
Routeサービスを使ったCloud FoundryアプリのAPI管理
Routeサービスを使ったCloud FoundryアプリのAPI管理Routeサービスを使ったCloud FoundryアプリのAPI管理
Routeサービスを使ったCloud FoundryアプリのAPI管理Kazuchika Sekiya
 
Oracle OCI APIs and SDK
Oracle OCI APIs and SDKOracle OCI APIs and SDK
Oracle OCI APIs and SDKPhil Wilkins
 
Cloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the Proxy
Cloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the ProxyCloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the Proxy
Cloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the ProxyMaki Toshio
 
Connect Your Functions with RSocket
Connect Your Functions with RSocketConnect Your Functions with RSocket
Connect Your Functions with RSocketVMware Tanzu
 
Everyday life with Cloud Foundry in a big organization (Cloud Foundry Days To...
Everyday life with Cloud Foundry in a big organization (Cloud Foundry Days To...Everyday life with Cloud Foundry in a big organization (Cloud Foundry Days To...
Everyday life with Cloud Foundry in a big organization (Cloud Foundry Days To...CAFxX
 
The Web on OSGi: Here's How
The Web on OSGi: Here's HowThe Web on OSGi: Here's How
The Web on OSGi: Here's Howmrdon
 
Introducing Spring Cloud Gateway and API Hub for VMware Tanzu
Introducing Spring Cloud Gateway and API Hub for VMware TanzuIntroducing Spring Cloud Gateway and API Hub for VMware Tanzu
Introducing Spring Cloud Gateway and API Hub for VMware TanzuVMware Tanzu
 
D-DAY 2015 Paas ORACLE
D-DAY 2015 Paas ORACLED-DAY 2015 Paas ORACLE
D-DAY 2015 Paas ORACLEDEVOPS D-DAY
 
CoreOS 101 - EMC World 2015
CoreOS 101 - EMC World 2015CoreOS 101 - EMC World 2015
CoreOS 101 - EMC World 2015Jonas Rosland
 
Lattice: A Cloud-Native Platform for Your Spring Applications
Lattice: A Cloud-Native Platform for Your Spring ApplicationsLattice: A Cloud-Native Platform for Your Spring Applications
Lattice: A Cloud-Native Platform for Your Spring ApplicationsMatt Stine
 
OSGi DevCon 2009 Review
OSGi DevCon 2009 ReviewOSGi DevCon 2009 Review
OSGi DevCon 2009 Reviewnjbartlett
 

What's hot (20)

Cloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2U
Cloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2UCloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2U
Cloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2U
 
NetDevOps Development Environments
NetDevOps Development EnvironmentsNetDevOps Development Environments
NetDevOps Development Environments
 
A year with Cloud Foundry and BOSH
A year with Cloud Foundry and BOSHA year with Cloud Foundry and BOSH
A year with Cloud Foundry and BOSH
 
Apache Aries: A blueprint for developing with OSGi and JEE
Apache Aries: A blueprint for developing with OSGi and JEEApache Aries: A blueprint for developing with OSGi and JEE
Apache Aries: A blueprint for developing with OSGi and JEE
 
Modular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache KarafModular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache Karaf
 
Introduction to MANTL Data Platform
Introduction to MANTL Data PlatformIntroduction to MANTL Data Platform
Introduction to MANTL Data Platform
 
Crafting a New Enterprise App Platform with Cloud Foundry, Kubernetes, Istio,...
Crafting a New Enterprise App Platform with Cloud Foundry, Kubernetes, Istio,...Crafting a New Enterprise App Platform with Cloud Foundry, Kubernetes, Istio,...
Crafting a New Enterprise App Platform with Cloud Foundry, Kubernetes, Istio,...
 
Cloud standards interoperability: status update on OCCI and CDMI implementations
Cloud standards interoperability: status update on OCCI and CDMI implementationsCloud standards interoperability: status update on OCCI and CDMI implementations
Cloud standards interoperability: status update on OCCI and CDMI implementations
 
HPE & Cloud Foundry @ CF Summit Berlin 2015
HPE & Cloud Foundry @ CF Summit Berlin 2015HPE & Cloud Foundry @ CF Summit Berlin 2015
HPE & Cloud Foundry @ CF Summit Berlin 2015
 
Routeサービスを使ったCloud FoundryアプリのAPI管理
Routeサービスを使ったCloud FoundryアプリのAPI管理Routeサービスを使ったCloud FoundryアプリのAPI管理
Routeサービスを使ったCloud FoundryアプリのAPI管理
 
Oracle OCI APIs and SDK
Oracle OCI APIs and SDKOracle OCI APIs and SDK
Oracle OCI APIs and SDK
 
Cloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the Proxy
Cloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the ProxyCloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the Proxy
Cloud Foundry Day in Tokyo Lightning Talk - Cloud Foundry over the Proxy
 
Connect Your Functions with RSocket
Connect Your Functions with RSocketConnect Your Functions with RSocket
Connect Your Functions with RSocket
 
Everyday life with Cloud Foundry in a big organization (Cloud Foundry Days To...
Everyday life with Cloud Foundry in a big organization (Cloud Foundry Days To...Everyday life with Cloud Foundry in a big organization (Cloud Foundry Days To...
Everyday life with Cloud Foundry in a big organization (Cloud Foundry Days To...
 
The Web on OSGi: Here's How
The Web on OSGi: Here's HowThe Web on OSGi: Here's How
The Web on OSGi: Here's How
 
Introducing Spring Cloud Gateway and API Hub for VMware Tanzu
Introducing Spring Cloud Gateway and API Hub for VMware TanzuIntroducing Spring Cloud Gateway and API Hub for VMware Tanzu
Introducing Spring Cloud Gateway and API Hub for VMware Tanzu
 
D-DAY 2015 Paas ORACLE
D-DAY 2015 Paas ORACLED-DAY 2015 Paas ORACLE
D-DAY 2015 Paas ORACLE
 
CoreOS 101 - EMC World 2015
CoreOS 101 - EMC World 2015CoreOS 101 - EMC World 2015
CoreOS 101 - EMC World 2015
 
Lattice: A Cloud-Native Platform for Your Spring Applications
Lattice: A Cloud-Native Platform for Your Spring ApplicationsLattice: A Cloud-Native Platform for Your Spring Applications
Lattice: A Cloud-Native Platform for Your Spring Applications
 
OSGi DevCon 2009 Review
OSGi DevCon 2009 ReviewOSGi DevCon 2009 Review
OSGi DevCon 2009 Review
 

Viewers also liked

How the Bosch Group is making use of OSGi for IoT - Kai Hackbarth
How the Bosch Group is making use of OSGi for IoT - Kai HackbarthHow the Bosch Group is making use of OSGi for IoT - Kai Hackbarth
How the Bosch Group is making use of OSGi for IoT - Kai Hackbarthmfrancis
 
Java 7 Modularity: a View from the Gallery
Java 7 Modularity: a View from the GalleryJava 7 Modularity: a View from the Gallery
Java 7 Modularity: a View from the Gallerynjbartlett
 
It's beautiful enRoute - Paul Fraser
It's beautiful enRoute - Paul FraserIt's beautiful enRoute - Paul Fraser
It's beautiful enRoute - Paul Frasermfrancis
 
Moved to https://slidr.io/azzazzel/osgi-fundamentals
Moved to https://slidr.io/azzazzel/osgi-fundamentalsMoved to https://slidr.io/azzazzel/osgi-fundamentals
Moved to https://slidr.io/azzazzel/osgi-fundamentalsMilen Dyankov
 
Moved to https://slidr.io/azzazzel/osgi-for-outsiders
Moved to https://slidr.io/azzazzel/osgi-for-outsidersMoved to https://slidr.io/azzazzel/osgi-for-outsiders
Moved to https://slidr.io/azzazzel/osgi-for-outsidersMilen Dyankov
 
OSGi & Java in Industrial IoT - More than a Solid Trend - Essential to Scale ...
OSGi & Java in Industrial IoT - More than a Solid Trend - Essential to Scale ...OSGi & Java in Industrial IoT - More than a Solid Trend - Essential to Scale ...
OSGi & Java in Industrial IoT - More than a Solid Trend - Essential to Scale ...mfrancis
 
Protobuf & Code Generation + Go-Kit
Protobuf & Code Generation + Go-KitProtobuf & Code Generation + Go-Kit
Protobuf & Code Generation + Go-KitManfred Touron
 
Reactive Programming in Spring 5
Reactive Programming in Spring 5Reactive Programming in Spring 5
Reactive Programming in Spring 5poutsma
 
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио...
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио..."PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио...
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио...Badoo Development
 
"Производительность MySQL: что нового?"
"Производительность MySQL: что нового?""Производительность MySQL: что нового?"
"Производительность MySQL: что нового?"Badoo Development
 
"Великолепный API без Rest", Констатин Якушев (Badoo)
 "Великолепный API без Rest", Констатин Якушев (Badoo) "Великолепный API без Rest", Констатин Якушев (Badoo)
"Великолепный API без Rest", Констатин Якушев (Badoo)Badoo Development
 
Thrift vs Protocol Buffers vs Avro - Biased Comparison
Thrift vs Protocol Buffers vs Avro - Biased ComparisonThrift vs Protocol Buffers vs Avro - Biased Comparison
Thrift vs Protocol Buffers vs Avro - Biased ComparisonIgor Anishchenko
 
Salesforce Spring 17 Release Overview
Salesforce Spring 17 Release OverviewSalesforce Spring 17 Release Overview
Salesforce Spring 17 Release OverviewRoy Gilad
 

Viewers also liked (17)

How the Bosch Group is making use of OSGi for IoT - Kai Hackbarth
How the Bosch Group is making use of OSGi for IoT - Kai HackbarthHow the Bosch Group is making use of OSGi for IoT - Kai Hackbarth
How the Bosch Group is making use of OSGi for IoT - Kai Hackbarth
 
Java 7 Modularity: a View from the Gallery
Java 7 Modularity: a View from the GalleryJava 7 Modularity: a View from the Gallery
Java 7 Modularity: a View from the Gallery
 
It's beautiful enRoute - Paul Fraser
It's beautiful enRoute - Paul FraserIt's beautiful enRoute - Paul Fraser
It's beautiful enRoute - Paul Fraser
 
Moved to https://slidr.io/azzazzel/osgi-fundamentals
Moved to https://slidr.io/azzazzel/osgi-fundamentalsMoved to https://slidr.io/azzazzel/osgi-fundamentals
Moved to https://slidr.io/azzazzel/osgi-fundamentals
 
Moved to https://slidr.io/azzazzel/osgi-for-outsiders
Moved to https://slidr.io/azzazzel/osgi-for-outsidersMoved to https://slidr.io/azzazzel/osgi-for-outsiders
Moved to https://slidr.io/azzazzel/osgi-for-outsiders
 
OSGi & Java in Industrial IoT - More than a Solid Trend - Essential to Scale ...
OSGi & Java in Industrial IoT - More than a Solid Trend - Essential to Scale ...OSGi & Java in Industrial IoT - More than a Solid Trend - Essential to Scale ...
OSGi & Java in Industrial IoT - More than a Solid Trend - Essential to Scale ...
 
Reactive Architectures
Reactive ArchitecturesReactive Architectures
Reactive Architectures
 
Why OSGi?
Why OSGi?Why OSGi?
Why OSGi?
 
Protobuf & Code Generation + Go-Kit
Protobuf & Code Generation + Go-KitProtobuf & Code Generation + Go-Kit
Protobuf & Code Generation + Go-Kit
 
OSGi Blueprint Services
OSGi Blueprint ServicesOSGi Blueprint Services
OSGi Blueprint Services
 
Reactive Programming in Spring 5
Reactive Programming in Spring 5Reactive Programming in Spring 5
Reactive Programming in Spring 5
 
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио...
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио..."PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио...
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио...
 
"Производительность MySQL: что нового?"
"Производительность MySQL: что нового?""Производительность MySQL: что нового?"
"Производительность MySQL: что нового?"
 
"Великолепный API без Rest", Констатин Якушев (Badoo)
 "Великолепный API без Rest", Констатин Якушев (Badoo) "Великолепный API без Rest", Констатин Якушев (Badoo)
"Великолепный API без Rest", Констатин Якушев (Badoo)
 
Thrift vs Protocol Buffers vs Avro - Biased Comparison
Thrift vs Protocol Buffers vs Avro - Biased ComparisonThrift vs Protocol Buffers vs Avro - Biased Comparison
Thrift vs Protocol Buffers vs Avro - Biased Comparison
 
Salesforce Spring 17 Release Overview
Salesforce Spring 17 Release OverviewSalesforce Spring 17 Release Overview
Salesforce Spring 17 Release Overview
 
Reversing Google Protobuf protocol
Reversing Google Protobuf protocolReversing Google Protobuf protocol
Reversing Google Protobuf protocol
 

Similar to New and cool in OSGi R7 - David Bosschaert & Carsten Ziegeler

Leveraging the Latest OSGi R7 Specifications - C Ziegeler & D Bosschaert
Leveraging the Latest OSGi R7 Specifications - C Ziegeler & D BosschaertLeveraging the Latest OSGi R7 Specifications - C Ziegeler & D Bosschaert
Leveraging the Latest OSGi R7 Specifications - C Ziegeler & D Bosschaertmfrancis
 
BeJUG Meetup - What's coming in the OSGi R7 Specification
BeJUG Meetup - What's coming in the OSGi R7 SpecificationBeJUG Meetup - What's coming in the OSGi R7 Specification
BeJUG Meetup - What's coming in the OSGi R7 SpecificationStijn Van Den Enden
 
Maximize the power of OSGi in AEM
Maximize the power of OSGi in AEM Maximize the power of OSGi in AEM
Maximize the power of OSGi in AEM ICF CIRCUIT
 
REST Development made Easy with ColdFusion Aether
REST Development made Easy with ColdFusion AetherREST Development made Easy with ColdFusion Aether
REST Development made Easy with ColdFusion AetherPavan Kumar
 
CI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateCI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateAmazon Web Services
 
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_SingaporeCI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_SingaporeAmazon Web Services
 
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegeler
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten ZiegelerOSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegeler
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegelermfrancis
 
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...Amazon Web Services
 
Breaking the Monolith road to containers.pdf
Breaking the Monolith road to containers.pdfBreaking the Monolith road to containers.pdf
Breaking the Monolith road to containers.pdfAmazon Web Services
 
Breaking the Monolith Using AWS Container Services
Breaking the Monolith Using AWS Container ServicesBreaking the Monolith Using AWS Container Services
Breaking the Monolith Using AWS Container ServicesAmazon Web Services
 
ABD315_Serverless ETL with AWS Glue
ABD315_Serverless ETL with AWS GlueABD315_Serverless ETL with AWS Glue
ABD315_Serverless ETL with AWS GlueAmazon Web Services
 
Integrate Your Favourite Microsoft DevOps Tools with AWS - AWS Summit Sydney
Integrate Your Favourite Microsoft DevOps Tools with AWS - AWS Summit SydneyIntegrate Your Favourite Microsoft DevOps Tools with AWS - AWS Summit Sydney
Integrate Your Favourite Microsoft DevOps Tools with AWS - AWS Summit SydneyAmazon Web Services
 
Breaking the Monolith road to containers.pdf
Breaking the Monolith road to containers.pdfBreaking the Monolith road to containers.pdf
Breaking the Monolith road to containers.pdfAmazon Web Services
 
20200803 - Serverless with AWS @ HELTECH
20200803 - Serverless with AWS @ HELTECH20200803 - Serverless with AWS @ HELTECH
20200803 - Serverless with AWS @ HELTECHMarcia Villalba
 
Interstella 8888: CICD for Containers on AWS - CON319 - re:Invent 2017
Interstella 8888: CICD for Containers on AWS - CON319 - re:Invent 2017Interstella 8888: CICD for Containers on AWS - CON319 - re:Invent 2017
Interstella 8888: CICD for Containers on AWS - CON319 - re:Invent 2017Amazon Web Services
 
CON319_Interstella GTC CICD for Containers on AWS
CON319_Interstella GTC CICD for Containers on AWSCON319_Interstella GTC CICD for Containers on AWS
CON319_Interstella GTC CICD for Containers on AWSAmazon Web Services
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)mfrancis
 
Building CI-CD Pipelines for Serverless Applications
Building CI-CD Pipelines for Serverless ApplicationsBuilding CI-CD Pipelines for Serverless Applications
Building CI-CD Pipelines for Serverless ApplicationsAmazon Web Services
 

Similar to New and cool in OSGi R7 - David Bosschaert & Carsten Ziegeler (20)

Leveraging the Latest OSGi R7 Specifications - C Ziegeler & D Bosschaert
Leveraging the Latest OSGi R7 Specifications - C Ziegeler & D BosschaertLeveraging the Latest OSGi R7 Specifications - C Ziegeler & D Bosschaert
Leveraging the Latest OSGi R7 Specifications - C Ziegeler & D Bosschaert
 
BeJUG Meetup - What's coming in the OSGi R7 Specification
BeJUG Meetup - What's coming in the OSGi R7 SpecificationBeJUG Meetup - What's coming in the OSGi R7 Specification
BeJUG Meetup - What's coming in the OSGi R7 Specification
 
Maximize the power of OSGi in AEM
Maximize the power of OSGi in AEM Maximize the power of OSGi in AEM
Maximize the power of OSGi in AEM
 
REST Development made Easy with ColdFusion Aether
REST Development made Easy with ColdFusion AetherREST Development made Easy with ColdFusion Aether
REST Development made Easy with ColdFusion Aether
 
CI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateCI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and Fargate
 
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_SingaporeCI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
 
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegeler
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten ZiegelerOSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegeler
OSGi Enterprise R6 specs are out! - David Bosschaert & Carsten Ziegeler
 
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...
 
Breaking the Monolith road to containers.pdf
Breaking the Monolith road to containers.pdfBreaking the Monolith road to containers.pdf
Breaking the Monolith road to containers.pdf
 
Breaking the Monolith Using AWS Container Services
Breaking the Monolith Using AWS Container ServicesBreaking the Monolith Using AWS Container Services
Breaking the Monolith Using AWS Container Services
 
Deep Dive - CI/CD on AWS
Deep Dive - CI/CD on AWSDeep Dive - CI/CD on AWS
Deep Dive - CI/CD on AWS
 
Sst hackathon express
Sst hackathon expressSst hackathon express
Sst hackathon express
 
ABD315_Serverless ETL with AWS Glue
ABD315_Serverless ETL with AWS GlueABD315_Serverless ETL with AWS Glue
ABD315_Serverless ETL with AWS Glue
 
Integrate Your Favourite Microsoft DevOps Tools with AWS - AWS Summit Sydney
Integrate Your Favourite Microsoft DevOps Tools with AWS - AWS Summit SydneyIntegrate Your Favourite Microsoft DevOps Tools with AWS - AWS Summit Sydney
Integrate Your Favourite Microsoft DevOps Tools with AWS - AWS Summit Sydney
 
Breaking the Monolith road to containers.pdf
Breaking the Monolith road to containers.pdfBreaking the Monolith road to containers.pdf
Breaking the Monolith road to containers.pdf
 
20200803 - Serverless with AWS @ HELTECH
20200803 - Serverless with AWS @ HELTECH20200803 - Serverless with AWS @ HELTECH
20200803 - Serverless with AWS @ HELTECH
 
Interstella 8888: CICD for Containers on AWS - CON319 - re:Invent 2017
Interstella 8888: CICD for Containers on AWS - CON319 - re:Invent 2017Interstella 8888: CICD for Containers on AWS - CON319 - re:Invent 2017
Interstella 8888: CICD for Containers on AWS - CON319 - re:Invent 2017
 
CON319_Interstella GTC CICD for Containers on AWS
CON319_Interstella GTC CICD for Containers on AWSCON319_Interstella GTC CICD for Containers on AWS
CON319_Interstella GTC CICD for Containers on AWS
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
 
Building CI-CD Pipelines for Serverless Applications
Building CI-CD Pipelines for Serverless ApplicationsBuilding CI-CD Pipelines for Serverless Applications
Building CI-CD Pipelines for Serverless Applications
 

More from mfrancis

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...mfrancis
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)mfrancis
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)mfrancis
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruumfrancis
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...mfrancis
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...mfrancis
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...mfrancis
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...mfrancis
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)mfrancis
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...mfrancis
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...mfrancis
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...mfrancis
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)mfrancis
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)mfrancis
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)mfrancis
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...mfrancis
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)mfrancis
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...mfrancis
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)mfrancis
 
Visualization of OSGi based Software Architectures in Virtual Reality - Lisa ...
Visualization of OSGi based Software Architectures in Virtual Reality - Lisa ...Visualization of OSGi based Software Architectures in Virtual Reality - Lisa ...
Visualization of OSGi based Software Architectures in Virtual Reality - Lisa ...mfrancis
 

More from mfrancis (20)

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)
 
Visualization of OSGi based Software Architectures in Virtual Reality - Lisa ...
Visualization of OSGi based Software Architectures in Virtual Reality - Lisa ...Visualization of OSGi based Software Architectures in Virtual Reality - Lisa ...
Visualization of OSGi based Software Architectures in Virtual Reality - Lisa ...
 

Recently uploaded

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 

Recently uploaded (20)

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 

New and cool in OSGi R7 - David Bosschaert & Carsten Ziegeler

  • 1. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. OSGi R7 upcoming specifications David Bosschaert & Carsten Ziegeler | Adobe
  • 2. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Carsten Ziegeler  RnD Adobe Research Switzerland  Member of the Apache Software Foundation  VP of Apache Felix and Sling  OSGi Expert Groups and Board member 2
  • 3. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. David Bosschaert  Adobe R&D Ireland  OSGi EEG co-chair  Apache member and committer  ISO JTC1 SC38 (Cloud Computing) Ireland committee member 3
  • 4. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. OSGi Specification Process  Requirements, Use Cases -> RFP  Technical Specification -> RFC  https://github.com/osgi/design  Reference Implementation  Conformance Test Suite  Spec Chapter 4
  • 5. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Converter and Serialization Service
  • 6. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Object Conversion  Wouldn’t you like to convert anything to everything?  Peter Kriens’ work in Bnd started it  Convert  Scalars, Collections, Arrays  Interfaces, maps, DTOs, JavaBeans, Annotations  Need predictable behaviour – as little implementation freedom as possible  Can be customized RFC 215 – Implementation in Apache Felix (/converter) 6
  • 7. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Sample conversions  Examples: Converter c = new StandardConverter(); // Convert scalars int i = c.convert("123").to(int.class); UUID id = c.convert("067e6162-3b6f-4ae2-a171-2470b63dff00").to(UUID.class); List<String> ls = Arrays.asList("978", "142", "-99"); short[] la = c.convert(ls).to(short[].class); 7
  • 8. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Convert configuration data into typed information with defaults Map<String, String> myMap = new HashMap<>(); myMap.put("refresh", "750"); myMap.put("other", "hello"); // Convert map structures @interface MyAnnotation { int refresh() default 500; String temp() default "/tmp"; } MyAnnotation myAnn = converter.convert(someMap).to(MyAnnotation.class) int refresh = myAnn.refresh(); // 750 Strine temp = myAnn.temp(); // "/tmp" 8
  • 9. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Customize your converter The converter service itself always behaves the same  Need customizations? Create a new converter: ConverterBuilder  Change default behaviour of array to scalar conversion  Convert char[] to String via adapter // Default behaviour String s = converter.convert(new char[] {‘h’, ‘i’}).to(String.class); // s = “h” Converter c = converter.newConverterBuilder() .rule(char[].class, String.class, MyCnv::caToString, MyCnv::stringToCA) .build(); String s2 = c.convert(new char[] {‘h’, ‘i’}).to(String.class); // ss=“hi” 9
  • 10. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Serialization service  Take an object, turn it into a file/stream, and back  with the help of the converter  YAML, JSON, or your own format  Serializations can be customized with the converter 10
  • 11. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Example JSON Serializer @Reference(target="(osgi.mimetype=application/json)") Serializer jsonSerializer; public void someMethod() { Map m = … some map …; String s = jsonSerializer.serialize(m).toString(); MyBean someBean = … some Java Bean …; String s2 = jsonSerializer.serialize(someBean).toString(); // and deserialize back MyBean recreated = jsonSerializer.deserialize(MyBean.class).from(s2); 11 {"prop1": "val1", "prop2": 42, "nested": {"really": true} }
  • 12. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Config Admin and Configurator
  • 13. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. OSGi Configurations  Configuration Admin Improvements  Alias for factory configurations  Optimized change handling  Revived ConfigurationPlugin 13
  • 14. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Factory Configuration Alias 14 Configuration Admin Factor y Cfg create PID? Factory PID Configuration Admin Factor y Cfg create PID=Factory PID#alias Factory PID Alias
  • 15. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Configuration Handling 15 Configuration Admin Cfg update Components Managed Service Listeners Changed?
  • 16. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Configuration Admin Plugins 16 Configuration Admin Component Plugin Plugin Plugin Plugin Cfg Cfg‘ prop=${database.url } prop=myserver:987 7
  • 17. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Reusable Configuration Format I configurations: - my.special.component: some_prop: 42 and_another: "some string" - and.a.factory.cmp#foo ... - and.a.factory.cmp#bar ... 17
  • 18. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Reusable Configuration Format II configurations: - my.special.component: some_prop: 42 and_another: "some string" :configurator:environments: - dev - test 18
  • 19. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. OSGi Configurator  Configurations as bundle resources  Environment support  Binaries  State handling and ranking 19
  • 20. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Cluster Information previously known as Cloud Ecosystems
  • 21. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Cluster Information OSGi frameworks running in a distributed environment  Cloud  IoT  <buzzword xyz in the future> Many frameworks  New ones appearing  … and disappearing  Other entities too, like databases 21
  • 22. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Cluster Information Discovery of OSGi frameworks in a distributed environment  Find out what is available  get notifications of changes  Provision your application within the given resources  Also: non-OSGi frameworks (e.g. Database)  Monitor your application  Make changes if needed RFC 183 – Implementation in Eclipse Concierge 22
  • 23. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Cluster Information FrameworkNodeStatus service provides metadata  Java version  OSGi version  OS version  IP address  Physical location (country, ISO 3166)  Metrics  tags / other / custom  Provisioning API (install/start/stop/uninstall bundles etc…) 23
  • 24. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Declarative Service updates
  • 25. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Declarative Service Updates  Field Injection of activation objects  Constructor injection  Nicer property handling 25
  • 26. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Activation Objects 26 @Component public class MyComponent { public @interface Config { int easy_max() default 10; int medium_max() default 50; int hard_max() default 100; } @Activate private BundleContext bundleContext; @Activate private Config config;
  • 27. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Constructor Injection 27 @Component public class MyComponent { @Activate public MyComponent( BundleContext bundleContext, @Reference EventAdmin eventAdmin, Config config, @Reference List<Receivers> receivers) {
  • 28. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Component Properties pre R7 28 @Component(service = ServletContextHelper.class, property = { HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=" + AppServletContext.NAME, HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH + "=/guessinggame" } ) public class AppServletContext extends ServletContextHelper {
  • 29. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Custom Annotations 29 @ComponentPropertyType public @interface ServletContext { String osgi_http_whiteboard_context_name(); String osgi_http_whiteboard_context_path(); } @Component(service = ServletContextHelper.class) @ServletContext( osgi_http_whiteboard_context_name = AppServletContext.NAME, osgi_http_whiteboard_context_path = "/guessinggame“ ) public class AppServletContext extends ServletContextHelper {
  • 30. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Push Streams
  • 31. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Push Streams Like Java 8 streams, but data is pushed For event-based data, which may or may not be infinite  Async processing and buffering  Supports back pressure  Mapping, filtering, flat-mapping  Coalescing and windowing  Merging and splitting Example:  Humidity reader/processor stream  sends an alarm when over 90% RFC 216 – Implementation will be in Apache Aries 31
  • 32. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Asynchronous Push Streams example PushStreamProvider psp = new PushStreamProvider(); try (SimplePushEventSource<Long> ses = psp.createSimpleEventSource(Long.class)) { ses.connectPromise().then(p -> { long counter = 0; while (counter < Long.MAX_VALUE && ses.isConnected()) { ses.publish(++counter); Thread.sleep(100); System.out.println("Published: " + counter); } return null; }); psp.createStream(ses). filter(l -> l % 2L == 0). forEach(f -> System.out.println("Consumed even: " + f)); 32
  • 33. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Additional OSGi R7 work
  • 34. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. And much more...  Service Decorations  Http Whiteboard Update  Transaction Control  JPA Updates  Remote Service Intents 34
  • 35. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. R7 Early Spec Draft Available  https://www.osgi.org/developer/specifications/drafts/ 35