Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

Trying to create an OSGi-based application with services is challenging. The OSGi API is complex and a lot of knowledge about internal mechanisms has to be known to avoid synchronization issues. iPOJO provides a very simple development model; let's look:

Code Block
java
java
1Providing a servicejava
@Component
@Provides
public class MyServiceImplementation implements MyService {
 	//....
}


Code Block
java
java
1Requiring a servicejava
@Component
public class MyServiceConsumer {
 	@Requires
	private MyService myservice;

	// Just use your required service as any regular field !
}

...

The run-time overhead of iPOJO is also small. On the Peaberry benchmark, iPOJO has very good performance:

Div
classshell
Wiki Markup
{div:class=shell}

Guice-Peaberry:

276.00

ns/call

{color:#ff0000}iPOJO Service Dependency:


iPOJO Service Dependency: 118.00

ns/call

{color}


Spring-DM:

2384.00

ns/call

{color:#ff0000}iPOJO Temporal Dependency:


iPOJO Temporal Dependency: 159.00

ns/call

{color} {color:#ff0000}iPOJO Temporal Dependency


iPOJO Temporal Dependency w/

proxy:

173.00

ns/call

{color} {div}

For French readers, you can find additional benchmarks in chapter 10 of iPOJO - A flexible service-oriented component model for dynamic systems

...