Enviar pesquisa
Carregar
OSGi World Congress Workshop Exercise - P Kriens
•
0 gostou
•
721 visualizações
M
mfrancis
Seguir
OSGi World Congress 2002
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 62
Baixar agora
Baixar para ler offline
Recomendados
Repetition is bad, repetition is bad.
Repetition is bad, repetition is bad.
Michele Giacobazzi
The Ring programming language version 1.5.3 book - Part 89 of 184
The Ring programming language version 1.5.3 book - Part 89 of 184
Mahmoud Samir Fayed
Dagger & rxjava & retrofit
Dagger & rxjava & retrofit
Ted Liang
Reactive Programming no Android
Reactive Programming no Android
Guilherme Branco
Akka.NET streams and reactive streams
Akka.NET streams and reactive streams
Bartosz Sypytkowski
Reactive Programming on Android
Reactive Programming on Android
Guilherme Branco
Behind modern concurrency primitives
Behind modern concurrency primitives
Bartosz Sypytkowski
The Ring programming language version 1.7 book - Part 30 of 196
The Ring programming language version 1.7 book - Part 30 of 196
Mahmoud Samir Fayed
Recomendados
Repetition is bad, repetition is bad.
Repetition is bad, repetition is bad.
Michele Giacobazzi
The Ring programming language version 1.5.3 book - Part 89 of 184
The Ring programming language version 1.5.3 book - Part 89 of 184
Mahmoud Samir Fayed
Dagger & rxjava & retrofit
Dagger & rxjava & retrofit
Ted Liang
Reactive Programming no Android
Reactive Programming no Android
Guilherme Branco
Akka.NET streams and reactive streams
Akka.NET streams and reactive streams
Bartosz Sypytkowski
Reactive Programming on Android
Reactive Programming on Android
Guilherme Branco
Behind modern concurrency primitives
Behind modern concurrency primitives
Bartosz Sypytkowski
The Ring programming language version 1.7 book - Part 30 of 196
The Ring programming language version 1.7 book - Part 30 of 196
Mahmoud Samir Fayed
Registro de venta
Registro de venta
lupe ga
The Ring programming language version 1.8 book - Part 88 of 202
The Ring programming language version 1.8 book - Part 88 of 202
Mahmoud Samir Fayed
The Ring programming language version 1.3 book - Part 17 of 88
The Ring programming language version 1.3 book - Part 17 of 88
Mahmoud Samir Fayed
The Ring programming language version 1.9 book - Part 91 of 210
The Ring programming language version 1.9 book - Part 91 of 210
Mahmoud Samir Fayed
The Ring programming language version 1.8 book - Part 31 of 202
The Ring programming language version 1.8 book - Part 31 of 202
Mahmoud Samir Fayed
2019-10-05 - Untangled - Voxxed days ticino
2019-10-05 - Untangled - Voxxed days ticino
Arnaud Bos
The Ring programming language version 1.10 book - Part 94 of 212
The Ring programming language version 1.10 book - Part 94 of 212
Mahmoud Samir Fayed
Reactive programming with RxAndroid
Reactive programming with RxAndroid
Savvycom Savvycom
Async Best Practices
Async Best Practices
Lluis Franco
Orsiso
Orsiso
e27
The Ring programming language version 1.5.2 book - Part 26 of 181
The Ring programming language version 1.5.2 book - Part 26 of 181
Mahmoud Samir Fayed
Java 7 Launch Event at LyonJUG, Lyon France. Fork / Join framework and Projec...
Java 7 Launch Event at LyonJUG, Lyon France. Fork / Join framework and Projec...
julien.ponge
Java 7 LavaJUG
Java 7 LavaJUG
julien.ponge
The Ring programming language version 1.10 book - Part 35 of 212
The Ring programming language version 1.10 book - Part 35 of 212
Mahmoud Samir Fayed
The Ring programming language version 1.9 book - Part 92 of 210
The Ring programming language version 1.9 book - Part 92 of 210
Mahmoud Samir Fayed
드로이드 나이츠 2018: RxJava 적용 팁 및 트러블 슈팅
드로이드 나이츠 2018: RxJava 적용 팁 및 트러블 슈팅
재춘 노
オープンデータを使ったモバイルアプリ開発(応用編)
オープンデータを使ったモバイルアプリ開発(応用編)
Takayuki Goto
Agile Iphone Development
Agile Iphone Development
Giordano Scalzo
The Ring programming language version 1.6 book - Part 28 of 189
The Ring programming language version 1.6 book - Part 28 of 189
Mahmoud Samir Fayed
devday2012
devday2012
Juan Lopes
OSGi Community Event 2010 - Its Not About Technology Anymore (including a Cas...
OSGi Community Event 2010 - Its Not About Technology Anymore (including a Cas...
mfrancis
OSGi Users' Forum Meeting 4 - 19 Jan 2010
OSGi Users' Forum Meeting 4 - 19 Jan 2010
mfrancis
Mais conteúdo relacionado
Mais procurados
Registro de venta
Registro de venta
lupe ga
The Ring programming language version 1.8 book - Part 88 of 202
The Ring programming language version 1.8 book - Part 88 of 202
Mahmoud Samir Fayed
The Ring programming language version 1.3 book - Part 17 of 88
The Ring programming language version 1.3 book - Part 17 of 88
Mahmoud Samir Fayed
The Ring programming language version 1.9 book - Part 91 of 210
The Ring programming language version 1.9 book - Part 91 of 210
Mahmoud Samir Fayed
The Ring programming language version 1.8 book - Part 31 of 202
The Ring programming language version 1.8 book - Part 31 of 202
Mahmoud Samir Fayed
2019-10-05 - Untangled - Voxxed days ticino
2019-10-05 - Untangled - Voxxed days ticino
Arnaud Bos
The Ring programming language version 1.10 book - Part 94 of 212
The Ring programming language version 1.10 book - Part 94 of 212
Mahmoud Samir Fayed
Reactive programming with RxAndroid
Reactive programming with RxAndroid
Savvycom Savvycom
Async Best Practices
Async Best Practices
Lluis Franco
Orsiso
Orsiso
e27
The Ring programming language version 1.5.2 book - Part 26 of 181
The Ring programming language version 1.5.2 book - Part 26 of 181
Mahmoud Samir Fayed
Java 7 Launch Event at LyonJUG, Lyon France. Fork / Join framework and Projec...
Java 7 Launch Event at LyonJUG, Lyon France. Fork / Join framework and Projec...
julien.ponge
Java 7 LavaJUG
Java 7 LavaJUG
julien.ponge
The Ring programming language version 1.10 book - Part 35 of 212
The Ring programming language version 1.10 book - Part 35 of 212
Mahmoud Samir Fayed
The Ring programming language version 1.9 book - Part 92 of 210
The Ring programming language version 1.9 book - Part 92 of 210
Mahmoud Samir Fayed
드로이드 나이츠 2018: RxJava 적용 팁 및 트러블 슈팅
드로이드 나이츠 2018: RxJava 적용 팁 및 트러블 슈팅
재춘 노
オープンデータを使ったモバイルアプリ開発(応用編)
オープンデータを使ったモバイルアプリ開発(応用編)
Takayuki Goto
Agile Iphone Development
Agile Iphone Development
Giordano Scalzo
The Ring programming language version 1.6 book - Part 28 of 189
The Ring programming language version 1.6 book - Part 28 of 189
Mahmoud Samir Fayed
devday2012
devday2012
Juan Lopes
Mais procurados
(20)
Registro de venta
Registro de venta
The Ring programming language version 1.8 book - Part 88 of 202
The Ring programming language version 1.8 book - Part 88 of 202
The Ring programming language version 1.3 book - Part 17 of 88
The Ring programming language version 1.3 book - Part 17 of 88
The Ring programming language version 1.9 book - Part 91 of 210
The Ring programming language version 1.9 book - Part 91 of 210
The Ring programming language version 1.8 book - Part 31 of 202
The Ring programming language version 1.8 book - Part 31 of 202
2019-10-05 - Untangled - Voxxed days ticino
2019-10-05 - Untangled - Voxxed days ticino
The Ring programming language version 1.10 book - Part 94 of 212
The Ring programming language version 1.10 book - Part 94 of 212
Reactive programming with RxAndroid
Reactive programming with RxAndroid
Async Best Practices
Async Best Practices
Orsiso
Orsiso
The Ring programming language version 1.5.2 book - Part 26 of 181
The Ring programming language version 1.5.2 book - Part 26 of 181
Java 7 Launch Event at LyonJUG, Lyon France. Fork / Join framework and Projec...
Java 7 Launch Event at LyonJUG, Lyon France. Fork / Join framework and Projec...
Java 7 LavaJUG
Java 7 LavaJUG
The Ring programming language version 1.10 book - Part 35 of 212
The Ring programming language version 1.10 book - Part 35 of 212
The Ring programming language version 1.9 book - Part 92 of 210
The Ring programming language version 1.9 book - Part 92 of 210
드로이드 나이츠 2018: RxJava 적용 팁 및 트러블 슈팅
드로이드 나이츠 2018: RxJava 적용 팁 및 트러블 슈팅
オープンデータを使ったモバイルアプリ開発(応用編)
オープンデータを使ったモバイルアプリ開発(応用編)
Agile Iphone Development
Agile Iphone Development
The Ring programming language version 1.6 book - Part 28 of 189
The Ring programming language version 1.6 book - Part 28 of 189
devday2012
devday2012
Destaque
OSGi Community Event 2010 - Its Not About Technology Anymore (including a Cas...
OSGi Community Event 2010 - Its Not About Technology Anymore (including a Cas...
mfrancis
OSGi Users' Forum Meeting 4 - 19 Jan 2010
OSGi Users' Forum Meeting 4 - 19 Jan 2010
mfrancis
social media management - user generated content
social media management - user generated content
Nancy Weber
2010 Fall Hack U intro presentation
2010 Fall Hack U intro presentation
Yahoo Developer Network
Video Enhancement for video Chatting
Video Enhancement for video Chatting
Srikanth Varma Chekuri
Keynote - Internet Home Alliance - T Barra
Keynote - Internet Home Alliance - T Barra
mfrancis
Multi-Channel-Publishing bei Häfele
Multi-Channel-Publishing bei Häfele
TANNER AG
Innovating the Hacker Way
Innovating the Hacker Way
Saurabh Sahni
Destaque
(8)
OSGi Community Event 2010 - Its Not About Technology Anymore (including a Cas...
OSGi Community Event 2010 - Its Not About Technology Anymore (including a Cas...
OSGi Users' Forum Meeting 4 - 19 Jan 2010
OSGi Users' Forum Meeting 4 - 19 Jan 2010
social media management - user generated content
social media management - user generated content
2010 Fall Hack U intro presentation
2010 Fall Hack U intro presentation
Video Enhancement for video Chatting
Video Enhancement for video Chatting
Keynote - Internet Home Alliance - T Barra
Keynote - Internet Home Alliance - T Barra
Multi-Channel-Publishing bei Häfele
Multi-Channel-Publishing bei Häfele
Innovating the Hacker Way
Innovating the Hacker Way
Semelhante a OSGi World Congress Workshop Exercise - P Kriens
Rx java in action
Rx java in action
Pratama Nur Wijaya
Server1
Server1
FahriIrawan3
Laporan multiclient chatting client server
Laporan multiclient chatting client server
trilestari08
Multithreading in Java
Multithreading in Java
Appsterdam Milan
Solr @ Etsy - Apache Lucene Eurocon
Solr @ Etsy - Apache Lucene Eurocon
Giovanni Fernandez-Kincade
Laporan multiclient chatting berbasis grafis (gambar)
Laporan multiclient chatting berbasis grafis (gambar)
Rara Ariesta
MultiClient chatting berbasis gambar
MultiClient chatting berbasis gambar
yoyomay93
Nantes Jug - Java 7
Nantes Jug - Java 7
Sébastien Prunier
201913046 wahyu septiansyah network programing
201913046 wahyu septiansyah network programing
wahyuseptiansyah
Category theory, Monads, and Duality in the world of (BIG) Data
Category theory, Monads, and Duality in the world of (BIG) Data
greenwop
TDC2018SP | Trilha Go - Processando analise genetica em background com Go
TDC2018SP | Trilha Go - Processando analise genetica em background com Go
tdc-globalcode
Saving lives with rx java
Saving lives with rx java
Shahar Barsheshet
Repetition is bad, repetition is bad.
Repetition is bad, repetition is bad.
wellD
망고100 보드로 놀아보자 19
망고100 보드로 놀아보자 19
종인 전
OSGi and Eclipse RCP
OSGi and Eclipse RCP
Eric Jain
JavaScript ∩ WebAssembly
JavaScript ∩ WebAssembly
Tadeu Zagallo
Reactive programming on Android
Reactive programming on Android
Tomáš Kypta
Rx workshop
Rx workshop
Ryan Riley
apidays LIVE Australia 2020 - Strangling the monolith with a reactive GraphQL...
apidays LIVE Australia 2020 - Strangling the monolith with a reactive GraphQL...
apidays
Note Use Java Write a web server that is capable of processing only.pdf
Note Use Java Write a web server that is capable of processing only.pdf
fatoryoutlets
Semelhante a OSGi World Congress Workshop Exercise - P Kriens
(20)
Rx java in action
Rx java in action
Server1
Server1
Laporan multiclient chatting client server
Laporan multiclient chatting client server
Multithreading in Java
Multithreading in Java
Solr @ Etsy - Apache Lucene Eurocon
Solr @ Etsy - Apache Lucene Eurocon
Laporan multiclient chatting berbasis grafis (gambar)
Laporan multiclient chatting berbasis grafis (gambar)
MultiClient chatting berbasis gambar
MultiClient chatting berbasis gambar
Nantes Jug - Java 7
Nantes Jug - Java 7
201913046 wahyu septiansyah network programing
201913046 wahyu septiansyah network programing
Category theory, Monads, and Duality in the world of (BIG) Data
Category theory, Monads, and Duality in the world of (BIG) Data
TDC2018SP | Trilha Go - Processando analise genetica em background com Go
TDC2018SP | Trilha Go - Processando analise genetica em background com Go
Saving lives with rx java
Saving lives with rx java
Repetition is bad, repetition is bad.
Repetition is bad, repetition is bad.
망고100 보드로 놀아보자 19
망고100 보드로 놀아보자 19
OSGi and Eclipse RCP
OSGi and Eclipse RCP
JavaScript ∩ WebAssembly
JavaScript ∩ WebAssembly
Reactive programming on Android
Reactive programming on Android
Rx workshop
Rx workshop
apidays LIVE Australia 2020 - Strangling the monolith with a reactive GraphQL...
apidays LIVE Australia 2020 - Strangling the monolith with a reactive GraphQL...
Note Use Java Write a web server that is capable of processing only.pdf
Note Use Java Write a web server that is capable of processing only.pdf
Mais de 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...
mfrancis
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)
mfrancis
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
mfrancis
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...
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...
mfrancis
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
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...
mfrancis
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...
mfrancis
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...
mfrancis
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)
mfrancis
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...
mfrancis
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...
mfrancis
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)
mfrancis
Mais de 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...
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)
OSGi 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...
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...
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
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)
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...
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)
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)
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)
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)
Último
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
UK Journal
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
apidays
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
Delhi Call girls
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Gabriella Davis
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Safe Software
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Maria Levchenko
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Digital Insurer
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Radu Cotescu
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
Khem
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
Pixlogix Infotech
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Delhi Call girls
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Anna Loughnan Colquhoun
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
Antenna Manufacturer Coco
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Enterprise Knowledge
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
sudhanshuwaghmare1
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
HampshireHUG
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
debabhi2
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Enterprise Knowledge
Último
(20)
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
OSGi World Congress Workshop Exercise - P Kriens
1.
2.
3.
app2 app3 app1 app4 Browser app 1 app
2 app 3 app 4 SP 2 SP 3 SP 4 SP 1 multicast
4.
ActivatorDistributor Link HttpTracker Tracks http servers finds buddies <<interface>> Http Service Service Tracker Thread <<interface>> BundleActivator Tracks
buddies Registers page Portal Tracks portal entries Registers /portal page LogService Logs messages
5.
Activator <<interface>> BundleActivator
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Activator <<interface>> BundleActivator LogService Logs messages
24.
25.
void log( String
msg, Throwable exception ) { ServiceReference r = context.getServiceReference( LogService.class.getName() ); LogService log =(LogService)context.getService(r); if ( log != null ) { if ( exception == null ) log.log( LogService.LOG_INFO, msg ); else log.log( LogService.LOG_ERROR, msg, exception ); } else System.out.println( msg + " : " + exception ); context.ungetService( r ); }
26.
27.
28.
Manifest-Version: 1.0 Bundle-Activator: aQute.world.congress.Activator Import-Package:
org.osgi.framework, org.osgi.service.log
29.
30.
31.
HttpTracker Tracks http servers <<interface>> Http Service Service Tracker Registers
page Portal Registers /portal page Activator <<interface>> BundleActivator LogService Logs messages
32.
<html> <head> <title>My Demo HTML
page</title> </head> <body> <h1>My Demo</h1> This is aQute's (use your own name!) demo page </body> </html>
33.
34.
35.
36.
Activator activator; public HttpTracker(
Activator activator, BundleContext context ) { super( context, HttpService.class.getName(),null); this.activator = activator; }
37.
public Object addingService( ServiceReference
reference ) { HttpService http = (HttpService)super.addingService(reference); try { http.registerResources("/mydemo", "", this ); } catch( NamespaceException e ) { activator.log( "Cannot register because “ + “name is already in use /mydemo", e ); } return http; }
38.
public URL getResource(String
name) { try { URL url = getClass().getResource( name.substring(1) ); return url; } catch( Exception e ) { e.printStackTrace(); } return null; }
39.
public boolean handleSecurity( HttpServletRequest
request, HttpServletResponse response) throws IOException { return true; }
40.
http = new
HttpTracker( this, context ); http.open(); HttpTracker http;
41.
// Add to
stop method http.close();
42.
Manifest-Version: 1.0 Bundle-Activator: aQute.world.congress.Activator Import-Package:
org.osgi.framework, org.osgi.service.log,org.osgi.util.tracker, org.osgi.service.http,javax.servlet.http, javax.servlet
43.
44.
HttpTracker Tracks http servers <<interface>> Http Service Service Tracker Registers
page Portal Registers /portal page Activator <<interface>> BundleActivator LogService Logs messages Distributor Link finds buddies Thread Tracks buddies Tracks portal entries
45.
46.
boolean active =
true; DatagramSocket socket; byte outgoing[]; Activator activator;
47.
Distributor( Activator activator, String
outgoing ) { super("distributor"); this.activator = activator; this.outgoing = outgoing.getBytes(); }
48.
public void run()
{ while ( active ) try { socket = new DatagramSocket( 2014 ); socket.setSoTimeout( 5000 ); activator.log("Discovery starts.", null); … inner loop … see next slide socket.close(); socket = null; } catch(Exception e) { activator.log( "Main discover loop exit", e ); if ( active ) try { Thread.currentThread().sleep(1000); } catch( Exception x) {} } activator.log("Discovery quits.", null); }
49.
while ( active
) try { DatagramPacket packet = new DatagramPacket(new byte[256], 256); socket.receive(packet); String incoming = new String( packet.getData(), 0, packet.getLength()); activator.process( new Link(incoming) ); } catch(InterruptedIOException e) { announce();} catch(Exception e) { if ( active ) activator.log( "Receving remote “ + “service packets, ignoring ", e ); }
50.
void announce() throws
IOException { DatagramSocket announce = new DatagramSocket(); DatagramPacket packet = new DatagramPacket( outgoing, outgoing.length, InetAddress.getByName("255.255.255.255"), 2014 ); announce.send(packet); }
51.
void close() { active
= false; socket.close(); }
52.
Hashtable properties =
new Hashtable(); ServiceRegistration registration; Link( String msg ) { StringTokenizer tz = new StringTokenizer( msg, "|" ); properties.put( "title", tz.nextToken() ); properties.put( "description",tz.nextToken()); properties.put( "url", tz.nextToken() ); }
53.
void register( BundleContext
context ) { registration = context.registerService( Link.class.getName(), this, properties ); } void modify( Link link ) { registration.setProperties(link.properties); }
54.
void unregister() { registration.unregister(); } Object
getUrl(){ return properties.get( "url" ); }
55.
Hashtable links =
new Hashtable(); void process( Link link ) { Link existing = (Link) links.get( link.getUrl() ); if ( existing != null ) existing.modify( link ); else { link.register( context ); links.put( link.getUrl(), link ); existing = link; } }
56.
// Add to
start method String host= InetAddress.getLocalHost().getHostAddress(); if ( System.getProperty( "org.osgi.service.http.port" ) != null ) host += ":" + System.getProperty( "org.osgi.service.http.port" ); distributor = new Distributor( this, "My Title|My Own Description|http://" + host + "/mydemo/page.html" ); distributor.start();
57.
// Add to
stop method distributor.close();
58.
59.
60.
61.
62.
aQute www.aQute.se +46 300 39800, Peter.Kriens@aQute.se
Baixar agora