Good question Chris,

We use messaging as the backbone of Stratos 4 architecture and most of the
components become plugable with that.
Json is the message type that is agreed to send over message broker. So I
think having the knowledge about the Json message formats and the topics
that are listened by LB solves the issue.

I do not find anyway to examine LB and get those information. Someone got
to know those from Stratos community/ documents etc. if he/she need them.

Thanks.


On Thu, Dec 5, 2013 at 2:36 AM, chris snow <[email protected]> wrote:

> Hi Imesh,
>
> Messaging is how other components communicate with LB, so I'm thinking
> that messaging is the transport, and the objects sent in the messages
> represent the API.
>
> A tester who would want to test the LB as a black box would be interested
> in the API as that represents the external behaviour of the LB.
>
> In a soap based component, the API is easy to find because it is
> documented by the wsdl.  However, in a component like LB that uses
> messaging and not soap, how would someone determine the API?
>
> Does my question make any more sense now?
>
> Many thanks,
>
> Chris
>  Hi Chris,
>
> I'm sorry for the confusion.
> Actually the load balancer does not expose a service. It communicates with
> the other components via the message broker.
>
> The standard is to implement service stubs for each service in place them
> in incubator-stratos/service-stubs/. There we could find the WSDL of each
> service. However please note that at the moment we may have number of
> un-used service stubs in this folder.
>
> Thanks
> Imesh
>
>
>
>
> On Tue, Dec 3, 2013 at 2:57 PM, Udara Liyanage <[email protected]> wrote:
>
>> Hi chris,
>>
>> If it is a web service there is a wsdl for the service. By looking at the
>> WSDl you can view the exposed methods, the input needed and the output
>> returned from them.
>>
>> For example Cloud Controller has exposed a API called
>> CloudControllerService. You can find the related WSDL at the following
>> folder.
>> [stratos]/service-stubs/org.apache.stratos.cloud.controller.service.stub
>>
>>
>>
>> On Tue, Dec 3, 2013 at 2:03 AM, chris snow <[email protected]> wrote:
>>
>>> Hi Imesh,
>>>
>>> Sorry, the question was:  "how can a developer/tester/architect examine
>>> the external API that is exposed by the LB (and other Stratos
>>> components)?".
>>>
>>>  A software tester would want to view the API so that they can
>>> determine how they will test the component through that API.
>>> An architect would want to view the API so that they can understand the
>>> services exposed by the component without looking through the code base.
>>>
>>> The API for a stratos component is the list of messages that it
>>> supports.  How can an architect or tester find a list of messages that each
>>> Stratos component supports?
>>>
>>> Many thanks,
>>>
>>> Chris
>>>
>>>
>>>
>>>
>>>
>>> On Tue, Dec 3, 2013 at 1:52 AM, Imesh Gunaratne <[email protected]>wrote:
>>>
>>>> Hi Chris,
>>>>
>>>> There was no requirement to expose a SOAP/REST API in the load
>>>> balancer. Therefore there is no WSDL/WADL added.
>>>>
>>>> BTW if your requirement is to examine the behaviour
>>>> of TopologyEventProcessorChain it shouldn't be that difficult. Basically
>>>> each processor corresponds to its event, if it didn't find the required
>>>> event it will pass the call to the next processor. Once it finds the
>>>> matching event it will build the Topology in Topology Manager and fire the
>>>> matching event listener.
>>>>
>>>> Thanks
>>>> Imesh
>>>>
>>>>
>>>> On Tue, Dec 3, 2013 at 3:31 AM, chris snow <[email protected]> wrote:
>>>>
>>>>> In the case of the LB MessageProcessorChain, the following processors
>>>>> have been added to the list:
>>>>>
>>>>> org.apache.stratos.messaging.message.processor.topology.ServiceCreatedEventProcessor
>>>>> org.apache.stratos.messaging.message.processor.topology.ServiceRemovedEventProcessor
>>>>> org.apache.stratos.messaging.message.processor.topology.ClusterCreatedEventProcessor
>>>>> org.apache.stratos.messaging.message.processor.topology.ClusterRemovedEventProcessor
>>>>> org.apache.stratos.messaging.message.processor.topology.InstanceSpawnedEventProcessor
>>>>> org.apache.stratos.messaging.message.processor.topology.MemberStartedEventProcessor
>>>>> org.apache.stratos.messaging.message.processor.topology.MemberActivatedEventProcessor
>>>>> org.apache.stratos.messaging.message.processor.topology.MemberSuspendedEventProcessor
>>>>> org.apache.stratos.messaging.message.processor.topology.MemberTerminatedEventProcessor
>>>>> org.apache.stratos.messaging.message.processor.topology.CompleteTopologyEventIgnoreProcessor
>>>>>
>>>>> In a component that exposes a SOAP/REST API, I would look at the
>>>>> WSDL/WADL to examine the API.  As a WSDL/WADL aren't available for the LB
>>>>> component, how can I examine the API without having to run the code and
>>>>> inspect the MessageProcessorChain?
>>>>>
>>>>> Many thanks,
>>>>>
>>>>> Chris
>>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Check out my professional profile and connect with me on LinkedIn.
>>> http://lnkd.in/cw5k69
>>>
>>
>>
>>
>> --
>> Udara Liyanage
>> Software Engineer
>>  WSO2, Inc.: http://wso2.com
>> lean. enterprise. middleware
>>
>> web: http://udaraliyanage.wordpress.com
>> phone: +94 71 443 6897
>>
>
>


-- 
--
Lahiru Sandaruwan
Software Engineer,
Platform Technologies,
WSO2 Inc., http://wso2.com
lean.enterprise.middleware

email: [email protected] cell: (+94) 773 325 954
blog: http://lahiruwrites.blogspot.com/
twitter: http://twitter.com/lahirus
linked-in: http://lk.linkedin.com/pub/lahiru-sandaruwan/16/153/146

Reply via email to