iPOPO Service-Oriented components in Python - Thomas Calmant

  • 1,592 views
Uploaded on

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

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.

More in: Technology , Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,592
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
17
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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