Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

osgi only for Java

 
Pradeep bhatt
Ranch Hand
Posts: 8927
Firefox Browser Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Is the osgi framework only for java applications ? What about other languages ? don't they have modularity issues ?
 
Richard S. Hall
author
Ranch Hand
Posts: 47
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Pradeep bhatt wrote:Is the osgi framework only for java applications ? What about other languages ? don't they have modularity issues ?


The OSGi framework is only for Java VM-based languages. The only Java VM-based language explicitly considered by the spec is Java itself.
 
Stuart McCulloch
author
Greenhorn
Posts: 21
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Pradeep bhatt wrote:Is the osgi framework only for java applications ? What about other languages ? don't they have modularity issues ?

People are interested in applying OSGi's ideas of modularity to other languages, from adding OSGi extensions to JVM-based languages (https://github.com/weiglewilczek/scalamodules/) all the way to trying to re-implement OSGi on top of native C (http://incubator.apache.org/celix/). Of course it's always easier to add modularity to managed languages such as Java.
 
Pradeep bhatt
Ranch Hand
Posts: 8927
Firefox Browser Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks authors. what about .NET langauges like C# ? Is modularity taken care of there ?
 
Richard S. Hall
author
Ranch Hand
Posts: 47
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Pradeep bhatt wrote:Thanks authors. what about .NET langauges like C# ? Is modularity taken care of there ?


.NET has more support for modularity by default than Java, but it is not as fine-grained and dynamic as OSGi. .NET packages its types into assemblies, which are its module concept. Assemblies contain a list of their dependencies on other assemblies. This way the .NET runtime can make sure all requirements are satisfied and it can support side-by-side versions. Additionally, .NET has another access modifier (besides public, private, and protected), called internal. This provides visibility within the entire assembly, but not outside of it (i.e., module global).
 
Stuart McCulloch
author
Greenhorn
Posts: 21
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Richard S. Hall wrote:
Pradeep bhatt wrote:Thanks authors. what about .NET langauges like C# ? Is modularity taken care of there ?


.NET has more support for modularity by default than Java, but it is not as fine-grained and dynamic as OSGi. .NET packages its types into assemblies, which are its module concept. Assemblies contain a list of their dependencies on other assemblies. This way the .NET runtime can make sure all requirements are satisfied and it can support side-by-side versions. Additionally, .NET has another access modifier (besides public, private, and protected), called internal. This provides visibility within the entire assembly, but not outside of it (i.e., module global).

The closest thing to OSGi on .NET is probably the Managed Extensibility Framework (pdf transcript of a podcast discussing MEF) but it doesn't have the same concepts of lifecycle and services that OSGi has.
 
Sam Ma
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Pradeep bhatt wrote:Thanks authors. what about .NET langauges like C# ? Is modularity taken care of there ?

Yes, there is a commercial product named UIOSP(XAUI Open Service Platform) which is the .NET implemented based-on OSGi specification R4 by a startup software company, Xi'an UI, in China. Well, now only Chinese version available. You may try contact them with e-mail (uishell@uishell.com).

English introduction of there product here.
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic