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
