Hi All,


With MB4 development, we are  currently developing REST services to support
all MB admin services.
The REST services will built on top of org.wso2.msf4j.feature. The REST
service component will reside alongside with the broker in the broker
bundle. So the rest services will be up when EI broker profile is running.

The main resources in MB are the queues, topics, subscriptions and dlc. All
these resources will be exposed through the REST services.
The UI/ CLI for MB will be able to use the REST services when managing MB
resources.So far the security aspect(authorization/authentication) of these
service are to be decided.

Features Currently Implemented :

   1.

   Get messages with/without content in dlc specific to queue
   2.

   Reroute/restore specified messages from dlc to another queue/ original
   queue
   3.

   Reroute/restore all messages from dlc to another queue
   4.

   Get total count of messages in the dlc/under specific queue
   5.

   Get Clustering information of the broker.
   6.

   Get all the destinations that belongs to a destination type.
   7.

   Create/Delete/ a destination.
   8.

   Get details of a destination
   9.

   Purge a queue


The proposed URLs for the REST services are available at [1] .



[1]
https://docs.google.com/a/wso2.com/spreadsheets/d/1zWFbkyezo30Rn63QroEf4uc0imlqaEKSj6I_F3buv9g/edit?usp=sharing



When handling a request we need to handle two types of errors those are
standard errors such as destination not found exception and application
level exceptions (for mb andes exception). To handle those two types of
errors we have used two different approaches. To handle application level
exceptions we have created a exception class named InternalServerException
and  when application level exception is thrown while handling request we
would catch the application exception and throw InternalServerException
with specific message and it will be send as response using  exception
mapper. The standard errors also will be handled in same manner but with
different exception classes. Also we are going to validate the request
parameters as well.


Concerns :
1. The naming convention for the URLs ?

For an example shall we use
/dlc/{dlc-queue-name}/queue-name/{queue-name} or

/dlc/{dlc-queue-name}/{queue-name} or shall we give

{queue-name} as query parameter

Feedback is appreciated.

Thanks,
-- 
Malaka.
-- 
Malaka Gangananda - Software Engineer | WSO2
Email : [email protected]
Mobile : +94713564340
Web : http://wso2.com
  <http://wso2.com/signature>
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to