iPOPO Service-Oriented components in Python - Thomas Calmant
-
Upload
mfrancis -
Category
Technology
-
view
1.851 -
download
3
description
Transcript of iPOPO Service-Oriented components in Python - Thomas Calmant
iPOPO : SOCM in Python
Thomas CalmantSoftware Engineer, isandlaTech
Once upon a time...
A bit of history
A bit of history
● OSGi + iPOJO● Need to call low-level methods● Need to run as-is on devices without Java● OSGi as Lingua Franca
A bit of history
● OSGi + iPOJO● Need to call low-level methods● Need to run as-is on devices without Java● OSGi as Lingua Franca
Pelix + iPOPO !
Requirements
● Support Python 2.x and 3.x● Low footprint● Fully cross-platform
– Minimal Linux, NetBSD, Windows, ...
● Easy to understand for iPOJO addicts
Pelix
● Implement OSGi Core specifications● Reuse concepts :
– Bundle / BundleContext
– Service Reference / Registration…
iPOPO
● Mimic iPOJO components behavior● Reuse concepts :
– Annotated Factory class
– Manipulated Factory class
– Injection of dependencies (IoC)
– Component instance managed by Handlers
Challenges
● No class loader– Modules executed during import
● Manual thread safety● No interface
– Duck typing
● Various interpreters– … and various versions
The story continues
iPOPO in the real world:
�
�$ �������:���*���� ����#�&��� ����
Now what ?
● Mix Python and Java worlds– … by implementing Remote Services specification
Now what ?
● Mix Python and Java worlds– … by implementing Remote Services specification
● Support more and more compendium services– Configuration Admin
– Log Service
– …
Now what ?
● Mix Python and Java worlds– … by implementing Remote Services specification
● Support more and more compendium services– Configuration Admin
– Log Service
– …
● Handle bundle dependencies
�
�L:nksiPOPOGitHubjsonrpclib-pelix
ipopo.coderxpress.net
github.com/tcalmant/ipopo
github.com/tcalmant/jsonrpclib
Spread the word !