Ajith,

Good stuff. Let's start with implementing this and see what else crops up :) 

thanks,
dims

On 9/12/05, Ajith Ranabahu <[EMAIL PROTECTED]> wrote:
> Hi all,
>  We had some discussions among ourselves about the Service groups (refer the
> IRC chat on 31st of August) and came up with some suggesions. Following is a
> brief account of what was discussed and how we sought out possible solution.
>  For the folks who are not familiar with the whole business of service
> groups, the idea is to deploy a group of services at once (The current
> implementation allows the deploying of single services only.). Refer to the
> chat log at
> http://marc.theaimsgroup.com/?l=axis-dev&m=112549326807148&w=2
> for more information on what was mentioned at the initial discussion) 
>  
>  Ok. Back to the original discussion. These are the things that seems to be 
> needed.
>  
>  * Introduce a new description and a context. It was decided to call this
> "ServiceGroup" (context/ description) [Hopefully I'm not starting another
> naming war here :)] to avoid confusion. These will lie in between the
> Service  and  Configuration in the respective hierarchies. The archive will
> have either a service descriptor xml with a single service description or a
> group description xml with multiple service descriptions. (Again the  naming
> of the descriptor files is open to discussion. I guess the names service.xml
> and serviceGroup.xml would be fine for now)
>  
>  * With the introduction of service groups springs up some issues that
> requires us to look back (perhaps redefine some of the concepts). 
>  
>       * How to keep the consistancy? User can deploy services and service
> groups in a mix !
>         The solution to this would be to introduce a default service group
> per service. So logically all services will live in a service group. The
> settled way is to have a service group with the name of the service and
> attach the service as anonymous to that group.
>  
>       * Should the group concept be visible to the outside ?
>         No. Even if the services live in groups, groups are not visible to
> the outside world and the services are accessible directly without    going
> through the group. However the service authors have the flexibility to use
> service names in the scope of service groups (i.e. service names need only
> be unique within a service group) so to avoid confusion, the name of the
> service for the outside world will be service group name : service name. For
> a service group containing a single service, just the group name would
> suffice.
>  
>       * How to dispatch the services ? Now there is a service group to be
> identified !
>         Actually Service group makes it easier to identify the services.
> Find the service group and the search is narrowed!  For the URL based
> dispatcher the modified service name will do. However when addressing is
> present, a reference property will be the right way to enforce it. The
> suggested name of the reference property is "axis2:serviceGroupContextId".
>  
>  Again the discussion of these contexts leads to a rethinking of the
> lifetimes of the contexts. For now these are the suggested life times for
> the contexts.
>   OperationContext - For an operation instance. The operation context should
> terminate when the last message relating to it's MEP is sent/received.
>   ServiceContext - For a service instance. A service instantiates when a
> call comes to one of it's operations. It is possible to have multiple
> service conetexts  lying around (probably per user)
>  ServiceGroup - This is the tricky one. This should be in scope across
> services hence it's more in the scope of a session! For the Http case it can
> directly be mapped to the http session. 
>  
>  That should be enough for the concepts :) Thoughts anyone ?
>                                                            
>                                           
>                  
>  
> -- 
> Ajith Ranabahu 


-- 
Davanum Srinivas : http://wso2.com/ - Oxygenating The Web Service Platform

Reply via email to