Available Generic Clients for Testing Services

asked 2015-11-09 09:56:18 -0700

EricC gravatar image


I was wondering if there are any AllJoyn client applications available that I can use to test the AllJoyn services I create. Obviously I can write test clients myself, but I will obviously already know what my services do, and I want to test out their ability to be connected to, authenticated, and interacted with dynamically and without any knowledge of the service beforehand (as an IoT device would be expected to do).

Basically this client would find my interface names and AboutData, connect and authenticate using this, and possibly make method calls on and receive signals offered by the interfaces.

Does a good dynamic client exist for this purpose? I have re-worded my web search terms in as many ways as I can think of and unfortunately haven't found anything useful.

Thanks, Eric

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2015-11-09 12:26:43 -0700

praveenb gravatar image

For applications that implement standard interfaces viz. org.alljoyn.About or other standard Base Services interfaces, client applications are indeed available. You should be able to find them here:

  • AboutListener is an application that listens to About announcements and fetches AboutData from other peers.
  • Base Services project has samples that implement the client side of things.

In AllJoyn, both ends authenticate one another. Needless to add, in such scenarios, it is not possible to have generic client application that can authenticate with any application (except when using ECDHE_NULL authentication mechanism).

Even though AllJoyn provides a way to introspect the remote peer (and get its object hierarchy, corresponding interfaces and members implemented), it is difficult to have generic clients that can dynamically make method calls or receive signals. This is because the member signatures (a signature describes the sequence of various data pieces and their types) are up to the designer of application interfaces.

Having said that, AllJoyn Core has a feature termed as Events & Actions that makes it easier for generic clients to interact dynamically. Applications written using E&A have simple members (methods, signals and properties) without any signatures, that make it easy for generic clients to interact with them. You can find related samples here.

As a side note, AllJoyn Core is a peer-to-peer messaging framework that doesn't distinguish between services / clients at the framework or protocol level. The distinction comes from the application design.

edit flag offensive delete publish link more
Login/Signup to Answer

Question Tools

1 follower


Asked: 2015-11-09 09:56:18 -0700

Seen: 93 times

Last updated: Nov 09 '15