Login   I   Sitemap   I   Contact Us   I   Sales: (US) 1-866-468-5210   (EU) +49-711-67400677
Intland Software - Collaboration Begins Here
Download or Try the fully functional version of codeBeamer. It's free, simple and secure.
codeBeamer is the award winning Collaborative Application Lifecycle Management (ALM) solution for distributed software development.
Project management, wiki, document management, issue tracking, ITIL, continuous integration, version control, source code analysis and forums.

Links

Feeds

Editor Menu

Enterprise messaging with codeBeamer

codeBeamer has a long history of providing extension- and customization points, most importantly a web service based Remote API and a Listener API. Reactions from the developer community have always been very positive, but a question we regular hear from them is: "Look, I want to listen to codeBeamer events. I know this is perfectly possible in the same JVM where CB runs, but now I need to do this in an external application. How can I receive notifications in external applications?"

Well, until now, this was not possible: events were not published outside CB's own JVM.

To satisfy this popular request, recently we developed a Java Message Service (JMS) publisher component. After you have configured and activated the JMS publisher, CodeBeamer will send a standard JMS message to a configurable topic each time an internal event is fired. External applications can subscribe to these topics, and then they will get notified about every interesting event. Please note that this pub-sub model and messaging in general are standard and proven techniques in Enterprise Application Integration. Just Google it for more information.

Internal events that are published as JSM messages include:

  • wiki pages: created, updated or read
  • issues: submitted, edited or commented
  • documents: uploaded, edited or opened
  • forum posts: submitted or edited
...and so on. You can learn more about the supported events in the developer documentation.

Comparison between the Listener API and the new messaging based approach:
MessagingUsing the Listener API
CouplingLouse.Tight.
JVMCB and the listener can run in separete JVMs.CB and the listener must run in the same JVM.
Development EaseMake sure your Message Provider is up and running. Configure CB to be able to publish to it. Configure your app to subscribe it. Afterwards, you don't have to touch CB anymore, you can focus on your app.Implement the interfaces, deploy the implementation classes to the classpath, and restart CB or configure auto-reload to pick up your changes every time.
DeploymentAny time. This is completely transparent for CB.CB (and its JVM) must be restarted. Alternatively, classes can be auto-reloaded, but this is discouraged for production systems.
Stability & ScalabilityExternal apps run in their own JVM. They can perform expensive operations, consume any resources, or crash, and CB is not affected.Expensive operations or a large number of listeners can slow CB down. Internal listeners are inherently synchronous.

We believe this can open up a myriad of great opportunities for integration. You can start developing desktop apps, realtime apps, and start to solve any kind of event driven integration problems now.

Comments:

Post a Comment:
Comments are closed for this entry.