0
iPOPO : SOCM in Python

Thomas Calmant
Software Engineer, isandlaTech
A bit of history

Once upon a time...
A bit of history
●

OSGi + iPOJO

●

Need to call low-level methods

●

Need to run as-is on devices without Java

●

OSGi...
A bit of history
●

OSGi + iPOJO

●

Need to call low-level methods

●

Need to run as-is on devices without Java

●

OSGi...
Requirements
●

Support Python 2.x and 3.x

●

Low footprint

●

Fully cross-platform
–

●

Minimal Linux, NetBSD, Windows...
Pelix
●

Implement OSGi Core specifications

●

Reuse concepts :
–

Bundle / BundleContext

–

Service Reference / Registr...
iPOPO
●

Mimic iPOJO components behavior

●

Reuse concepts :
–

Annotated Factory class

–

Manipulated Factory class

–
...
Challenges
●

No class loader
–

Modules executed during import

●

Manual thread safety

●

No interface
–

●

Duck typin...
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 comp...
Now what ?
●

Mix Python and Java worlds
–

●

… by implementing Remote Services specification

Support more and more comp...
iPOPO Service-Oriented components in Python - Thomas Calmant
iPOPO Service-Oriented components in Python - Thomas Calmant
Upcoming SlideShare
Loading in...5
×

iPOPO Service-Oriented components in Python - Thomas Calmant

1,873

Published on

OSGi Community Event 2013 (http://www.osgi.org/CommunityEvent2013/Schedule)

Lightning Talk

ABSTRACT
This talk introduces two Python libraries: Pelix, a dynamic service platform, inspired from OSGi, and iPOPO, a service-oriented component model based on the concepts of iPOJO. It will also present some of the featured services, how to communicate between iPOPO and OSGi and finally the projects in which this framework is involved.

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,873
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "iPOPO Service-Oriented components in Python - Thomas Calmant"

  1. 1. iPOPO : SOCM in Python Thomas Calmant Software Engineer, isandlaTech
  2. 2. A bit of history Once upon a time...
  3. 3. 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
  4. 4. 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 !
  5. 5. Requirements ● Support Python 2.x and 3.x ● Low footprint ● Fully cross-platform – ● Minimal Linux, NetBSD, Windows, ... Easy to understand for iPOJO addicts
  6. 6. Pelix ● Implement OSGi Core specifications ● Reuse concepts : – Bundle / BundleContext – Service Reference / Registration …
  7. 7. iPOPO ● Mimic iPOJO components behavior ● Reuse concepts : – Annotated Factory class – Manipulated Factory class – Injection of dependencies (IoC) – Component instance managed by Handlers
  8. 8. Challenges ● No class loader – Modules executed during import ● Manual thread safety ● No interface – ● Duck typing Various interpreters – … and various versions
  9. 9. The story continues iPOPO in the real world:
  10. 10. Now what ? ● Mix Python and Java worlds – … by implementing Remote Services specification
  11. 11. Now what ? ● Mix Python and Java worlds – ● … by implementing Remote Services specification Support more and more compendium services – Configuration Admin – Log Service – …
  12. 12. Now what ? ● Mix Python and Java worlds – ● … by implementing Remote Services specification Support more and more compendium services – – Log Service – ● Configuration Admin … Handle bundle dependencies
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×