Bnd file formatThe bnd format is very similar to the manifest. Though it is read with the Properties class, you can actually use the ‘:’ as separator to make it look more like a manifest file. The only thing you should be aware of is that the line contination method of the Manifest (a space as the first character on the line) is not supported. Line continuations are indicated with the backslash (’\’ \u005C) as the last character of the line. Lines may have any length. White spaces around the key and value are trimmed. See Properties for more information about the format.
SPAR - Rich Client ProjectSPAR was developed as the platform for Imagery an Java swing image management application. It was released as open source after Jasper Potts’s Java One 2007 technical session on “Why Spaghetti is not Tasty - Architecting Large Scale Applications”. The session covered Rich Client Platforms in general and the problems involved in developing large scale swing applications. For the session slides and project updates keep an on Jasper Potts’s Blog.
Enterprise Java Community: OSGi for Beginners
The Seven-Word and Twenty-Four-Second explanations of OSGiOSGi is a component framework for Java.
The twenty-four second explanation: OSGi is a framework for Java in which units of resources called bundles can be installed. Bundles can export services or run processes, and have their dependencies managed, such that a bundle can be expected to have its requirements managed by the container. Each bundle can also have its own internal classpath, so that it can serve as an independent unit, should that be desireable. All of this is standardized such that any valid OSGi bundle can theoretically be installed in any valid OSGi container.
Rats. Twenty-seven seconds, no matter how fast I run through - I just can’t talk quickly enough. What’s worse, the explanation doesn’t explain why one wants a module system in the first place.
Why a Module System?Module systems provide version support for distributed bundles (where “bundle” goes way beyond “OSGi bundle” - I’m using the term to refer to any application.) Dependency hell is also an issue; lifecycle is … interesting.
All of these things are important; versioning still hasn’t made it into web services, EJB versioning is enforced via JNDI, but few use it (nobody in the wild that I know of), jar dependencies are managed normally with parallel jar deployments (except for JCA and WARs, both of which have different ways of managing dependencies).
Java EE has solutions, although not necessarily good ones: WARs and JCA can contain jar files, EJB jars can refer to other jar files through their manifests, and of course app servers can provide a higher-level class repository; versioning is provided through JNDI as long as you’re not using different versions of the same web app or web services. Lifecycle exists for webapps (load-on-startup servlets, context listeners) and JCA, but EJB 3.1 might have a lifecycle mechanism - it’s not sure yet.
And we all know that Java EE is a hammer that fits everything.
OSGi and JSR-277 are attempts to standardize module deployments for Java, without forcing a Java EE mindset, and without Java EE’s weaknesses regarding dependencies and versioning and - for that matter - lifecycle. Since this is an OSGi article and not a module article, we’ll focus on OSGi…
Neil’s point-free blog » Getting Started with OSGi
OSGi at JSig
OSGi at JSigOn February 15th 2007, Neil Bartlett and Alex Blewitt gave a demonstration to JSig on the benefits of the OSGi platform for dynamic Java applications. The presentation discussed:
* What is OSGi and what does it solve?
* What are OSGi bundles?
* How can you install, start, stop and reinstall a bundle?
* Using OSGi services for dynamic Swing applications
* Versioned bundles and side-by-side demonstration using FOP
InfoQ: Interview: OSGi & Spring In-depth with Adrian Colyer
OSGi is going to change the deployment and run time model for
enterprise applications, according to Adrian Colyer in an InfoQ video
interview. Adrian goes in-depth on OSGi, its uses, future impact on
the industry, and how Spring will make development with OSGi easier (Spring OSGi m1 was recently released). Adrian talks about how OSGi may change the definition of an application server and JSR 277 vs. OSGi.
Watch OSGi & Spring with Adrian Colyer (29 min)
Using Apache Felix: OSGi best practices
Format de Fişier: PDF/Adobe Acrobat - Afişare ca HTML
embed something else in OSGi. OSGi itself can be embedded in other containers. For an open source desktop. application I have created a Java Web Start …
felix.apache.org/site/presentations.data/best-practices-apachecon-20060628.pdf - Pagini similare
Raible Designs | [TSE] Spring-OSGI with Adrian Colyer
Agenda
OSGi stands for Open Services Gateway initiative. From the very beginning, it was designed to be lightweight and dynamic. This is the major difference between it and other containers. It’s always been designed to have things added and removed. Now it’s tagline
is: “The Dynamic Module System for Java”.
…
Who’s doing OSGi containers?
Spring Dynamic Modules for OSGi(tm) Service Platforms | Springframework.org
The Spring Dynamic Modules for OSGi(tm) Service Platforms project makes
it easy to build Spring applications that run in an OSGi framework. A
Spring application written in this way provides better separation of
modules, the ability to dynamically add, remove, and update modules in
a running system, the ability to deploy multiple versions of a module
simultaneously (and have clients automatically bind to the appropriate
one), and a dynamic service model.