Domain: osgi.org
Stories and comments across the archive that link to osgi.org.
Comments · 16
-
Re:What is modularity, exactly?
I am a professional programmer but I don't work with java, so I was confused about what, exactly, "modularity" means in this context. I clicked through a few links and found the info and figured I'd share here for anyone else in my position.
Java, as it stands, has no real mechanism for managing program dependencies (think, dynamic link libraries). Either a JAR file embeds all of the classes it uses or it loads external classes using something called the "class path system", where there is a programmatically accessible path where java code can look for class files to link in at runtime. This system is very simple, and lacks built-in versioning or encapsulation features. It's up to developers to build in their own versioning into the file structure. As you could guess, it's generally very brittle.
The new system replaces that with a concept of "modules". These are collections of classes with strong names, cryptographic signatures, version numbers, and members that are either public and advertised to code the imports the module, or private and for internal module use only. This is a huge step up from the idea of just going and loading class files out of some path. I'm actually astonished Java made it this far without such a feature!
You can find more info about the new module system here: http://openjdk.java.net/projec...
Java has had modularity for over a decade, but it just wasn't part of the language itself. It was called OSGi. Jigsaw is effectively a cut down version of OSGi.
-
Re:Why would an additional purchase help Microsoft
How does changing rapidly (also known as the "bleeding edge") make C# mature?
Sigh. C# hasn't changed rapidly. It has changed though. It has incorporated some well-tested and well-founded new language constructs. There is nothing "bleeding-edge" as such about C#. It has incorporated an SQL-like structure into the language, something others did decades ago, it has incorporated functional programming constructs, functional programming is hardly bleeding edge, it has also incorporated aspects of dynamic programming languages, which is also nothing new. You are again talking out of your ass with absolutely no knowledge about the topic of conversation. C# has changed where it makes sense. Java has hardly changed at all. The JCP is to blame.
The Java language changes slowly because it doesn't need to
Balderdash. Java changes slowly because of the in-fighting in the JCP and the insane focus on forward and backwards compatibility of (once) Sun. Java needs a new implementation of generics. The current one sucks big time. Java needs new basic types or a new implementation of autoboxing, the current one is a bug. Java should incorporate aspects of functional programming since it makes parallel easier, safer and more testable. Future hardware developments is going to center around adding cores to CPUs, so parallel programming is of paramount importance. Java sucks at it compared to C#, F# and a whole host of functional programming languages. Java has barely changed at all since 2001. Not because it is perfect but because it takes a decade for the JCP to agree on anything.
instead a conservative approach to change
Seriously? Have you been following the Java development at all? The JCP is broken. That's the reason for the slow development. Here are some blog postings on how utterly broken the JCP is. This was in 2007. It's not better today. By any stretch of the imagination. Java isn't moving slowly because of a conservative attitude, Java is moving slowly because it is "stuck in committee". I am surprised that a Java programmer is ignorant of the serious problems plaguing the JCP. Have you been living in a cave for all this time?
Are you then trying to assert that Java cannot integrate with Active Directory
Have you ever tried? It is a pain. Huge pain. We had to drop it from our JBoss project since it could not co-exist with the Apache SOAP libraries and Smooks. You could have two of them, but all three and AD would stop working. At random intervals. So. yes, I have done it. No, it wasn't pain-free by any stretch of the imagination. We had to move the solution to IIS since integration with AD was mandatory. BTW, this was JBoss 4.2.3, might have changed since then.
Actually I have a PhD in Astrophysics
Well, rocket science isn't exactly rocket science...
much of it was doing software development and computational work for some very hard scalability and data processing problems
Cool. Can you optimize an Oracle query? Seriously. Maths is important in software development (I took maths) but it isn't important in the day-to-day work of the enterprise developer. It is a good way to develop an analytic mind though.
the Windows phones will still have no traction
I do development on phones, so I have a few. Two iPhones, only one Windows Phone and a couple of Samsungs with Android. I much prefer the Windows paradigm, it is a significant change in the right direction for a phone. iOS is just a desktop OS metaphor on a phone. It sucks compared to Metro, but so be it. Strangely Win Phone has a signif
-
Re:Why would an additional purchase help Microsoft
How does changing rapidly (also known as the "bleeding edge") make C# mature?
Sigh. C# hasn't changed rapidly. It has changed though. It has incorporated some well-tested and well-founded new language constructs. There is nothing "bleeding-edge" as such about C#. It has incorporated an SQL-like structure into the language, something others did decades ago, it has incorporated functional programming constructs, functional programming is hardly bleeding edge, it has also incorporated aspects of dynamic programming languages, which is also nothing new. You are again talking out of your ass with absolutely no knowledge about the topic of conversation. C# has changed where it makes sense. Java has hardly changed at all. The JCP is to blame.
The Java language changes slowly because it doesn't need to
Balderdash. Java changes slowly because of the in-fighting in the JCP and the insane focus on forward and backwards compatibility of (once) Sun. Java needs a new implementation of generics. The current one sucks big time. Java needs new basic types or a new implementation of autoboxing, the current one is a bug. Java should incorporate aspects of functional programming since it makes parallel easier, safer and more testable. Future hardware developments is going to center around adding cores to CPUs, so parallel programming is of paramount importance. Java sucks at it compared to C#, F# and a whole host of functional programming languages. Java has barely changed at all since 2001. Not because it is perfect but because it takes a decade for the JCP to agree on anything.
instead a conservative approach to change
Seriously? Have you been following the Java development at all? The JCP is broken. That's the reason for the slow development. Here are some blog postings on how utterly broken the JCP is. This was in 2007. It's not better today. By any stretch of the imagination. Java isn't moving slowly because of a conservative attitude, Java is moving slowly because it is "stuck in committee". I am surprised that a Java programmer is ignorant of the serious problems plaguing the JCP. Have you been living in a cave for all this time?
Are you then trying to assert that Java cannot integrate with Active Directory
Have you ever tried? It is a pain. Huge pain. We had to drop it from our JBoss project since it could not co-exist with the Apache SOAP libraries and Smooks. You could have two of them, but all three and AD would stop working. At random intervals. So. yes, I have done it. No, it wasn't pain-free by any stretch of the imagination. We had to move the solution to IIS since integration with AD was mandatory. BTW, this was JBoss 4.2.3, might have changed since then.
Actually I have a PhD in Astrophysics
Well, rocket science isn't exactly rocket science...
much of it was doing software development and computational work for some very hard scalability and data processing problems
Cool. Can you optimize an Oracle query? Seriously. Maths is important in software development (I took maths) but it isn't important in the day-to-day work of the enterprise developer. It is a good way to develop an analytic mind though.
the Windows phones will still have no traction
I do development on phones, so I have a few. Two iPhones, only one Windows Phone and a couple of Samsungs with Android. I much prefer the Windows paradigm, it is a significant change in the right direction for a phone. iOS is just a desktop OS metaphor on a phone. It sucks compared to Metro, but so be it. Strangely Win Phone has a signif
-
Re:Why would an additional purchase help Microsoft
How does changing rapidly (also known as the "bleeding edge") make C# mature?
Sigh. C# hasn't changed rapidly. It has changed though. It has incorporated some well-tested and well-founded new language constructs. There is nothing "bleeding-edge" as such about C#. It has incorporated an SQL-like structure into the language, something others did decades ago, it has incorporated functional programming constructs, functional programming is hardly bleeding edge, it has also incorporated aspects of dynamic programming languages, which is also nothing new. You are again talking out of your ass with absolutely no knowledge about the topic of conversation. C# has changed where it makes sense. Java has hardly changed at all. The JCP is to blame.
The Java language changes slowly because it doesn't need to
Balderdash. Java changes slowly because of the in-fighting in the JCP and the insane focus on forward and backwards compatibility of (once) Sun. Java needs a new implementation of generics. The current one sucks big time. Java needs new basic types or a new implementation of autoboxing, the current one is a bug. Java should incorporate aspects of functional programming since it makes parallel easier, safer and more testable. Future hardware developments is going to center around adding cores to CPUs, so parallel programming is of paramount importance. Java sucks at it compared to C#, F# and a whole host of functional programming languages. Java has barely changed at all since 2001. Not because it is perfect but because it takes a decade for the JCP to agree on anything.
instead a conservative approach to change
Seriously? Have you been following the Java development at all? The JCP is broken. That's the reason for the slow development. Here are some blog postings on how utterly broken the JCP is. This was in 2007. It's not better today. By any stretch of the imagination. Java isn't moving slowly because of a conservative attitude, Java is moving slowly because it is "stuck in committee". I am surprised that a Java programmer is ignorant of the serious problems plaguing the JCP. Have you been living in a cave for all this time?
Are you then trying to assert that Java cannot integrate with Active Directory
Have you ever tried? It is a pain. Huge pain. We had to drop it from our JBoss project since it could not co-exist with the Apache SOAP libraries and Smooks. You could have two of them, but all three and AD would stop working. At random intervals. So. yes, I have done it. No, it wasn't pain-free by any stretch of the imagination. We had to move the solution to IIS since integration with AD was mandatory. BTW, this was JBoss 4.2.3, might have changed since then.
Actually I have a PhD in Astrophysics
Well, rocket science isn't exactly rocket science...
much of it was doing software development and computational work for some very hard scalability and data processing problems
Cool. Can you optimize an Oracle query? Seriously. Maths is important in software development (I took maths) but it isn't important in the day-to-day work of the enterprise developer. It is a good way to develop an analytic mind though.
the Windows phones will still have no traction
I do development on phones, so I have a few. Two iPhones, only one Windows Phone and a couple of Samsungs with Android. I much prefer the Windows paradigm, it is a significant change in the right direction for a phone. iOS is just a desktop OS metaphor on a phone. It sucks compared to Metro, but so be it. Strangely Win Phone has a signif
-
Re:Why would an additional purchase help Microsoft
How does changing rapidly (also known as the "bleeding edge") make C# mature?
Sigh. C# hasn't changed rapidly. It has changed though. It has incorporated some well-tested and well-founded new language constructs. There is nothing "bleeding-edge" as such about C#. It has incorporated an SQL-like structure into the language, something others did decades ago, it has incorporated functional programming constructs, functional programming is hardly bleeding edge, it has also incorporated aspects of dynamic programming languages, which is also nothing new. You are again talking out of your ass with absolutely no knowledge about the topic of conversation. C# has changed where it makes sense. Java has hardly changed at all. The JCP is to blame.
The Java language changes slowly because it doesn't need to
Balderdash. Java changes slowly because of the in-fighting in the JCP and the insane focus on forward and backwards compatibility of (once) Sun. Java needs a new implementation of generics. The current one sucks big time. Java needs new basic types or a new implementation of autoboxing, the current one is a bug. Java should incorporate aspects of functional programming since it makes parallel easier, safer and more testable. Future hardware developments is going to center around adding cores to CPUs, so parallel programming is of paramount importance. Java sucks at it compared to C#, F# and a whole host of functional programming languages. Java has barely changed at all since 2001. Not because it is perfect but because it takes a decade for the JCP to agree on anything.
instead a conservative approach to change
Seriously? Have you been following the Java development at all? The JCP is broken. That's the reason for the slow development. Here are some blog postings on how utterly broken the JCP is. This was in 2007. It's not better today. By any stretch of the imagination. Java isn't moving slowly because of a conservative attitude, Java is moving slowly because it is "stuck in committee". I am surprised that a Java programmer is ignorant of the serious problems plaguing the JCP. Have you been living in a cave for all this time?
Are you then trying to assert that Java cannot integrate with Active Directory
Have you ever tried? It is a pain. Huge pain. We had to drop it from our JBoss project since it could not co-exist with the Apache SOAP libraries and Smooks. You could have two of them, but all three and AD would stop working. At random intervals. So. yes, I have done it. No, it wasn't pain-free by any stretch of the imagination. We had to move the solution to IIS since integration with AD was mandatory. BTW, this was JBoss 4.2.3, might have changed since then.
Actually I have a PhD in Astrophysics
Well, rocket science isn't exactly rocket science...
much of it was doing software development and computational work for some very hard scalability and data processing problems
Cool. Can you optimize an Oracle query? Seriously. Maths is important in software development (I took maths) but it isn't important in the day-to-day work of the enterprise developer. It is a good way to develop an analytic mind though.
the Windows phones will still have no traction
I do development on phones, so I have a few. Two iPhones, only one Windows Phone and a couple of Samsungs with Android. I much prefer the Windows paradigm, it is a significant change in the right direction for a phone. iOS is just a desktop OS metaphor on a phone. It sucks compared to Metro, but so be it. Strangely Win Phone has a signif
-
Re:I'll bite:
Tis cool. The Eclipse SDK (the Java IDE) is only one Eclipse application. The problem is that most people think of Eclipse as only the IDE application and do not realize that SDK application was originally written to help write other applications for the platform. As for the SDK itself, I agree that there's nothing terribly innovative about it. It's an IDE. It does its job. However, I wasn't really talking about the IDE application. I was more talking about the platform it was built on top of.
The true innovation, in my mind, is the OSGi service model it builds upon. In Eclipse application, everything--including itself--is a plug-in. It's not like most extensible applications where there's a monolithic core application that you can extend off of using some API or scripting language. Because everything is a plug-in and all plug-ins can contribute to and extend other plug-ins, this allows you to do some neat things.
Let's take the game example. Let's say we are writing a peer-to-peer board game system (something I just made up off the top of my head). I write an application (master) plug-in that sets up things how I like it, a peer-to-peer networking plug-in, and a Monopoly plug-in. It needs some preferences, so I simply extend off of an existing preferences plug-in and I have have preferences. The game plays well and all is good. However, we need help pages. I take an existing help plug-in and toss it on. I now have 'Help' on the title bar. I didn't have to change any of my code to add 'Help'. It just works. We also want to have our Monopoly players get the latest updates to the game so I throw in an auto-update plug-in. Now the code will check for updates. Again, the actual Monopoly game is blissfully unaware of all of it. No code changes and it just works.
I release the whole thing into the wild. People love it and want to write their own games. So they write their own plug-ins. Some guy who I don't know wants to write a Risk plug-in for it. He writes his own plug-in that extends off my 'boardgame' plug-in extension point (which is self-documented), leverages the networking plug-in, and releases it. People can then use their update plug-in to discover the new game and have both Monopoly and Risk. It goes without saying that the Risk help pages and preferences will magically appear as well. Thing is, for all this to happen I had to code exactly.... none of it. It all comes as part of the platform, and I would hate to have write any of it from scratch.
If you aren't interested in extensibility or updates or application lifecycle management or service-based component structures, Eclipse is not the best fit for your needs. It's not a panacea. But for what it was designed for, it's top notch.
Now, I'll be the first to admit that there have been other systems that do very similar things. However, its innovation comes in its maturity and sophistication. I recommend reading the OSGi homepage and an Eclipse FAQ.
(Oh yeah, if we later want to put our game on the web, we can do that using the Eclipse Ajax Platform, too). -
OSGI
Eclipse uses an underlying OSGi framework. Much like the one my company makes.
-
Re:Out of the mouths of babes and sucklings.Eclipse's plugin model is based on vendor-neutral, open standards. It's called OSGi.
That's just the plugin model, mind you, which is not specific to Eclipse; it just specifies the way plugins are packaged, declare their metadata, are loaded, accessed etc.
Eclipse's object model, which rests on top of this framework, is something else, and that's Eclipse-specific. Eclipse's object model is much more generic and vast in scope than NetBean's OpenIDE API.
In case you don't know the Eclipse plugin system well, it's a modular design based on loose coupling of components all extending each other.
There's no central plugin point to speak of; Eclipse is essentially a collection of loosely-coupled components, with some glue at the bottom to bootstrap the core plugins.
Every extension can potentially extend another. For example, if I provide a view, then I can let anyone extend that view by, say, providing context menu items, toolbar buttons, visual overlays and the like.
These extensions would all communicate using publicly declared APIs; hidden inter-component communication is discouraged.
For example, if I were building a stock trading app, I might write a bunch of different views -- graph view, a table view, a ticker view, etc.; the table view would expose a mechanism to detect when the user has clicked on a specific stock symbol.
The graph view would plug into this mechanism and change its view to show the currently selected stock. However, the graph view would not know anything about the view into which it was plugging into; it would only know about the interface contract of the extension point, which could be anything.
You could potentially bundle each of these views separately and mix and match with other, third-party views: as long as they know the public interfaces, they can talk to each other. I could write a better graph view and plug it in without having to change any code in any other view.
The reason Eclipse is so flexible, and is popularly touted as an "integrated anything environment", is precisely because it is so loosely defined.
Eclipse would not be able to use the NetBeans APIs directly because they are, well, NetBeans. Eclipse could not do everything it does today if it adhered to the NetBeans API.
Also, NetBeans/OpenIDE is tightly coupled to Swing, and while SWT can embed Swing, consistently and seamlessly adapting Swing-using components into the SWT environment would be a lost cause.
-
Yet another standard among many?
-
Automotive, home networks,...
Have a look at OSGi, the Open Services Gateway Initiative. This non-profit organisation works on open specifications for managed service delivery, and has broad industry support. There's a lot of information on the site, so it's certainly worth checking.
-
Automotive, home networks,...
Have a look at OSGi, the Open Services Gateway Initiative. This non-profit organisation works on open specifications for managed service delivery, and has broad industry support. There's a lot of information on the site, so it's certainly worth checking.
-
OSGi - where/what is it?Somebody pointed me to the OSGi thread was held here. As somebody that has been involved with the specifications from the beginning it wa a bit disappointing to see how little one of the prime audiences for OSGi knew about it.
The core idea of the OSGi is to provide a Java based platform for collaborative networked services. It is specified in painstaking detail:- How to lifecycle services
- The deployment format of services
- Dynamically discover attachment and deattachment of services
- A number of basic services like logging, http, device drivers, configuration management, preferences, user admin, wiring etc.
- How to make it secure
-
OSGi - where/what is it?Somebody pointed me to the OSGi thread was held here. As somebody that has been involved with the specifications from the beginning it wa a bit disappointing to see how little one of the prime audiences for OSGi knew about it.
The core idea of the OSGi is to provide a Java based platform for collaborative networked services. It is specified in painstaking detail:- How to lifecycle services
- The deployment format of services
- Dynamically discover attachment and deattachment of services
- A number of basic services like logging, http, device drivers, configuration management, preferences, user admin, wiring etc.
- How to make it secure
-
Huh?
What about these? It reads:
OSGi Based Products
A listing of products that use OSGi technology
4DAgent
Acunia, Embedded Solutions XINGU Product Offering
Aleato
Amino
Atinav aveLink
Bluelabs ... -
Don't think so...
Hmm. Rebooting nowadays with 'traditional' OSes is to flush inappropriate state information out of the memory - an unusual sequence of events resulting in the system getting into a state it should never be in during regular operation....this might be either accidental (a crash) or semi-deliberate (an upgrade of a software component which needs a reboot to get it co-ordinated with the rest of the system). Having memory which maintains this state information will make the problem worse, not better!
What's needed here to achieve systems that don't need rebooting is operating systems which deal with all of these unusual events and states correctly..this means they'll catch errors and will be specifically designed to allow things like dynamic update to system compoents. I'm probably a bit biased but the best example a no-more-reboots kind of environment I see today is the OSGi. -
Re:Internet Outlet
OSGi (Open Services Gateway Initiative) is an organization that aims to form a standard on how to program the smart box (service gateway) which should be the intelligent hub that connects every device in the house, car, boat etc. OSGi has an impressive list of members, presently more than 80, with device manufacturers such as Sony and Philips; phone manufacturers such as Motorola, Nokia, and Ericsson; PTT's such as Deutsche Telekom, Telia etc. Basically it seems to be everyone but M$ (isn't this something familiar).
OSGi has standardized a Java programming environment which should allow programs from different vendors to coexist. It should support lots of different network technology, e.g. X10, LonWorks, HAVi, Bluetooth and device technology such as Jini and UPnP etc. So it should be able to connect everything in the home.
It's possible to download a start kit from Gatespace and test it. There isn't that much voodoo, it's mostly plain Java with some interfaces you have to implement (there is no main). Code from different vendors are loaded from different class loaders to avoid name space collisions.
A Service Gateway is probably not a PC which the ordinary user has to reinstall and reboot; it's a friendly device which my mother could use. It's possible that I subscribe to the service and that it is my phone, electricity, or cable TV company that really administrate it. Of course it is always on and let's me control my home from the internet (e.g. when I forget to program the video).