Writing external component--cannot determine how to connect

Greetings.

I am attempting to write an external component for Wildfire, using the Wildfire API, but I am afraid I’'m at a loss as to how to actually create a connection to the server.

I have an internal (plugin) component that works just fine, and I’‘m trying to move it to be an external one (it will likely need to reside on a separate server, and almost certainly in a separate JVM); however, I can’'t seem to find the right part of the API for connecting to the server from outside…

Am I going about this completely wrong, or just missing something?

Thank you very much.

Timothy Collett

Hey Timothy,

Wildfire does not provide an API or an external component container to run external components. However, Wildfire uses Whack’‘s API to define (internal) components. Moreover, Whack also provides an external component container where components can run and connect to Wildfire or any other XMPP server. You can download Whack’'s source code and check the sample folder that includes a Weather component that connects to Wildfire to provide weather information.

Having said that, you should know that Whack’'s component API can be considered matured enough to be used for production. However, the external component container even though it works fine it is not ready for prime time. Things that are pending to consider it ready to make it public are:

  1. Finish admin console and implement a user provider that will basically contain the admins or users allowed to connect to the admin console.

  2. Create ant scripts to create user friendly installers.

  3. Probably some other minor stuffs.

Let us know if you are willing/able to finish any of the above tasks.

Regards,

– Gato

OK, thanks. I’‘ll take a look at Whack. I don’‘t know that I’'m up to trying to actually extend it…but I can at least try to find where specific bugs are

Timothy Collett

Hey Timothy,

One important thing I forgot to mention in my previous post is that components written using the Whack’‘s component API can be run as internal components or external components. That’'s a very important characteristic since you can easily move your internal component to run as an external component if you server is having high load and you want to distribute the component work to another machine. The only consideration you have to take while developing your component as an internal component is to avoid using Wildfire internal API.

Regards,

– Gato